声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。 |
---|
- 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 --state systemctl 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无法获取会话。
【推荐书籍】 如果对你有所帮助,请点个分享、赞、在看呗!