写点什么

记一次拿到后台权限的过程

  • 2021 年 11 月 26 日
  • 本文字数:1771 字

    阅读完需:约 6 分钟

前言

本文中涉及到的所有操作均得到了客户单位的授权,并且在漏洞修复后得以公开。请勿在未授权状态下进行任何形式的渗透测试!!!!

漫长的探索

经过初步的信息收集后,发现该医院并无官网,只有一个微信公众号提供了预约挂号,缴费等功能,只能把突破点放在这个公众号上了。


下图是微信公众号的一些功能:



当点击这些功能并抓包的时候,令我看到奇怪的是所有的请求都指向了a.test.com这个域名,如下图,原谅我的厚码...



【一>所有资源获取<一】1、200 份很多已经买不到的绝版电子书 2、30G 安全大厂内部的视频资料 3、100 份 src 文档 4、常见安全面试题 5、ctf 大赛经典题目解析 6、全套工具包 7、应急响应笔记


test.com这个域名经过查找后发现是一家提供医疗信息系统的本地公司,但不解的是为什么医院的系统会放到供应商公司去呢?他们是如何进行数据同步的呢?带着这些问题我开始了对a.test.com这个域名的测试。



看到这个熟悉的页面,确定了此系统大概是由 sping boot 开发的,经过一系列常规操作后,只发现了一个 swagger-ui 页面。



由于我们的目标是拿权限,所以重点对此页面的接口进行了 sql 注入和越权等测试,无果,也没有任何的文件上传接口,开始卡到这里了。


回过来想,a.test.com这个域名是test.com的子域名,是否能够通过test.com进行突破呢?


访问test.com,打开的是供应商公司的官网。



test.com的域名做信息收集后发现了几个子域均解析致某云服务器,但是 ip 不同。



首先git.test.com这个域名引起了我的注意,打开后是一个 gitlab 服务。



gitlab 历史上是由几个漏洞的:



但不幸的是此系统版本较高,漏洞均以修复。


那会不会由弱口令呢?使用几个常用的用户名和 top 密码进行爆破,无果,我又想办法加到了此公司的一个 qq 群中,尝试在群文件中获取一些有效信息。



果不然,群文件中有一份表格,记录了员工的详细信息




有了这些信息,我开始使用姓名和工号等组合成 gitlab 的用户名,使用常用弱口令定向爆破,期望能有一两个结果,但是还是无果,看来此 gitlab 对密码强度有要求,弱口令是走不通了。

柳岸花明又一村

当使用 google hack 语法搜索此 gitlab 时发现了几处无需认证即可访问的公开仓库。



我开始把希望寄托在了这些可公开访问的仓库上,仔细翻看这些仓库,大多数都是一些接口文档,对本次渗透没有啥用。


终于在 rabbitmq 安装介绍文档中发现了一个 oracle 数据库的连接用户名和密码:



在前面的信息收集过程中,已经发现了x.test.com这个子域名对应的 ip 地址开放了 oracle 数据库端口,我迅速连接了此数据库发现用户名密码正确,可以连接。



由于此数据库版本较低,并且时 sysdba 权限,我可以直接以 system 权限执行命令。



然后就是添加用户登录拿下了这台 oracle 数据库的服务器。



并且在这个 mysql 文件夹中发现了 mysql 的配置文件。



由于test.com这台服务器是开放了 mysql 数据库的,利用此信息,我又成功登录了 mysql 数据库。



在 mysql 数据库中成功获取了供应商官网test.com后台的用户名和密码。



当我满怀欣喜的去登录时,发现确实可以登录,但登陆后的后台功能都已废弃,只有一个大大的 thinkphp 错误。



怎么办,原想的通过后台 getshell 的想法也落空了。(也尝试过使用 Thinkphp3 的漏洞利用,但也全部失败了)

绝处逢生

到这里,我认为只能把希望放在这个 mysql 数据库上了,由于是 windows 系统,udf 提权大概率成功不了,那就只能尝试写 webshell 了。写 webshell 的话需要知道绝对路径,我尝试使用各种办法让test.com报错,看报错信息中有没有包含绝对路径,一系列操作过后无果,只有 404 页面。


没办法了,只有盲猜一波,我突然想到了 mysql 数据库表的表名是否就是网站的目录名呢?



使用这两个表名构造了以下绝对路径


c:\\hs_webc:\\hswebd:\\hs_webd:\\hsweb
复制代码


当尝试到c:\\hs_web时,webshell 提示已经写入成功了。



使用蚁剑连接成功:



由于当前用户权限较小,使用 potato 成功提权:



添加用户成功登录远程桌面:



在服务端的 nginx 配置文件中发现了代理规则,涉及到几十家医院:



原来这些医院的微信公众号业务都是先访问test.com这台服务器,然后再由这台服务器上的 nginx 转到到各个医院的真实服务器上。那这样也太不安全了吧,一旦供应商的这台服务器宕机、他们的业务也得跟着丢。


然后在这台服务器上发现了微信公众号后台源码,丢给同伴审计了一波,发现了后台登录绕过漏洞,可以直接登录后台。



然后就是随意改信息啦。


至此本次渗透就结束了,其实拿到医院的真实 ip 后也可以更深入的进行测试。

用户头像

我是一名网络安全渗透师 2021.06.18 加入

关注我,后续将会带来更多精选作品,需要资料+wx:mengmengji08

评论

发布
暂无评论
记一次拿到后台权限的过程