0x00 前言
经常有同学提及MSF payload的免杀问题,其实除了Veil之处,还有另一种比较轻巧的方案可以打造免杀的payload,那就是shellcode。
0x01 从哪里开始
shellcode是什么,可以去drops 搜索学习,但这并不是本文的重点。因为MSF已经为我们提供了shellcode的生成功能,接下来我们就拿最常用的payload:reverse_tcp来做测试吧!(其它的payload均可以)
CobaltStrike:payload>windows>meterpreter>reverse_tcp设置选项如下:监听9527端口。
接下来以同样的方式生成c格式的payload,打开payload查看:
没错,你看到的是shellcode,那么如何编译成我们需要的exe呢?
0x02 如何执行shellcode
经过一番搜索,大致得到了这么几种执行shellcode的方法(c语言,其它语言执行shellcode的方法可自己去寻找)
1:
2:
3:
4:
5:
6:
7:
8:
使用vc6默认的Debug方式编译cpp代码,得到8个payload:
分别使用360安全卫士(开启QVM及小红伞引擎,最新病毒库)和360杀毒扫描:
看起来,免杀是没有问题了,那么这些shellcode是否能正常执行呢?执行生成的8个exe测试下连接效果:
0x03 总结
实际测试过程中发现,减小exe的体积会增加被查杀的风险,使用默认的编译选项即可完美兔杀!
不同的编译器编译生成的exe免杀效果也不同哦!
经常有同学提及MSF payload的免杀问题,其实除了Veil之处,还有另一种比较轻巧的方案可以打造免杀的payload,那就是shellcode。
0x01 从哪里开始
shellcode是什么,可以去drops 搜索学习,但这并不是本文的重点。因为MSF已经为我们提供了shellcode的生成功能,接下来我们就拿最常用的payload:reverse_tcp来做测试吧!(其它的payload均可以)
CobaltStrike:payload>windows>meterpreter>reverse_tcp设置选项如下:监听9527端口。
![1.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/9581441595655.jpg)
接下来以同样的方式生成c格式的payload,打开payload查看:
![2.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/79181441595655.jpg)
没错,你看到的是shellcode,那么如何编译成我们需要的exe呢?
0x02 如何执行shellcode
经过一番搜索,大致得到了这么几种执行shellcode的方法(c语言,其它语言执行shellcode的方法可自己去寻找)
1:
![3.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/19101441595656.jpg)
2:
![4.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/58151441595656.jpg)
3:
![5.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/18891441595657.jpg)
4:
![6.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/2771441595657.jpg)
5:
![7.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/19391441595658.jpg)
6:
![8.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/96201441595658.jpg)
7:
![9.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/17421441595658.jpg)
8:
![10.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/72201441595659.jpg)
使用vc6默认的Debug方式编译cpp代码,得到8个payload:
![11.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/88791441595659.jpg)
分别使用360安全卫士(开启QVM及小红伞引擎,最新病毒库)和360杀毒扫描:
![12.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/97721441595659.jpg)
![13.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/13671441595660.jpg)
看起来,免杀是没有问题了,那么这些shellcode是否能正常执行呢?执行生成的8个exe测试下连接效果:
![14.jpg](http://www.evil0x.com/wp-content/uploads/2015/09/57321441595661.jpg)
0x03 总结
实际测试过程中发现,减小exe的体积会增加被查杀的风险,使用默认的编译选项即可完美兔杀!
不同的编译器编译生成的exe免杀效果也不同哦!