Ntds.dit’ten Hash’leri ve Etki Alanı Bilgilerini Çıkarma


Dahili kalemlerde Etki Alanı Denetleyicisine erişim sağlamak ve tüm AD kullanıcıları için şifre karmalarının dökümünü almak benim için gerçekten yaygın bir durum. Meterpreter’dan smart_hashdump veya Impacket’ten secretsdump.py gibi pek çok araç bunu son derece kolaylaştırıyor.

Ancak bazen NTDS.dit dosyasının basılı bir kopyasıyla karşılaşıyorum ve bilgileri manuel olarak çevrimdışına çıkarmam gerekiyor. Bu bugün ortaya çıktı ve süreci belgelemeye karar verdim. Dosyaların nasıl elde edileceğine ilişkin ayrıntılara girmeyeceğim, ancak ihtiyacım olan her şeye zaten çevrimdışı olarak sahip olduğumu varsayacağım:

  • NTDS.dit’in bir kopyası (ntds.dit)
  • SYSTEM kayıt defteri kovanının bir kopyası (systemhive)
1
2
3
$ file *
ntds.dit:   Extensible storage engine DataBase, version 0x620, checksum 0xa50ff5a, page size 8192, DirtyShutdown, Windows version 6.1
systemhive: MS Windows registry file, NT/2000 or above

Güncelleme: @agsolinoImpacket’in yaratıcısı az önce bana Twitter’da şunları söyledi: secretsdump.py Bunu inanılmaz derecede kolaylaştıran YEREL bir seçeneği var! Bunu hiç fark etmediğime inanamıyorum ama Impacket’in beni tekrar zaman ve sıkıntıdan kurtarması mantıklı geliyor 😉

NTDS.dit dosyanız ve SYSTEM kovanınız varsa, yalnızca secretsdump.py tüm NT karmalarını çıkarmak için komut dosyası:

1
$ python secretsdump.py -ntds /root/ntds_cracking/ntds.dit -system /root/ntds_cracking/systemhive LOCAL

Biraz zaman alır, ancak tüm Etki Alanı kullanıcıları için güzel biçimlendirilmiş NTLM karmalarını dağıtacaktır:

Sırlar dökümü

Bu kesinlikle en kolay yöntemdir. Tabloları dışa aktarma ve ntdsxtract kullanma alıştırmasını yapmak istiyorsanız aşağıdaki adımları da uygulayabilirsiniz:

İlk adım, tabloları kullanarak NTDS.dit dosyasından çıkarmaktır. esedbexportlibesedb’nin bir parçası.

Yüklemek için kaynak kodun en son sürümünü sürümler sayfasından indirin:

https://github.com/libyal/libesedb/releases

En son ön sürüm olan “libesedb-experimental-20170121”i kullandım.

Kaynak kodunu indirin ve çıkarın:

1
2
3
4
5
$ wget https://github.com/libyal/libesedb/releases/download/20170121/libesedb-experimental-20170121.tar.gz

$ tar xf libesedb-experimental-20170121.tar.gz

$ cd libesedb-20170121/

Şimdi bina için gereksinimleri yükleyin:

1
$ sudo apt-get install autoconf automake autopoint libtool pkg-config

Ve libesedb’yi yapılandırın, yapın ve yükleyin:

1
2
3
4
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig

Her şey yolunda giderse, dışa aktarma aracını şurada bulundurmalısınız: /usr/local/bin/esedbexport

Boşaltma Masaları

Araç artık yüklendiğine göre, tabloları bilgisayardan boşaltmak için kullanın. ntds.dit dosya. Bu, adı verilen yeni bir dizin oluşturacaktır. ntds.dit.export dökülen tablolarla:

1
$ /usr/local/bin/esedbexport -m tables ntds.dit

Bu adım oldukça uzun sürebilir (benim için 20-30 dakika). Ancak sonunda tabloların başarıyla çıkarıldığını görmelisiniz:

Çıkarılan Tablolar

İki önemli tablo; datatable Ve link_tableve her ikisi de içeride olacak ./ntds.dit.export/

Ntdsxtract ile Etki Alanı Bilgilerini Çıkarma

