您当前的位置:首页 > 计算机 > 安全防护

MSF漏洞利用完成但无法创建会话的几种原因

时间:10-15来源:作者:点击数:

1.引言

在实际攻防中经常用到一些漏洞模块去测试目标是否存在对应漏洞,比如下列模块:

exploit/windows/smb/psexec
exploit/multi/http/tomcat_mgr_upload
exploit/windows/smb/ms08_067_netapi
exploit/windows/smb/ms17_010_eternalblue (永恒之蓝)
exploit/windows/rdp/cve_2019_0708_bluekeep_rce (BlueKeep)
exploit/windows/smb/smb_doublepulsar_rce (DoublePulsar)
exploit/multi/http/apache_mod_cgi_bash_env_exec (Shellshock)
在这里插入图片描述

但是经常遇到Exploit completed, but no session was created”,漏洞利用完成但是无法创建会话(利用完成意思是msf利用流程走完,但不代表利用成功!),如上图所示的问题,原因有哪些?

2.原因

2.1漏洞payload和目标架构不匹配

例如目标为32位Windows架构的服务器,但是我们使用的是64位的payload,所以利用失败,会话无法创建。

2.1.1 解决办法

漏洞使用前尽可能多的搜集目标信息,确保漏洞利用模块使用的payload适配架构能和目标架构匹配。

2.2 参数LHOST/SRVHOST 配置不当

确保会话成功创建需要正确配置RHOST/LHOST/SRVHOST,比如目标地址为192.168.0.2,但是你在配置RHOST参数值的时候写成了192.168.0.3,那必然无法利用成功。其他参数同理,具体配置情况可以在模块在使用show options命令查看具体参数说明。

2.2.1 解决办法

确保漏洞利用模块参数配置正确!

2.3 使用了NAT模式

这种情况一般适用测试人员使用Vmware等虚拟机安装并使用kali里面的msf。

虚拟机网络适配一般情况:

在这里插入图片描述

如果你使用的是NAT模式,虽然你能访问(远程)目标机器,但是(远程)目标机器却无法访问你,所以导致会话创建失败。

2.3.1 解决办法

目标和kali处于用一个网段的情况:修改VM虚拟机为桥接连接

目标处于公网但是kali处于本地网络(一般家庭网络或不具备公网ip的机器):使用端口转发工具将本地流量转发到公网确保目标机器和我们的kali能访问互通,常用工具网站:

Ngrok.com   
Portmap.io
Pagekite.net

所有这些云服务都提供免费的基本端口转发(注册后),能够使用这些解决方案中的任何一个接收meterpreter或shell会话。设置完成后,您可以在反向负载(LHOST)中使用分配的公共IP地址和端口。请注意,如果您使用带有SRVHOST选项的漏洞利用程序,则必须设置两个单独的端口转发.

2.4存在杀软/EDR终端管理等

payload上传到目标服务器后但是服务存在AV/EDR等,payload就会被查杀,所以导致会话创建失败。

2.4.1 解决办法

免杀!免杀!免杀!

可以使用自带的编码器进行混淆操作,逃避杀软检测,但是国内杀软基本将msf加入套餐,成功率非常小。二是尝试去github搜索免杀开源工具,一般360、火绒绕过还是没问题的。

2.5漏洞利用模块存在问题

msf为开源利用框架,内置的漏洞利用脚本为社区人员贡献,所以脚本质量参差不齐,所以可能它本身就存在问题无法利用,或者说开发者测试不够全面,考虑不周,有些环境没考虑测试到,所以导致利用失败!

2.5.1 解决办法

一是升级或降级你的MSF版本,比如MSF5升级为MSF6试一试

二是利用其他脚本进行测试获取shell!

2.6目标已经修复漏洞打了补丁

有时候用MSF扫描探测发现目标存在某一漏洞版本的系统,比如e-office 9上传漏洞,但是他打了补丁,版本信息未更新,所以也有可能导致利用失败!

2.6.1 解决办法

放弃!

当然你也可以研究目标系统,挖掘新的漏洞!

2.7 防火墙限制

kali机器或者目标机器存在防火墙都可能出现无法创建会话的问题。

比如目标机器不出网或者防火墙设置了严格出站规则,那么目标机器是无法和我们的kali建立主动通信的,也是我们常说的反向连接.

msf中反向shell模块:meterpreter/reverse_https

2.7.1 解决办法

这时候我们可以使用正向连接方式进行反弹shell,建立会话。

msf中正向shell模块:

shell/bind_tcp

shell/bind_tcp_rc4

meterpreter/bind_tcp

meterpreter/bind_tcp_rc4

简单理解就是正向不行就换反向shell,如果都不行就暂时换个思

路!

参考:https://www.infosecmatter.com/why-your-exploit-completed-but-no-session-was-created-try-these-fixes/

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门