rename Authenticate/Challenge/Negotiate to *Message
This commit is contained in:
		
							parent
							
								
									af256c1a87
								
							
						
					
					
						commit
						6783d408ba
					
				| @ -10,7 +10,7 @@ import ( | ||||
| 	"fmt" | ||||
| ) | ||||
| 
 | ||||
| type Authenticate struct { | ||||
| type AuthenticateMessage struct { | ||||
| 	// sig - 8 bytes | ||||
| 	Signature []byte | ||||
| 	// message type - 4 bytes | ||||
| @ -53,8 +53,8 @@ type Authenticate struct { | ||||
| 	Payload []byte | ||||
| } | ||||
| 
 | ||||
| func ParseAuthenticateMessage(body []byte, ntlmVersion int) (*Authenticate, error) { | ||||
| 	am := new(Authenticate) | ||||
| func ParseAuthenticateMessage(body []byte, ntlmVersion int) (*AuthenticateMessage, error) { | ||||
| 	am := new(AuthenticateMessage) | ||||
| 
 | ||||
| 	am.Signature = body[0:8] | ||||
| 	if !bytes.Equal(am.Signature, []byte("NTLMSSP\x00")) { | ||||
| @ -155,7 +155,7 @@ func ParseAuthenticateMessage(body []byte, ntlmVersion int) (*Authenticate, erro | ||||
| 	return am, nil | ||||
| } | ||||
| 
 | ||||
| func (a *Authenticate) ClientChallenge() (response []byte) { | ||||
| func (a *AuthenticateMessage) ClientChallenge() (response []byte) { | ||||
| 	if a.NtlmV2Response != nil { | ||||
| 		response = a.NtlmV2Response.NtlmV2ClientChallenge.ChallengeFromClient | ||||
| 	} else if a.NtlmV1Response != nil && NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY.IsSet(a.NegotiateFlags) { | ||||
| @ -165,7 +165,7 @@ func (a *Authenticate) ClientChallenge() (response []byte) { | ||||
| 	return response | ||||
| } | ||||
| 
 | ||||
| func (a *Authenticate) getLowestPayloadOffset() int { | ||||
| func (a *AuthenticateMessage) getLowestPayloadOffset() int { | ||||
| 	payloadStructs := [...]*PayloadStruct{a.LmChallengeResponse, a.NtChallengeResponseFields, a.DomainName, a.UserName, a.Workstation, a.EncryptedRandomSessionKey} | ||||
| 
 | ||||
| 	// Find the lowest offset value | ||||
| @ -180,7 +180,7 @@ func (a *Authenticate) getLowestPayloadOffset() int { | ||||
| 	return lowest | ||||
| } | ||||
| 
 | ||||
| func (a *Authenticate) Bytes() []byte { | ||||
| func (a *AuthenticateMessage) Bytes() []byte { | ||||
| 	payloadLen := int(a.LmChallengeResponse.Len + a.NtChallengeResponseFields.Len + a.DomainName.Len + a.UserName.Len + a.Workstation.Len + a.EncryptedRandomSessionKey.Len) | ||||
| 	messageLen := 8 + 4 + 6*8 + 4 + 8 + 16 | ||||
| 	payloadOffset := uint32(messageLen) | ||||
| @ -241,7 +241,7 @@ func (a *Authenticate) Bytes() []byte { | ||||
| 	return buffer.Bytes() | ||||
| } | ||||
| 
 | ||||
| func (a *Authenticate) String() string { | ||||
| func (a *AuthenticateMessage) String() string { | ||||
| 	var buffer bytes.Buffer | ||||
| 
 | ||||
| 	buffer.WriteString("Authenticate NTLM Message\n") | ||||
|  | ||||
| @ -10,7 +10,7 @@ import ( | ||||
| 	"fmt" | ||||
| ) | ||||
| 
 | ||||
| type Challenge struct { | ||||
| type ChallengeMessage struct { | ||||
| 	// sig - 8 bytes | ||||
| 	Signature []byte | ||||
| 	// message type - 4 bytes | ||||
| @ -53,8 +53,8 @@ type Challenge struct { | ||||
| 	Payload []byte | ||||
| } | ||||
| 
 | ||||
| func ParseChallengeMessage(body []byte) (*Challenge, error) { | ||||
| 	challenge := new(Challenge) | ||||
| func ParseChallengeMessage(body []byte) (*ChallengeMessage, error) { | ||||
| 	challenge := new(ChallengeMessage) | ||||
| 
 | ||||
| 	challenge.Signature = body[0:8] | ||||
| 	if !bytes.Equal(challenge.Signature, []byte("NTLMSSP\x00")) { | ||||
| @ -101,7 +101,7 @@ func ParseChallengeMessage(body []byte) (*Challenge, error) { | ||||
| 	return challenge, nil | ||||
| } | ||||
| 
 | ||||
| func (c *Challenge) Bytes() []byte { | ||||
| func (c *ChallengeMessage) Bytes() []byte { | ||||
| 	payloadLen := int(c.TargetName.Len + c.TargetInfoPayloadStruct.Len) | ||||
| 	messageLen := 8 + 4 + 8 + 4 + 8 + 8 + 8 + 8 | ||||
| 	payloadOffset := uint32(messageLen) | ||||
| @ -137,7 +137,7 @@ func (c *Challenge) Bytes() []byte { | ||||
| 	return buffer.Bytes() | ||||
| } | ||||
| 
 | ||||
| func (c *Challenge) getLowestPayloadOffset() int { | ||||
| func (c *ChallengeMessage) getLowestPayloadOffset() int { | ||||
| 	payloadStructs := [...]*PayloadStruct{c.TargetName, c.TargetInfoPayloadStruct} | ||||
| 
 | ||||
| 	// Find the lowest offset value | ||||
| @ -152,7 +152,7 @@ func (c *Challenge) getLowestPayloadOffset() int { | ||||
| 	return lowest | ||||
| } | ||||
| 
 | ||||
| func (c *Challenge) String() string { | ||||
| func (c *ChallengeMessage) String() string { | ||||
| 	var buffer bytes.Buffer | ||||
| 
 | ||||
| 	buffer.WriteString("Challenge NTLM Message") | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
| package ntlm | ||||
| 
 | ||||
| type Negotiate struct { | ||||
| type NegotiateMessage struct { | ||||
| 	// All bytes of the message | ||||
| 	Bytes []byte | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										18
									
								
								ntlm/ntlm.go
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								ntlm/ntlm.go
									
									
									
									
									
								
							| @ -43,9 +43,9 @@ type ClientSession interface { | ||||
| 	SetUserInfo(username string, password string, domain string) | ||||
| 	SetMode(mode Mode) | ||||
| 
 | ||||
| 	GenerateNegotiateMessage() (*Negotiate, error) | ||||
| 	ProcessChallengeMessage(*Challenge) error | ||||
| 	GenerateAuthenticateMessage() (*Authenticate, error) | ||||
| 	GenerateNegotiateMessage() (*NegotiateMessage, error) | ||||
| 	ProcessChallengeMessage(*ChallengeMessage) error | ||||
| 	GenerateAuthenticateMessage() (*AuthenticateMessage, error) | ||||
| 
 | ||||
| 	Seal(message []byte) ([]byte, error) | ||||
| 	Sign(message []byte) ([]byte, error) | ||||
| @ -77,9 +77,9 @@ type ServerSession interface { | ||||
| 	SetMode(mode Mode) | ||||
| 	SetServerChallenge(challege []byte) | ||||
| 
 | ||||
| 	ProcessNegotiateMessage(*Negotiate) error | ||||
| 	GenerateChallengeMessage() (*Challenge, error) | ||||
| 	ProcessAuthenticateMessage(*Authenticate) error | ||||
| 	ProcessNegotiateMessage(*NegotiateMessage) error | ||||
| 	GenerateChallengeMessage() (*ChallengeMessage, error) | ||||
| 	ProcessAuthenticateMessage(*AuthenticateMessage) error | ||||
| 
 | ||||
| 	GetSessionData() *SessionData | ||||
| 
 | ||||
| @ -100,9 +100,9 @@ type SessionData struct { | ||||
| 
 | ||||
| 	NegotiateFlags uint32 | ||||
| 
 | ||||
| 	negotiateMessage    *Negotiate | ||||
| 	challengeMessage    *Challenge | ||||
| 	authenticateMessage *Authenticate | ||||
| 	negotiateMessage    *NegotiateMessage | ||||
| 	challengeMessage    *ChallengeMessage | ||||
| 	authenticateMessage *AuthenticateMessage | ||||
| 
 | ||||
| 	serverChallenge     []byte | ||||
| 	clientChallenge     []byte | ||||
|  | ||||
| @ -154,12 +154,12 @@ type V1ServerSession struct { | ||||
| 	V1Session | ||||
| } | ||||
| 
 | ||||
| func (n *V1ServerSession) ProcessNegotiateMessage(nm *Negotiate) (err error) { | ||||
| func (n *V1ServerSession) ProcessNegotiateMessage(nm *NegotiateMessage) (err error) { | ||||
| 	n.negotiateMessage = nm | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| func (n *V1ServerSession) GenerateChallengeMessage() (cm *Challenge, err error) { | ||||
| func (n *V1ServerSession) GenerateChallengeMessage() (cm *ChallengeMessage, err error) { | ||||
| 	// TODO: Generate this challenge message | ||||
| 	return | ||||
| } | ||||
| @ -172,7 +172,7 @@ func (n *V1ServerSession) GetSessionData() *SessionData { | ||||
| 	return &n.SessionData | ||||
| } | ||||
| 
 | ||||
| func (n *V1ServerSession) ProcessAuthenticateMessage(am *Authenticate) (err error) { | ||||
| func (n *V1ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (err error) { | ||||
| 	n.authenticateMessage = am | ||||
| 	n.NegotiateFlags = am.NegotiateFlags | ||||
| 	n.clientChallenge = am.ClientChallenge() | ||||
| @ -262,11 +262,11 @@ type V1ClientSession struct { | ||||
| 	V1Session | ||||
| } | ||||
| 
 | ||||
| func (n *V1ClientSession) GenerateNegotiateMessage() (nm *Negotiate, err error) { | ||||
| func (n *V1ClientSession) GenerateNegotiateMessage() (nm *NegotiateMessage, err error) { | ||||
| 	return nil, nil | ||||
| } | ||||
| 
 | ||||
| func (n *V1ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) { | ||||
| func (n *V1ClientSession) ProcessChallengeMessage(cm *ChallengeMessage) (err error) { | ||||
| 	n.challengeMessage = cm | ||||
| 	n.serverChallenge = cm.ServerChallenge | ||||
| 	n.clientChallenge = randomBytes(8) | ||||
| @ -331,8 +331,8 @@ func (n *V1ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (n *V1ClientSession) GenerateAuthenticateMessage() (am *Authenticate, err error) { | ||||
| 	am = new(Authenticate) | ||||
| func (n *V1ClientSession) GenerateAuthenticateMessage() (am *AuthenticateMessage, err error) { | ||||
| 	am = new(AuthenticateMessage) | ||||
| 	am.Signature = []byte("NTLMSSP\x00") | ||||
| 	am.MessageType = uint32(3) | ||||
| 	am.LmChallengeResponse, _ = CreateBytePayload(n.lmChallengeResponse) | ||||
|  | ||||
| @ -149,13 +149,13 @@ func (n *V2ServerSession) SetServerChallenge(challenge []byte) { | ||||
| 	n.serverChallenge = challenge | ||||
| } | ||||
| 
 | ||||
| func (n *V2ServerSession) ProcessNegotiateMessage(nm *Negotiate) (err error) { | ||||
| func (n *V2ServerSession) ProcessNegotiateMessage(nm *NegotiateMessage) (err error) { | ||||
| 	n.negotiateMessage = nm | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| func (n *V2ServerSession) GenerateChallengeMessage() (cm *Challenge, err error) { | ||||
| 	cm = new(Challenge) | ||||
| func (n *V2ServerSession) GenerateChallengeMessage() (cm *ChallengeMessage, err error) { | ||||
| 	cm = new(ChallengeMessage) | ||||
| 	cm.Signature = []byte("NTLMSSP\x00") | ||||
| 	cm.MessageType = uint32(2) | ||||
| 	cm.TargetName, _ = CreateBytePayload(make([]byte, 0)) | ||||
| @ -195,7 +195,7 @@ func (n *V2ServerSession) GenerateChallengeMessage() (cm *Challenge, err error) | ||||
| 	return cm, nil | ||||
| } | ||||
| 
 | ||||
| func (n *V2ServerSession) ProcessAuthenticateMessage(am *Authenticate) (err error) { | ||||
| func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (err error) { | ||||
| 	n.authenticateMessage = am | ||||
| 	n.NegotiateFlags = am.NegotiateFlags | ||||
| 	n.clientChallenge = am.ClientChallenge() | ||||
| @ -279,11 +279,11 @@ type V2ClientSession struct { | ||||
| 	V2Session | ||||
| } | ||||
| 
 | ||||
| func (n *V2ClientSession) GenerateNegotiateMessage() (nm *Negotiate, err error) { | ||||
| func (n *V2ClientSession) GenerateNegotiateMessage() (nm *NegotiateMessage, err error) { | ||||
| 	return nil, nil | ||||
| } | ||||
| 
 | ||||
| func (n *V2ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) { | ||||
| func (n *V2ClientSession) ProcessChallengeMessage(cm *ChallengeMessage) (err error) { | ||||
| 	n.challengeMessage = cm | ||||
| 	n.serverChallenge = cm.ServerChallenge | ||||
| 	n.clientChallenge = randomBytes(8) | ||||
| @ -343,8 +343,8 @@ func (n *V2ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (n *V2ClientSession) GenerateAuthenticateMessage() (am *Authenticate, err error) { | ||||
| 	am = new(Authenticate) | ||||
| func (n *V2ClientSession) GenerateAuthenticateMessage() (am *AuthenticateMessage, err error) { | ||||
| 	am = new(AuthenticateMessage) | ||||
| 	am.Signature = []byte("NTLMSSP\x00") | ||||
| 	am.MessageType = uint32(3) | ||||
| 	am.LmChallengeResponse, _ = CreateBytePayload(n.lmChallengeResponse) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user