tenta passar server challenge como argumento

This commit is contained in:
Luiz Costa 2023-10-23 00:09:18 +01:00
parent 8736b8b2d2
commit 60281e7e52

View File

@ -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)