ldap

package
v0.0.70 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthenticateUser

func AuthenticateUser(ctx context.Context, target *Target, username, password string, timeout int) (bool, string, error)

AuthenticateUser attempts to authenticate a single user with a password against LDAP

func AuthenticateUserWithHash added in v0.0.61

func AuthenticateUserWithHash(ctx context.Context, target *Target, username, ntlmHash string, timeout int) (bool, string, error)

AuthenticateUserWithHash attempts to authenticate a single user with NTLM hash against LDAP

func EnumerateUsers

func EnumerateUsers(ctx context.Context, target *Target, usernames []string, timeout int) ([]string, []string, error)

EnumerateUsers performs username enumeration against LDAP Returns a list of valid usernames found in the directory

func PerformAuthenticationWithContext added in v0.0.61

func PerformAuthenticationWithContext(ctx context.Context, target string, config *ldapfern.PentestLdapConfig) (*pentestfern.AuthResult, error)

PerformAuthenticationWithContext performs LDAP authentication attempts with context

func PerformProbe added in v0.0.61

func PerformProbe(ctx context.Context, target string, config *ldapfern.PentestLdapConfig) (*ldapfern.ProbeResult, error)

PerformProbe performs LDAP server information gathering without authentication

func SprayPasswords

func SprayPasswords(ctx context.Context, target *Target, usernames []string, password string, timeout int, delayMs int) (map[string]bool, []string, error)

SprayPasswords performs password spraying against multiple users

func SprayPasswordsWithHash added in v0.0.61

func SprayPasswordsWithHash(ctx context.Context, target *Target, usernames []string, ntlmHash string, timeout int, delayMs int) (map[string]bool, []string, error)

SprayPasswordsWithHash performs pass-the-hash spraying against multiple users using NTLM hash

func TestConnection

func TestConnection(ctx context.Context, target *Target, timeout int) error

TestConnection tests connectivity to the LDAP service

Types

type LibraryPentestLdap added in v0.0.54

type LibraryPentestLdap struct{}

func (*LibraryPentestLdap) DomainDump added in v0.0.54

func (*LibraryPentestLdap) PentestLdap added in v0.0.54

PentestLdap performs LDAP penetration testing based on the provided configuration

type StealthContext added in v0.0.69

type StealthContext struct {
	QueryCount     int
	MaxQueries     int
	SleepPtr       *int
	JitterPtr      *int
	MinimalQueries bool
	Logger         svc1log.Logger
}

StealthContext tracks stealth parameters and query count

func (*StealthContext) IncrementQuery added in v0.0.69

func (sc *StealthContext) IncrementQuery()

IncrementQuery increments query count and applies stealth delay

func (*StealthContext) ShouldContinue added in v0.0.69

func (sc *StealthContext) ShouldContinue() bool

ShouldContinue checks if more queries are allowed

type Target

type Target struct {
	Host   string
	Port   int
	BaseDN string
	Domain string
	UseSSL bool
	UseTLS bool
}

Target represents an LDAP server target

func ParseTarget

func ParseTarget(target string) (*Target, error)

ParseTarget parses a target string into Target Supports formats: host:port, host Port 636 enables SSL (LDAPS), port 389 uses plain LDAP

Jump to

Keyboard shortcuts

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