Veil-Evasion 是一个用 python 写的免杀框架,可以将任意脚本或一段 shellcode 转换成Windows 可执行文件,还能利用Metasploit框架生成相兼容的 Payload 工具,从而逃避了常见防病毒产品的检测。
veil 地址:
https://github.com/Veil-Framework/Veil
apt -y install veil
/usr/share/veil/config/setup.sh --force --silent
安装过程中很容易有各种报错,依赖包等等,也可以使用docker镜像直接安装
安装docker环境,这里不复述了
拉取veil镜像
docker pull mattiasohlsson/veil
拉取后执行:
docker run -it -v /tmp/veil-output:/var/lib/veil/output:Z mattiasohlsson/veil
v /tmp/veil-output:/var/lib/veil/output:z 是将宿主机的 /tmp/veil-output
录映射到 docker 里面,这样 veil 生成的 payload 可以直接在宿主机里使用。
之后我们启动镜像之后,使用下面命令
dk ps -a //查看启动的镜像
dk exec -it 4ae72dc914c9 /bin/bash
执行 veil命令可启动,版本为 3.1.1
veil 有两个免杀的工具,Evasion 和Ordnance。
Ordnance 可生成在 Veil-Evasion 中使用的 shellcode,Evasion 是用做文件免杀
我们一般选择Evasion
Veil>: use 1 #选择Evasion功能
Veil/Evasion>: list #查看payload列表
使用list可以查看到41种stager
推荐使用go和ruby语言encode的编码方式。
试一下使用go生成
Veil/Evasion>: use 16
输入监听的主机和端口就可以
然后再设定生成的payload名字
因为之前已经做过映射,所以在宿主机的/tmp/veil-output/compiled/目录可直接看到生成的exe文件
在msf中监听
测试主机发现可以上线
我这里使用virus进行测试