Active Directory Saldiri Metodolojisi: Foothold'dan Domain Admin'e Tam Akis
AD pentest metodolojisinin ust-seviye haritasi: kimlik bilgisi yokken anonymous enum -> ilk kullanici (spray/AS-REP/NTLM relay/web foothold) -> kimlikli enum + BloodHound -> ayricalik yukseltme (Kerberoast/ACL/delegation/ADCS) -> DCSync/NTDS ile Domain Admin -> persistence. Her asamada hangi tekniklerin hangi onkosulla denenecegini siralar.
- Hedef ag ile L3 baglanti (VPN/tun0)
- DC IP'sinin tespiti (nmap -p88,389,445)
- Hedef domain FQDN'inin bilinmesi (LDAP/SMB null session ya da nmap -sC ciktisindan)
Komutlar
nmap -Pn -p 88,135,139,389,445,464,636,3268,3269,5985 -sV --script=ldap-rootdse {{DC_IP}} nxc smb {{DC_IP}} echo '{{DC_IP}} {{DC_HOST}} {{DOMAIN}}' | sudo tee -a /etc/hosts sudo ntpdate {{DC_IP}} nxc smb {{DC_IP}} -u {{USER}} -p {{PASS}} --shares bloodhound-python -d {{DOMAIN}} -u {{USER}} -p {{PASS}} -ns {{DC_IP}} -c All --zip impacket-secretsdump -just-dc {{DOMAIN}}/{{USER}}:{{PASS}}@{{DC_IP}} Genel Bakis
AD degerlendirmesi dogrusal bir kill-chain’dir: dis-kapsamdan (kimlik yok) -> ilk gecerli kullaniciya -> kimlikli enum’a -> ayricalik yukseltmeye -> Domain Admin/DCSync’e -> persistence’a. Her asamada elindeki tek girdi (hicbir sey / kullanici adi / kimlik / yuksek-ayricalikli kimlik) bir sonraki adimda hangi teknik setinin acik oldugunu belirler. Bu sayfa hangi adimda ne denenecegini ust-seviye haritalar; her teknigin detayi kendi sayfasindadir.
Asama 0 — Kurulum ve DC Tespiti
Ilk is altyapiyi hazirlamak: DC IP’sini nmap -p88,389,445 ile bul, FQDN’i ldap-rootdse veya nxc smb ciktisindan al, /etc/hosts’a DC’yi ekle ve saati ntpdate {{DC_IP}} ile senkronize et. Saat senkronu Kerberos icin pazarliksizdir: 5 dakikadan fazla fark KRB_AP_ERR_SKEW ile her Kerberos aracini sessizce bozar.
Asama 1 — Kimlik Yok (Pre-Auth Foothold)
Henuz kimlik yokken hedef:
- Anonymous/null enum: SMB null session (
-u '' -p ''), LDAP anonymous bind, RPC, enum4linux-ng ile domain SID, parola politikasi, kullanici/grup/share toplama (bkz. ad-enum-nocreds). - Kullanici listesi uret: kerbrute userenum, RID brute (lookupsid), OSINT/username-anarchy ile gecerli kullanici adlarini cikar (bkz. ad-userenum).
- Ilk kimligi al — su yollardan biriyle:
- AS-REP Roasting: preauth gerektirmeyen kullanicilarin hashini al, offline crackle (kimlik gerektirmez).
- Password Spraying: yaygin parola/sezon-yili kalibini kullanici listesine karsi pusukle dene.
- NTLM Poisoning + Relay: Responder/mitm6 ile hash yakala veya signing-kapali hedeflere relay et.
- Web/servis foothold: AD-disi bir uygulamadan (SQLi, dosya yukleme, default cred) shell alip uzerinden kimlik harvest et.
Asama 2 — Gecerli Kullanici (Kimlikli Enum)
Elinde bir {{USER}}:{{PASS}} (veya NT hash) varken:
- Dogrula ve genislet:
nxc smb {{DC_IP}} -u {{USER}} -p {{PASS}}ile gecerliligi teyit et;--shares,--users,--pass-polile yatay enum yap. - BloodHound topla:
bloodhound-python -c Allile tum domain’i grafa al. Bu, metodolojinin beyni: foothold node’unu isaretle ve Shortest Path to Domain Admins sorgusunu calistir. - Hizli kazanc tarama: Kerberoastable SPN’ler (GetUserSPNs), AS-REP’lenebilir kullanicilar, LAPS okuma hakki, GenericAll/WriteDACL gibi ACL’ler, unconstrained/constrained delegation, ADCS savunmasiz sablonlari (Certipy find).
Asama 3 — Ayricalik Yukseltme (Lateral + Vertical)
BloodHound’un gosterdigi yola gore tekniklerden birini sec:
- Kerberoasting: SPN hesabinin TGS hashini crackle (zayif servis-hesap parolasi).
- ACL Abuse: GenericAll/GenericWrite/WriteDACL ile parola sifirla, gruba uye ekle, targeted Kerberoast yap (bkz. ad-acl-abuse).
- LAPS okuma: yetki varsa local admin parolasini LDAP’tan oku.
- Delegation: unconstrained (TGT yakala), constrained (S4U), RBCD (msDS-AllowedToActOnBehalfOfOtherIdentity yaz) ile baska makineye SYSTEM ol.
- ADCS (ESC1-8): savunmasiz sertifika sablonuyla DA sertifikasi iste, PKINIT ile TGT al.
- Coerce + Relay: PetitPotam/Coercer ile DC kimlik dogrulamasini zorla, ntlmrelayx ile LDAP/ADCS’e relay et.
Asama 4 — Domain Admin / DCSync
Replikasyon hakki (DS-Replication-Get-Changes) veya DA elde edilince secretsdump -just-dc ile DCSync yapip krbtgt dahil tum hashleri cek. krbtgt hashi Golden Ticket icin; her hash Pass-the-Hash icin kullanilir. Alternatif olarak DC’de NTDS.dit + SYSTEM hive’ini cikar (bkz. ad-ntds).
Asama 5 — Persistence ve Yatay Genisleme
Golden/Silver Ticket, DCSync hakki ekleme, Skeleton Key, AdminSDHolder, sertifika tabanli persistence; ayrica domain/forest trust’lari uzerinden komsu domain’lere genisleme (bkz. ad-persistence, ad-trusts).
Notlar ve Tuzaklar
- Her asamada biten adimin ciktisini bir sonraki adimin girdisine besle: crack edilen her parola yeni bir spray adayi, bulunan her kullanici yeni bir Kerberoast hedefidir.
- Bir teknik bloklandiginda (or. SMB signing acik -> relay yok) yan yoldan devam et; AD’de tek bir yol nadiren zorunludur.
- OSCP’de cogu impacket/netexec/rubeus komutu safe’tir; yalnizca otomatik exploit/MITM bilesenleri (ntlmrelayx, mitm6) dikkatli ve kapsam-teyitli kullanilmalidir.