FOOTHOLD Metodoloji Cheat-sheet
Enum ✓ EXAM-SAFE kolay :88:389:445:443

AD Kullanici Enumerasyonu: kerbrute userenum, lookupsid, NetExec, username-anarchy, OWA/MailSniper

Gecerli AD kullanici adlarini ortaya cikar: Kerberos pre-auth ile kerbrute userenum (lockout-suz), RID cycling icin lookupsid/NetExec --rid-brute, OSINT isimlerinden username-anarchy ile kullanici-adi permutasyonu uret ve dis yuzeyde OWA/Exchange'e karsi MailSniper ile zaman-tabanli enum. Cikan liste spray/AS-REP/Kerberoast'in girdisidir.

Bilgi: ÖN KOŞULLAR
  • DC'ye Kerberos(88) veya SMB/RPC(445/135) erisimi
  • Domain FQDN bilgisi (kerbrute ve impacket icin gerekli)
  • Aday kullanici-adi listesi (statistically-likely-usernames, OSINT isimleri ya da RID brute ciktisi)
┌──

Komutlar

kerbrute ✓ EXAM-SAFE
kerbrute userenum -d {{DOMAIN}} --dc {{DC_IP}} {{WORDLIST}}
Kerberos pre-auth (AS-REQ) ile gecerli kullanici adlarini dogrula; hesap kilitlemez, log'da minimal iz birakir ropnop — Kerbrute (userenum)
kerbrute ✓ EXAM-SAFE
kerbrute userenum -d {{DOMAIN}} --dc {{DC_IP}} /usr/share/seclists/Usernames/Names/names.txt
SecLists isim listesiyle kullanici enum — ozel wordlist yoksa standart kaynak SecLists — Usernames/Names
impacket-lookupsid ✓ EXAM-SAFE
impacket-lookupsid {{DOMAIN}}/guest@{{DC_IP}} -no-pass
RID cycling: guest/null ile SID->kullanici/grup adi cevrimi yaparak tam kullanici listesi cikar WADComs — Impacket lookupsid
nxc ✓ EXAM-SAFE
nxc smb {{DC_IP}} -u guest -p '' --rid-brute 10000
NetExec ile SAMR RID brute force — lookupsid'e alternatif, tek komutta kullanici adlari NetExec Wiki — RID brute forcing
nxc ✓ EXAM-SAFE user
nxc smb {{DC_IP}} -u {{USER}} -p {{PASS}} --users
Gecerli bir kimlik varsa: tum domain kullanicilarini, badPwdCount ve aciklama alanlariyla listele NetExec Wiki — Authenticated user enumeration
username-anarchy ✓ EXAM-SAFE
username-anarchy -i names.txt > userlist.txt
OSINT'ten toplanan ad-soyad listesinden olasi kullanici-adi permutasyonlari (j.doe, jdoe, doej...) uret username-anarchy GitHub (urbanadventurer)
impacket-GetNPUsers ✓ EXAM-SAFE
impacket-GetNPUsers {{DOMAIN}}/ -dc-ip {{DC_IP}} -usersfile userlist.txt -no-pass
Dolayli enum: GetNPUsers her kullanici icin 'user not found' vs 'no preauth' ayrimi yaparak gecerli kullanicilari da ortaya cikarir HackTricks — AS-REP Roasting / user discovery
MailSniper ⚠ RESTRICTED
Invoke-UsernameHarvestOWA -ExchHostname {{RHOST}} -Domain {{DOMAIN}} -UserList userlist.txt -OutFile valid.txt
Dis yuzeyde OWA/Exchange'e karsi zaman-tabanli (timing) kullanici enum — internet-facing Exchange senaryolari icin MailSniper — dafthack/MailSniper (Invoke-UsernameHarvestOWA)

Genel Bakis

