20145210姚思羽《网络对抗》免杀原理与实践
基础问题回答
1.杀软是如何检测出恶意代码的?
(1)杀毒软件有一个病毒的特征码库,通过识别恶意代码的特征码检测恶意代码
(2)杀毒软件通过动态检测对象文件的行为来识别恶意代码,如果他的行为在一定程度上和病毒相符,那么我们说这是一个恶意代码
(3)通过此代码的特征片段推断其是否为恶意代码
2.免杀是做什么?
免杀就是避免我们的恶意代码被杀毒软件查杀
3.免杀的基本方法有哪些?
(1)通过加壳、重组编码shellcode来改变恶意代码的特征码
(2)通过改变恶意代码的操作方式及通讯方式等行为来避免被查杀
(3)自己编写一个恶意代码
实践总结与体会
这次实验总结起来遇到的最大的障碍就是计算机简直太慢...
这回真的是自己操作生成的病毒,不过自己生成的病毒程序360杀毒等等软件竟然检测不出来,这让我对于我们之前一直依赖的杀毒软件有一些小失望呀,看来我们自己平时还是要多积累,遇到问题要能解决
离实战还缺些什么技术或步骤?
(1)现在的杀毒软件的各种特征库更新的很快,要想达到实战还需要做到灵活更新,更加深入地学习相关知识
(2)我觉得我的操作还是有点生疏,还是要多练习多思考多积累才能达到实战的水平
实践过程记录
一、msfvenom直接生成meterpreter可执行文件
1.主机IP:172.30.1.215
虚拟机IP:192.168.19.129
2.在虚拟机内生成meterpreter可执行文件20145210.exe
3.将可执行文件传到主机
4.在http://www.virscan.org/网站上查一下这个病毒能被多少杀软检测出来,网站上显示我的病毒名字有违法或广告关键字,所以修改病毒名称为145210,检测结果有18/39的杀软检测出病毒
二、Msfvenom使用编码器生成meterpreter可执行文件
(一)一次编码
1.在虚拟机中生成可执行文件fool5210.exe
2.将可执行文件传到主机中
3.我们再去看一下有多少杀软能检测到病毒
看到还是18/39的软件能够查到病毒
(二)多次编码
1.在虚拟机中将恶意代码编译十次
2.从虚拟机将文件传到主机
3.检测出有21/39的杀软查出了病毒,看来杀软对于多次编码的病毒大部分还是能够防御的
三、使用Veil-Evasion生成可执行文件
1.在虚拟机终端输入veil-evasion进入veil-evasion环境
2.在这个界面输入命令use python/meterpreter/rev_tcp
出现如下界面:
3.生成可执行文件5210yao.exe
4.将生成的可执行文件传到主机
5.再去检测一下看看有多少杀软能够检测出病毒
有10/39的杀软检测出了病毒,小有成效
四、使用C语言调用Shellcode
1.在虚拟机中生成一个c语言shellcode数组
2.检测到有8/39的杀软能够检测到病毒
3.将刚才生成的数组放到c程序中生成可执行文件,再检测一下这次生成的可执行文件能够被5/39的杀软检测到
4.用自己计算机上的360也没有检测出病毒
五、实现免杀
1.在虚拟机中启动监听,成功回连
2.捕获目标主机屏幕
3.360杀毒软件也没有查出病毒!