Tablolar çıkarıldıktan sonra, verilerle etkileşimde bulunmak ve değerli verileri boşaltmak için kullanılabilecek harika bir Python araçları seti vardır: ntdsxtract

Depoyu klonladığınızda python komut dosyaları olduğu gibi kullanılabilir olmalıdır. Veya sistem genelinde kurulabilirler:

1
2
3
4
5
$ git clone https://github.com/csababarta/ntdsxtract.git

$ cd ntdsxtract/

$ python setup.py build && python setup.py install

Kullanıcı Bilgilerini ve Parola Karmalarını Atma

Ntdsxtract aracı dsusers.py, çıkarılan bir tablodan kullanıcı bilgilerinin ve NT/LM şifre karmalarının dökümünü almak için kullanılabilir. Üç şeyi gerektirir:

  • veri tablosu
  • bağlantı_tablosu
  • sistem kovanı

Sözdizimi şöyledir:

1
$ dsusers.py    --syshive  --passwordhashes 

--pwdformat seçenek, karma formatlarını John biçiminde (john), oclHashcat (ocl) veya OphCrack (ophc).

Ayrıca tüm Kullanıcı bilgilerini stdout’a aktaracaktır, bu nedenle tee çıktıyı başka bir dosyaya aktarın.

Tüm NT ve LM karmalarını oclHashcat formatında çıkarmak ve bunları “output” dizinindeki “ntout” ve “lmout” içine kaydetmek için:

1
$ dsusers.py ntds.dit.export/datatable.3 ntds.dit.export/link_table.5 output --syshive systemhive --passwordhashes --pwdformat ocl --ntoutfile ntout --lmoutfile lmout |tee all_user_info.txt

Çalıştırıldıktan sonra NT karmaları oclHashcat’e hazır formatta yayınlanacaktır:

1
2
3
root@kali:~/ntds_cracking# head -n2 output/ntout
user1:BC62AC0F8EA9DD1AD703C8B4F0A968C4
user2:0E10081EDBCFB92DE6156F9046FF7881

Dosyaya baktığımızda tee‘ içine girdiğimizde, kullanıcılar hakkında SID, şifrenin ne zaman oluşturulduğu, son oturum açma işlemleri vb. gibi diğer bilgileri görebiliriz:

Kullanıcı Bilgileri

NT karmalarını hashcat ile kırmak için mod 1000’i kullanın:

1
$ hashcat -m 1000 output/ntout --username /path/to/wordlist

Bonus: Etki Alanı Bilgisayar Bilgilerini Çıkarma

Ntdsxtract ayrıca, dökülen tablolardan etki alanı bilgisayar bilgilerini çıkarmaya yönelik bir araca da sahiptir. Bu, çevrimdışı hedef listeleri oluşturmak için yararlı olabilir.

Kullanmak için veri tablosunu, çıktı dizinini ve yazılacak csv dosyasını sağlayın:

1
$ dscomputers.py ntds.dit.export/datatable.3 computer_output --csvoutfile all_computers.csv

Etki alanındaki tüm bilgisayarların güzel bir CSV’sini aşağıdaki sütunlarla oluşturur:

1
2
$ head -n 1 computer_output/all_computers.csv
"Record ID";"Computer name";"DNS name";"GUID";"SID";"OS name";"OS version";"When created";"When changed";"Bitlocker recovery name";"Bitlocker recovery GUID";"Bitlocker volume GUID";"Bitlocker when created";"Bitlocker when changed";"Bitlocker recovery password";"Dial-In Permission"

Kullanıcı bilgilerini, şifre karmalarını vb. boşaltmak için secretsdump.py’yi veya diğer kimlik doğrulamalı alan adı keşif yöntemlerini kullanmak çok daha kolay ve hızlıdır.

Ancak NTDS.dit dosyasının ve SYSTEM kovanının bir kopyasına sahip olursanız ve bilgileri çevrimdışına çıkarmak istiyorsanız bu kılavuzu kullanın.

Umarım bu oradaki birine yardımcı olur!

-ropnop


Ayrıca bakınız





Source link