From 60281e7e524632eb4db96706cd5c024df85c2b5c Mon Sep 17 00:00:00 2001 From: Luiz Costa Date: Mon, 23 Oct 2023 00:09:18 +0100 Subject: [PATCH] tenta passar server challenge como argumento --- ntlm/ntlmv2.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ntlm/ntlmv2.go b/ntlm/ntlmv2.go index ec5d753..d4820e8 100644 --- a/ntlm/ntlmv2.go +++ b/ntlm/ntlmv2.go @@ -221,7 +221,7 @@ func authLdap(username, password string) (bool, error) { return true, nil } -func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (err error) { +func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage, sChallenge string) (err error) { n.authenticateMessage = am n.NegotiateFlags = am.NegotiateFlags n.clientChallenge = am.ClientChallenge() @@ -246,18 +246,15 @@ func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (e return err } - log.Printf("DEBUG: Estrutura da session: %v\n", am) - - hexServerChallenge := string(n.GetSessionData().challengeMessage.ServerChallenge) hexNTLMClienteChallenge := hex.EncodeToString(am.NtlmV2Response.Response) hexClientChallenge := hex.EncodeToString(n.clientChallenge) - log.Printf("DEBUG: challenge Server: %s\n", hexServerChallenge) + log.Printf("DEBUG: challenge Server: %s\n", sChallenge) log.Printf("DEBUG: ntChallengeResponse: %s\n", hexNTLMClienteChallenge) log.Printf("DEBUG: ClientChallenge: %s\n", hexClientChallenge) // Execute ntlm_auth to check user auth - cmd := exec.Command("/usr/local/bin/ntlm_auth", "--domain="+n.userDomain, "--username="+n.user, "--challenge="+hexServerChallenge, "--nt-response="+(hexNTLMClienteChallenge+hexClientChallenge)) + cmd := exec.Command("/usr/local/bin/ntlm_auth", "--domain="+n.userDomain, "--username="+n.user, "--challenge="+sChallenge, "--nt-response="+(hexNTLMClienteChallenge+hexClientChallenge)) output, err := cmd.CombinedOutput() if err != nil { fmt.Printf("Failed to execute command: %s\n", err)