Gecerli kullanici adlari AD saldirisinin yakitidir: bunlar olmadan password spray, AS-REP Roasting ve Kerberoast’a baslayamazsin. Bu sayfa kullanici-adi listesini kimliksiz (kerbrute, lookupsid, GetNPUsers) ve kimlikli (nxc —users) uretmenin yontemlerini ve listeyi sifirdan kurmak icin username-anarchy/OWA tekniklerini toplar.

Yontem 1 — Kerberos Pre-Auth (kerbrute userenum)

En tercih edilen kimliksiz yontem. Kerbrute, DC’ye her aday kullanici icin bir AS-REQ gonderir; DC’nin yaniti kullanicinin var olup olmadigini sizdirir (KDC_ERR_C_PRINCIPAL_UNKNOWN = yok, baska hata/yanit = var). Kritik avantaj: bu islem on-dogrulama oncesi oldugu icin badPwdCount’u artirmaz, yani hesap kilitlemez ve neredeyse iz birakmaz.

kerbrute userenum -d {{DOMAIN}} --dc {{DC_IP}} {{WORDLIST}} calistir; wordlist olarak SecLists’teki Usernames/Names/names.txt veya statistically-likely-usernames ideal. Domain FQDN ve DC IP dogru olmali; saat senkronu burada da gerekir.

Yontem 2 — RID Cycling (lookupsid / NetExec)

guest veya null erisimi varsa SID brute en eksiksiz listeyi verir: impacket-lookupsid {{DOMAIN}}/guest@{{DC_IP}} -no-pass veya nxc smb {{DC_IP}} -u guest -p '' --rid-brute 10000. Bu, domain’deki tum principal’leri (kullanici + grup + makine) RID sirasina gore dokumledigi icin kerbrute’tan farkli olarak tahmin gerektirmez. Detayli null-session baglami icin ad-enum-nocreds’e bak.

Yontem 3 — Kimlikli Enum (nxc —users)

Elinde bir kimlik varsa nxc smb {{DC_IP}} -u {{USER}} -p {{PASS}} --users tum kullanicilari badPwdCount ve description alanlariyla doker. Aciklama alaninda bazen parola ya da ipucu bulunur; badPwdCount ise hangi hesaplara guvenle spray yapabilecegini gosterir.

Yontem 4 — Liste Uretimi (username-anarchy)

Elinde sadece gercek isimler varsa (LinkedIn/OSINT’ten ad-soyad), username-anarchy -i names.txt ile kurum kullanici-adi kalibinin tum olasi permutasyonlarini (john.doe, jdoe, doej, j.doe, johnd…) uretip kerbrute’a beslersin. Kurumun gercek kalibini bir kez tespit edince (or. bir gecerli kullanicidan) listeyi o kalibla daraltabilirsin.

Yontem 5 — Dis Yuzey OWA/Exchange (MailSniper)

Hedefin internet-facing bir Exchange/OWA’si varsa MailSniper’in Invoke-UsernameHarvestOWA fonksiyonu zaman-tabanli (timing) bir yan-kanal ile gecerli kullanicilari ayirt eder: gecerli kullanicida yanit suresi farklidir. Bu, otomatik/harici bir teknik oldugu ve hedef disi servisle etkilesti icin examSafety: restricted kabul edilir; OSCP kapsam izni olmadan kullanma.

Notlar ve Tuzaklar

  • kerbrute saat senkronuna duyarlidir; KRB_AP_ERR_SKEW aliyorsan sudo ntpdate {{DC_IP}}.
  • RID brute, guest/null kapaliysa bos doner; o durumda kerbrute (pre-auth) tek kimliksiz yoldur.
  • Cikan her gecerli kullanici adini hemen AS-REP Roast (GetNPUsers) ve spray adaylarina ekle; userenum tek basina degil, akisin besleyici adimidir.
  • GetNPUsers’i -usersfile ile calistirdiginda hem AS-REP’lenebilir hesaplari hem de (dolayli olarak) gecerli kullanicilari ayirt edebilirsin — iki amacli kullan.
┌──

Kaynaklar

0/15 set