代码改变世界

Exp3 免杀原理与实践

2018-04-07 22:40  杨云鹏  阅读(166)  评论(0编辑  收藏

 

一·基础问题问答

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

           ①基于特征码恶意软件检测:AV软件厂商通过检测可执行文件的特征码,与特征码库中的特征码进行对比,相同的即判定为恶意代码;

           ②启发式恶意软件检测:根据代码的特征和行为判断,如果与恶意软件相似就判定为恶意软件;

           ③基于行为的恶意软件检测:与启发式类似,启发式偏向于对程序的特征码扫描,基于行为的则偏向对程序的行为监控。

  (2)免杀是做什么?

           免杀是让恶意代码避开杀软的查杀,从而达到某种目的。

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

          ①修改特征码;

          ②改变恶意代码的行为模式;

          ③加壳伪装。

二·实验步骤

1.使用Msfvenom编码器

首先根据自己的IP地址,使用指令生成一个一个可执行文件放到网站 http://www.virscan.org 上检测

检测结果

近半的杀毒软件都报毒了,基本上可以确认单纯的后门软件无法实现免杀。

2.使用Veil-Evasion

 先使用指令在Kali上安装Veil-Evasion

输入list 指令查看可使用的工具,然后选择 evasion

选择一个工具后开始生成可执行文件

输入文件名后生成成功

然后将生成的可执行文件放到网站上去检测

神奇的事发生了。

3.C语言调用Shellcode

根据Kali的IP地址生成一个c语言格式的Shellcode数组

 

4.Linux平台交叉编译Windows应用

使用Kali生成一个C语言文件,并将上面生成的shellcode数组写入

然后使用指令将C语言文件转换成Windows的可执行文件

在Kali上设置好监听后,运行可执行文件,杀软报毒

 

尝试使用codeblock进行编译成可执行文件,生成后运行杀软报毒

4.加壳

 4.1upx直接加壳

直接使用指令对生成的后门程序进行加壳

上传到网站上检测,可以看到效果并不理想

 

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

        还缺少很多编程技术,如果能自己编写一个后门程序,绕过市面上大部分的杀毒软件就很轻松了,或者使用其他的方法掩饰后门程序,比如将后门程序加入正常的软件中,运行软件时自动运行后门程序等。

四.心得体会

        如果上次的实验让我认识到攻破他人电脑原来是那么简单的话,这次实验又让我认识到了这件事元比我想象中的要复杂,只要电脑上运行有稍微靠谱的杀毒软件,就能让我这种菜鸟望洋兴叹。但同时杀毒软件也不是万能的,有了杀毒软件并不代表自己的电脑就高枕无忧了,还是需要提高自我防备意识。