pulse connect secure 任意文件下载考古(CVE-2019-11510)

渗透技巧 2年前 (2021) admin
1,335 0 0

本篇文章由ChaMd5安全团IOT小组投稿

恰好从百度网盘上搜到了一个 pulse secure connect 9.0 R 2.0 的 ovf 文件,借此机会复现和分析一下 pulse secure connect 的漏洞。

0x01 环境搭建

0x1 虚拟机搭建

首先导入 ovf,开机后让虚拟机自行 factory reset 即可。pulse connect secure 任意文件下载考古(CVE-2019-11510)有一段随机码要输,如果你不按回车的话,会一直跑下去。。pulse connect secure 任意文件下载考古(CVE-2019-11510)之后还有些用户名密码什么的配置要输,自行配置后静待安装完毕即可。pulse connect secure 任意文件下载考古(CVE-2019-11510)

0x2 调试环境搭建

这里就用到了 Orange 分享的方法,在如下图状态的时候将虚拟机挂起,之后修改内存,将/home/bin/dsconfig.pl 修改为 /bin/sh 重新恢复虚拟机后 enter 即可获得一个底层shell,否则 enter 进入的是一个伪shellpulse connect secure 任意文件下载考古(CVE-2019-11510)进入底层后本来想看一下shell权限的,但是 id 命令和 whoami 都被阉割掉了,因此直接查看进程相关信息,发现基本都是root权限的,而且可以对进程进行操作,基本可以确定是root权限的shellpulse connect secure 任意文件下载考古(CVE-2019-11510)底层shell支持 curl 命令,因此可以通过 curl 将 gdbserver 下载到设备中进行调试。

0x02 漏洞复现

直接借网上的 poc 一用即可。pulse connect secure 任意文件下载考古(CVE-2019-11510)

0x03 基本分析

0x1 基本架构

pulse connect secure 任意文件下载考古(CVE-2019-11510)直接访问设备配置的 IP 可以得到如图所示界面,在底层查看监听 443 端口的进程pulse connect secure 任意文件下载考古(CVE-2019-11510)通过端口定位到 web 进程,该进程对应的文件为 /home/bin/webpulse connect secure 任意文件下载考古(CVE-2019-11510)将文件拖下来后分析发现该 web 程序为自写程序,主要用于解析路由相关逻辑,经过简要分析基本可以确定漏洞出现在该程序中。

0x2 代码分析

该漏洞本质上是一个路径穿越漏洞,因此首先要找到 pulse connect secure 对 ../ 进行过滤的地方,然后分析如下的 payload 是如何绕过过滤的。pulse connect secure 任意文件下载考古(CVE-2019-11510)跟常见的目录穿越不一样的是 /dana/html5acc/guacmole 这个特殊的路由,以该字符串为锚点,最终可以断在 sub_809BFF0 这个函数上,通过调试信息可知该函数为路由分发函数:pulse connect secure 任意文件下载考古(CVE-2019-11510)通过调试发现该函数内部存在对 ../ 的过滤pulse connect secure 任意文件下载考古(CVE-2019-11510)通过对以下两个 payload 的执行路径进行分析

curl --path-as-is -k -s  https://192.168.14.123/dana-na/../.../../../../../../../

curl --path-as-is -k -s  https://192.168.14.123/dana-na/../dana/html5acc/guacamole/../../../../../../../etc/passwd?/dana/html5acc/guacamole/

下图为 orange poc执行的路径pulse connect secure 任意文件下载考古(CVE-2019-11510)下图为普通 ../ 执行的路径pulse connect secure 任意文件下载考古(CVE-2019-11510)可最终对比到关键的跳转在如下位置pulse connect secure 任意文件下载考古(CVE-2019-11510)因此关键点在于 sub_80A65F0 的返回值是否为 0,为了绕过过滤代码,需要该函数的返回值不能为 0pulse connect secure 任意文件下载考古(CVE-2019-11510)跟进该函数后可以发现主要逻辑就是判断了请求路由中是否包含了 /dana/html5acc/guacamole 这个路由,存在该字符串就会将返回值置 1,进而可以绕过后续对 ../ 的过滤。

结语

至此 11510 这个洞的关键点就已经分析完毕了,细心的师傅估计已经发现了根据实际使用的 payload 用了两遍 /dana/html5acc/guacamole ,这里其实也是一个小坑点,因为实在是太懒了,具体原因就留给各位大师傅去探究了(其实是忘了记下来了)


end


招新小广告

ChaMd5 Venom 招收大佬入圈

新成立组IOT+工控+样本分析+AI 长期招新

欢迎联系[email protected]



pulse connect secure 任意文件下载考古(CVE-2019-11510)

原文始发于微信公众号(ChaMd5安全团队):pulse connect secure 任意文件下载考古(CVE-2019-11510)

版权声明:admin 发表于 2021年11月13日 上午12:00。
转载请注明:pulse connect secure 任意文件下载考古(CVE-2019-11510) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...