diff --git a/ntlm/ntlmv2.go b/ntlm/ntlmv2.go index d4820e8..899abe1 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, sChallenge string) (err error) { +func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (err error) { n.authenticateMessage = am n.NegotiateFlags = am.NegotiateFlags n.clientChallenge = am.ClientChallenge() @@ -246,15 +246,16 @@ func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage, sC return err } + hexServerChallenge := hex.EncodeToString(n.challengeMessage.ServerChallenge) hexNTLMClienteChallenge := hex.EncodeToString(am.NtlmV2Response.Response) hexClientChallenge := hex.EncodeToString(n.clientChallenge) - log.Printf("DEBUG: challenge Server: %s\n", sChallenge) + log.Printf("DEBUG: challenge Server: %s\n", hexServerChallenge) 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="+sChallenge, "--nt-response="+(hexNTLMClienteChallenge+hexClientChallenge)) + cmd := exec.Command("/usr/local/bin/ntlm_auth", "--domain="+n.userDomain, "--username="+n.user, "--challenge="+hexServerChallenge, "--nt-response="+(hexNTLMClienteChallenge+hexClientChallenge)) output, err := cmd.CombinedOutput() if err != nil { fmt.Printf("Failed to execute command: %s\n", err)