本文主要是介绍DVenom:一款功能强大的Shellcode加密封装和加载工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于DVenom
DVenom是一款功能强大的Shellcode加密封装和加载工具,该工具专为红队研究人员设计,可以帮助红队成员通过对Shellcode执行加密封装和加载实现反病毒产品的安全检测绕过。
功能介绍
1、支持绕过某些热门反病毒产品;
2、提供了多种加密方法,包括RC4、AES256、XOR和ROT;
3、可以生成C#、Rust、PowerShell、ASPX和VBA形式的源代码;
4、采用了不同的Shellcode加载技术,其中包括VirtualAlloc、进程注入、NT Section注入、镂空进程注入;
工具要求
1、配置Golang环境;
2、了解Shellcode操作的基础知识;
3、熟悉C#、Rust、PowerShell、ASPX和VBA代码;
工具部署
广大研究人员可以使用下列方式将项目源码拷贝到本地设备中,并在本地设备上部署和使用DVenom。
首先,我们需要使用下列命令将该项目源码克隆至本地:
$ git clone https://github.com/zerx0r/dvenom
然后切换到项目目录中:
$ cd dvenom
使用go build命令完成项目代码构建:
$ go build /cmd/dvenom/
工具使用
安装完成后,我们就可以直接使用下列命令运行DVenom了:
./dvenom -h
命令行参数
-e:指定Shellcode的加密类型,支持的类型有xor、rot、aes256和rc4;-key:提供要使用的加密密钥;-l:指定语言,支持的语言有cs、rs、ps1、aspx和vba;-m:指定方法类型,支持的类型有valloc、pinject、hollow和ntinject;-procname:提供需要注入的进程名称,默认为“explorer”;-scfile:提供shellcode文件的路径地址;
工具使用样例
下列命令可以生成包含加密Shellcode的C#源代码:
./dvenom -e aes256 -key secretKey -l cs -m ntinject -procname explorer -scfile /home/zerx0r/shellcode.bin > ntinject.cs
注意,如果选择了AES256作为加密方法,工具将自动生成初始化向量IV。
工具限制
编程语言 | 支持的函数方法 | 支持的加密方法 |
C# | valloc, pinject, hollow, ntinject | xor, rot, aes256, rc4 |
Rust | pinject, hollow, ntinject | xor, rot, rc4 |
PowerShell | valloc, pinject | xor, rot |
ASPX | valloc | xor, rot |
VBA | valloc | xor, rot |
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
DVenom:【GitHub传送门】
这篇关于DVenom:一款功能强大的Shellcode加密封装和加载工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!