前言
我们在用Metasploit进行渗透测试时经常会遇到这样的情况,已经成功执行了Payload,但始终获取不到会话。这篇文章就来给大家讲一下获取不到会话的一些常见原因,已经知道了问题所在,至于要怎么解决就看大家自己的了,该绕的绕,该免杀的免杀!
一般常见情况有:
1、直接获取不到会话;
2、获取到会话后自动断开;
3、获取到会话但是卡住不动了。
(1) 快速判断Metasploit会话完整性
如果直接通过浏览器访问监听IP:Port,或者是在获取会话的过程中按Ctrl+C键强制结束掉了,这时我们获取到的会话可能都是不完整的,即使成功得到了会话,进去之后会发现很多命令都执行不了。 这时可以通过session命令来快速判断我们得到的会话完整性,如果“Information”列中为空白则是不完整,反之则完整。
(2) Payload与目标系统架构不一样
这里说的系统架构不一样是因为我们生成的Msf Payload是x64,而目标系统是x86,在执行Payload过程中会出现“不是有效的Win32应用程序”报错,所以无法获取到会话。 这种情况一般出现在XP/2003机器上,不过x86的Payload可以在x64上成功运行,不存在兼容性问题。
(3) Payload与监听模块设置不一样
我们生成的Msf Payload是x86的,但是在handler监听模块里设置的Payload为x64时就会出现这种会话自动断开的情况。 不过在这种情况下如果Payload是可执行的,我们只需要将handler监听模块里设置的Payload改为对应的x86即可解决。 重点注意:
1、目标系统架构;
2、Msfvenom生成Payload;
3、handler监听模块Payload。
(4) 目标配置系统防火墙出入站规则
有时会遇到这样的情况,即使我们生成的Msf Payload、handler监听模块Payload和目标系统架构都是相对应的,但在执行Payload时仍然获取不到会话。
这可能是因为目标已开启Windows自带防火墙并设置了出入站规则,也有可能是被其它流量监测类的安全设备所拦截,可以通过netstat -ano命令来查看我们执行的Payload与目标机器建立的网络连接状态是否为SYN_SENT?
SYN_SENT的几种常见情况:
1、MSF里没有监听;
2、Windows系统防火墙;
3、其它的安全设备等。
(5) VPS配置系统防火墙出入站规则
记一次与朋友@Sin在他的Centos VPS上做测试时发现获取不到会话,在经过排查之后发现问题出在“宝塔防火墙”,其实也就是Centos自带防火墙,在宝塔安装过程中会自动配置系统防火墙,默认规则只允许特定端口能出网:21、22、80、8888,如下图。
解决方案: 在宝塔控制面板中没有找到关闭防火墙的相关设置选项,只能设置放行端口,不过我们可以使用以下命令来关闭Centos自带防火墙,或者使用默认规则中的放行端口进行bind_tcp正向连接即可成功获取会话,可通过这个文件来查看防火墙规则(/etc/firewalld/zones/public.xml)。
1、查看防火墙状态:firewall-cmd --statesystemctl status firewalld.service 2、开启防火墙:systemctl start firewalld.service 3、临时关闭防火墙:systemctl stop firewalld.service 4、永久关闭防火墙:systemctl disable firewalld.service 5、查看所有放行端口:firewall-cmd--list-port
(6) 反病毒软件特征查杀或流量检测
在上传、执行Payload文件时可能会被反病毒软件的特征、行为、内存、流量检测并查杀,笔者本地测试发现当我们把火绒“黑客入侵拦截”或赛门铁克“Enable Network intrusion prevention”开启后再执行Payload时就会出现发送stage到目标,但无法建立一个完整的会话回来,关闭后就能立即获取到目标会话,关于免杀和绕过不在本节讨论范围内。
特征查杀:上传的Payload以及各种恶意PE文件直接会被拦截并查杀(360杀毒)
流量检测:成功执行Payload并发送stage到目标,但一直卡着不动(ESET NOD32)
(7) IIS应用程序池-启用32位应用程序
以往的渗透渗透过程中遇到过在浏览器访问Metasploit的Aspx Payload秒解析,但是没能获取会话的情况。 这可能是因为目标机器的IIS应用程序池中设置了“启用32位应用程序”选项为True或False了,可以尝试换到x86/x64的Payload再试试看。
当“启用32位应用程序”选项为True时Aspx Payload 32可以获取会话,64无法获取会话。
当“启用32位应用程序”选项为False时Aspx Payload 64可以获取会话,32无法获取会话。
编辑:hfy
-
防火墙
+关注
关注
0文章
416浏览量
35582 -
浏览器
+关注
关注
1文章
1011浏览量
35254 -
PayLoad
+关注
关注
0文章
5浏览量
6954
发布评论请先 登录
相关推荐
评论