ntlm

package
v0.0.0-...-ffc8457 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2024 License: BSD-2-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NtLmNegotiate    = 0x00000001
	NtLmChallenge    = 0x00000002
	NtLmAuthenticate = 0x00000003
)
View Source
const (
	NtlmsspNegotiateUnicode = 1 << iota
	NtlmNegotiateOem
	NtlmsspRequestTarget

	NtlmsspNegotiateSign
	NtlmsspNegotiateSeal
	NtlmsspNegotiateDatagram
	NtlmsspNegotiateLmKey

	NtlmsspNegotiateNtlm

	NtlmsspAnonymous
	NtlmsspNegotiateOemDomainSupplied
	NtlmsspNegotiateOemWorkstationSupplied

	NtlmsspNegotiateAlwaysSign
	NtlmsspTargetTypeDomain
	NtlmsspTargetTypeServer

	NtlmsspNegotiateExtendedSessionsecurity
	NtlmsspNegotiateIdentify

	NtlmsspRequestNonNtSessionKey
	NtlmsspNegotiateTargetInfo

	NtlmsspNegotiateVersion

	NtlmsspNegotiate128
	NtlmsspNegotiateKeyExch
	NtlmsspNegotiate56
)
View Source
const (
	MsvAvEOL = iota
	MsvAvNbComputerName
	MsvAvNbDomainName
	MsvAvDnsComputerName
	MsvAvDnsDomainName
	MsvAvDnsTreeName
	MsvAvFlags
	MsvAvTimestamp
	MsvAvSingleHost
	MsvAvTargetName
	MsvAvChannelBindings
)
View Source
const (
	WindowsMajorVersion5  = 0x05
	WindowsMajorVersion6  = 0x06
	WindowsMajorVersion10 = 0x0a
)
View Source
const (
	WindowsMinorVersion0 = 0x00
	WindowsMinorVersion1 = 0x01
	WindowsMinorVersion2 = 0x02
	WindowsMinorVersion3 = 0x03
)
View Source
const (
	NtlmsspRevisionW2k3 = 0x0f
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	User        string
	Password    string
	Hash        []byte
	Domain      string // e.g "WORKGROUP", "MicrosoftAccount"
	Workstation string // e.g "localhost", "HOME-PC"

	TargetSPN string // SPN ::= "service/hostname[:port]"; e.g "cifs/remotehost:1020"
	// contains filtered or unexported fields
}

Client represents an NTLM v2 client

func (*Client) Authenticate

func (c *Client) Authenticate(cmsg []byte) (amsg []byte, err error)

func (*Client) Negotiate

func (c *Client) Negotiate() (nmsg []byte, err error)

func (*Client) Session

func (c *Client) Session() *Session

type InfoMap

type InfoMap struct {
	NbComputerName  string
	NbDomainName    string
	DnsComputerName string
	DnsDomainName   string
	DnsTreeName     string
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

NTLM v2 server

func NewServer

func NewServer(targetName string) *Server

func (*Server) AddAccount

func (s *Server) AddAccount(user, password string)

func (*Server) Authenticate

func (s *Server) Authenticate(amsg []byte) (err error)

func (*Server) Challenge

func (s *Server) Challenge(nmsg []byte) (cmsg []byte, err error)

func (*Server) Session

func (s *Server) Session() *Session

type Session

type Session struct {
	// contains filtered or unexported fields
}

func (*Session) CheckSum

func (s *Session) CheckSum(sum, plaintext []byte, seqNum uint32) (bool, uint32)

func (*Session) InfoMap

func (s *Session) InfoMap() *InfoMap

TODO export to somewhere

func (*Session) Overhead

func (s *Session) Overhead() int

func (*Session) Seal

func (s *Session) Seal(dst, plaintext []byte, seqNum uint32) ([]byte, uint32)

func (*Session) SessionKey

func (s *Session) SessionKey() []byte

func (*Session) Sum

func (s *Session) Sum(plaintext []byte, seqNum uint32) ([]byte, uint32)

func (*Session) Unseal

func (s *Session) Unseal(dst, ciphertext []byte, seqNum uint32) ([]byte, uint32, error)

func (*Session) User

func (s *Session) User() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL