ntlm

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Taken from https://github.com/hirochachacha/go-smb2

Taken from https://github.com/hirochachacha/go-smb2

Taken from https://github.com/hirochachacha/go-smb2

Index

Constants

View Source
const (
	WINDOWS_MAJOR_VERSION_5  = 0x05
	WINDOWS_MAJOR_VERSION_6  = 0x06
	WINDOWS_MAJOR_VERSION_10 = 0x0a
)
View Source
const (
	WINDOWS_MINOR_VERSION_0 = 0x00
	WINDOWS_MINOR_VERSION_1 = 0x01
	WINDOWS_MINOR_VERSION_2 = 0x02
	WINDOWS_MINOR_VERSION_3 = 0x03
)
View Source
const (
	NtLmNegotiate    = 0x00000001
	NtLmChallenge    = 0x00000002
	NtLmAuthenticate = 0x00000003
)
View Source
const (
	NTLMSSP_NEGOTIATE_UNICODE = 1 << iota
	NTLM_NEGOTIATE_OEM
	NTLMSSP_REQUEST_TARGET

	NTLMSSP_NEGOTIATE_SIGN
	NTLMSSP_NEGOTIATE_SEAL
	NTLMSSP_NEGOTIATE_DATAGRAM
	NTLMSSP_NEGOTIATE_LM_KEY

	NTLMSSP_NEGOTIATE_NTLM

	NTLMSSP_ANONYMOUS
	NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED
	NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED

	NTLMSSP_NEGOTIATE_ALWAYS_SIGN
	NTLMSSP_TARGET_TYPE_DOMAIN
	NTLMSSP_TARGET_TYPE_SERVER

	NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
	NTLMSSP_NEGOTIATE_IDENTIFY

	NTLMSSP_REQUEST_NON_NT_SESSION_KEY
	NTLMSSP_NEGOTIATE_TARGET_INFO

	NTLMSSP_NEGOTIATE_VERSION

	NTLMSSP_NEGOTIATE_128
	NTLMSSP_NEGOTIATE_KEY_EXCH
	NTLMSSP_NEGOTIATE_56
)
View Source
const (
	MsvAvEOL = iota
	MsvAvNbComputerName
	MsvAvNbDomainName
	MsvAvDnsComputerName
	MsvAvDnsDomainName
	MsvAvDnsTreeName
	MsvAvFlags
	MsvAvTimestamp
	MsvAvSingleHost
	MsvAvTargetName
	MsvAvChannelBindings
)
View Source
const (
	NTLMSSP_REVISION_W2K3 = 0x0f
)

Variables

This section is empty.

Functions

This section is empty.

Types

type InfoMap

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

type SecurityContext

type SecurityContext struct {
	User       string
	Domain     string
	UserRID    uint32
	DomainSID  *dtyp.SID
	SessionKey []byte
}

type Server

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

func NewServer

func NewServer(targetName, targetDomain string, store *stores.AccountStore) *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) Negotiate

func (s *Server) Negotiate() ([]byte, error)

func (*Server) Session

func (s *Server) Session() *Session

func (*Server) Signature

func (s *Server) Signature() []byte

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

func (s *Session) Domain() string

func (*Session) GetSecurityContext

func (s *Session) GetSecurityContext() (sc SecurityContext)

func (*Session) InfoMap

func (s *Session) InfoMap() *InfoMap

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