25 Ocak 2014


Domain yapısı Windows sistemlerde merkezi noktadan kullanıcı ve politika yönetimini yapılmasını sağlamak için geliştirilmiş bir teknolojidir. Active Directory olarak isimlendirilen bir merkezde ise kullanıcı bilgileri tutulmaktadır. Bu durum ise yerel kullanıcı hesapları ile domain hesaplarının yerlerinin farklı olması sonucunu doğurur. Windows sistemlerde yerel kullanıcı hesapları "%windir%/system32/config" dizini altında bulunan "SAM" (Security Account Manager) dosyasında tutulur. Domain hesapları ise Domain Controller görevini gören Windows makinelerde "%windir%/NTDS/" dizini altında bulunan "ntds.dit" isimli bir dosyada saklanmaktadır. Bu iki dosyanında çevrimdışı olarak okunabilmesi için system hive dosyasına ihtiyaç vardır. Bu dosyanında bulunduğu yer ise %windir%/system32/config" dizinin altında "system" adı altında saklanmaktadır.

Bu dosyaları bir Domain Controller makinadan kendinize ait bir yere kopyaladıktan sonra çevrimdışı olarak kullanıcı ve hash bilgilerini alabilirsiniz.

İhtiyaç Listesi:

  • Backtrack 5 R3 (Yada Metasploit kurulu herhangi bir sistem)
  • Libesedb (Extensible Storage Engine "ESE" tipinde veritabanı dosyalarını ayıklayabilmek için)
  • Ntds_hashextract metasploit modülü 
  • C:\WINDOWS\system32\config\system dosyası (İçerisindeki key ile şifrelenmiş hash dosyalarını şifresini açmak için gerekli)
  • C:\WINDOWS\NTDS\ntds.dit dosyası

Backtrack 5 R3 üzerinde araçların kurulumu ve uygulamasını aşağıdaki adımları takip ederek yapabilirsiniz.


Öncelikli olarak DC makinanın diskinden domain kullanıcılarının dosyası olan ntds.dit dosyasının ve system hive dosyasının alınması gerekiyor. Örneğimizde biz bu dosyaları DC makinasını Backtrack ile başlatarak almayı gösteriyor olacağız. Başka senaryolarlada bu dosyaların sistem kullanıcı hakları ile ele geçirilmiş bir DC makinadan alınmasıda söz konusu olabilir.

Windows dizinin kurulu olduğu bölümü "mount /dev/sda1 /mnt" komutu ile bir dizin altına bağlayıp ordanda gerekli dosyaları kopyalıyoruz.



Bundan sonra çevrimdışı ayıklama işine başlayabiliriz. Libesedb paketini indirip kurmakla devam ediyoruz.
İndirmek için "wget http://libesedb.googlecode.com/files/libesedb-alpha-20120102.tar.gz" komutunu çalıştırıyoruz. Daha sonra ise 
  •  tar xvzf libesedb-alpha-20120102.tar.gz
  • cd libesedb-20120102
  • ./configure
  • make 
komutlarını vererek aracımızın kurulumunu tamamlıyoruz.







Şimdi artık ntdis.dit dosyasından ayıklayabiliriz aracımızla kullanıcı bilgilerini. Yazılım esedbtools dizini içerisindeki esedbexport dosyasını oluşturuyor kullanmamız için. Komut olarakta aşağıdaki şekilde çalıştırıp ayrıştırma işini tamamlıyoruz ve komut çıktıları ntds.dit.export dizini altına açıyor dosyaları bulunduğunuz dizinde.



Bu adımdan sonra geriye Metasploit altında çalışan bağımsız ntds_hashextract aracını kullanmak kalıyor. Mevcutta Metasploit ile beraber gelmeyen aracı sistemimize indirip, metasploit yazılımının kurulu olduğu yol altında "tools" dizini içine ruby dosyası olarak yerleştirilmesi ile sağlıklı çalışması sağlanabiliyor.

"wget 'https://raw.github.com/R3dy/metasploit-framework/54bba07846c2264354a794bc9652b71d7e66c53f/tools/ntds_hashextract.rb' --directory-prefix='/opt/metasploit/msf3/tools/' " komutu dosyanın internetten alınıp metasploit altında doğru yere konmasını sağlıyor. Bizede bu ruby dosyasını çalıştırılabilir hale getirmek için gerekli izinleri vermesi kalıyor.



Tüm yolu belirterek bu aracı çalıştırabiliriz artık. Çalıştırmak için ntds.dit içerisinden esedb aracı ile oluşan dosyalardan "datatable.3" dosyası ve "system" hive dosyası parametre olarak veriliyor ve çıktı olarakta size bütün domain kullanıcı adı ve hashlerini LM:NTLM olarak UUID bilgileri ile beraber veriyor.
Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.