前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战 | 记一次SSRF攻击内网的实战案例

实战 | 记一次SSRF攻击内网的实战案例

作者头像
HACK学习
发布2022-05-23 11:01:51
1.1K0
发布2022-05-23 11:01:51
举报
文章被收录于专栏:HACK学习HACK学习

0x01 苦逼的测试任务

某一天,我照常在学校的CTF群和学长吹水,突然管事的学长在群里发了一张图,这个月轮到我们学校对省内的某旅游相关企业进行漏洞测试。上面的老师自然而然把这个任务分配给我们CTF战队,要求是找到漏洞,能Getshell的点证明能Getshell即可,不要深入利用。

说是测试,其实以往基本都是用漏洞扫描器来回扫一下就完事了,不过我还是有自己的小九九的,作为队里少数实战经验比较丰富的成员,这个时候就可以试着在学长面前留下好印象了。二话不说直接开干!

0x02 严防死守的主站

虽说是个旅游相关的企业,但是他们的门户网站非常的简单,先注册个用户试试。

非常的离谱,主页的用户注册功能还坏了,手机直接收不到验证码,不过幸好网站提示“test1”已经存在。既然是测试账号,想必密码不会太复杂,于是果断扔burp上爆破

进来是进来了,不过我突然发现,这个站好像是静态的,在测试了诸如XSS和CSRF均无果之后,我果断放弃了这个目标。

0x03 小毛病一堆的旁站

主站没有洞也不要气馁,很少听到有人从主站打成功的。于是我果断将目标转移到旁站。很轻松的找到了一个管理系统。

本来想试试识别验证码爆破账号密码的,结果发现这个验证码压根就是坏掉了,怎么刷都刷不出完整的验证码,但是发现这个单点登录似乎是能用的,点击它就会跳转到sso.abcd.com.cn,或许后面能用到?

对这个门户网站进行指纹识别,发现使用了ThinkCMF,测试历史漏洞无果,不过这里开启了Debug模式泄露了绝对路径,这也是个重要信息,后续写shell应该能用上。

这个目标大量使用了ThinkCMF,不过我从一处子域名找到了不是使用ThinkCMF的系统,扫不到指纹,看上去可能是他们自研或者外包的。

对于这种自研系统,当然是分析JS文件+测试逻辑漏洞最有效了。不过很可惜,修改返回包、禁用活动脚本等常用方法均无法进入后台。从JS文件中也并没有找到任何有用的链接。那就没办法了,上目录扫描,自研系统后台的接口大都有鉴权问题,如果能找到这些接口,就还有机会。

太幸运了,确实找到了后台的一些功能点。不过也很可惜,把SQL注入等常见漏洞测试了一遍之后,并没有发现任何能深入挖掘的东西。好吧,未鉴权就未鉴权了,至少也算一个漏洞不是吗。

0x04 峰回路转之瞬间打穿

第一个晚上的战果并不是那么好,只找到了一些配置问题和一些不算太严重的后台接口未鉴权,只是这样肯定不能让学长眼前一亮的,反思了一下之前的问题,我感觉自己的信息工作还是没做好,上文提到的目标的自研站点,我用的字典主要是用于FUZZ参数和目录的,试试挂上别的字典会不会有所发现。

发现了一个用于连接数据库的文件,那你最好不要被我找到源码泄露或者任意文件下载之类的漏洞。看到这玩意之后,我工作的重心马上转向查找源码泄露、任意文件下载和读取漏洞。很快我就有了令人惊喜的发现

这不.git泄露吗,这下好办了。

一口气直接泄露了127MB的源码,后台功能一览无余,这下算是挖到大的了。不过这并不是我们的目标,我下载到源码的第一件事就是马上去翻它的dbconfig.php,果不其然,数据库源码直接到手。

但其实翻到源码的一瞬间我是懊悔的,因为这是一个非常常见的弱口令规则,企业名拼音缩写@年份。开始我试了2022、2021、2020三个年份,唯独没试2019,这个小插曲告诉我如果要玩弱口令爆破,那就千万要有十足的耐心。

总之,拿到了这个密码,登陆进phpmyadmin,大概率就能得到一个getshell点了。

不错,成功拿下phpmyadmin,并且最舒服的是,前文的debug模式泄露的绝对路径在这里马上就用上了,直接试试全局日志写shell。

悲伤,居然没权限写进去,不过这种情况似乎是目录没权限写文件,结合上面泄露的源码中的目录结构,我尝试了好几个目录,最终还是成功写入了,这个getshell点直接拿下

0x05 后台XSS以及SSRF

拿下phpmyadmin的好处可不只有getshell,数据库的信息一览无余意味着大量员工的密码尽在掌握,我们直接挑一个弱口令来下手吧。

连后台系统都敢直接用123456,那么我猜测这位员工在SSO系统的密码八九不离十也是123456,事实证明我想对了,并且得益于他们的所有系统都和这个SSO系统挂钩,我可以借助这位员工的账号直接轻松访问所有的系统。

进了后台,工作才刚刚开始,我首先就发现了一个接口,它会把传入的内容直接输出在<script>标签中,这个XSS漏洞非常好拿。

并且后续测试发现,这个接口是后台少数未鉴权的接口,即使没登陆后台也可以使用这个接口,不仅可以用它钓鱼管理员,还可以钓鱼普通用户,危害性一下就上升了。

很快我又发现了一个令人惊喜的点,在测试后台功能的时候我发现一个导出数据的功能,这个功能点会向内网的一台机器请求数据,并且将这些数据导出。开发者可能认为这样的功能非常便捷,殊不知这也便利了攻击者。

看到这样的功能,无非就SSRF、URL重定向之类的漏洞,并且考虑到它请求内网数据并且返回数据的特性,我猜测这个SSRF必然是能回显的。

事实证明,它确实能

既然是有redis服务,加上SSRF,自然而然就想到利用gopher协议进行写shell,这个getshell点也直接拿下。好嘛,有这个可回显SSRF点,总算能做些有趣的事了,老师说不能getshell打内网,但是没说不能SSRF打内网啊。

0x06 SSRF攻击内网

打内网要从哪开始呢?当然是搜集网段,得益于file协议,我可以读/etc/hosts文件从而判断当前机器所处的网段。

这里发现了92这个段,加上一开始这台机器是从93段请求的资源,目前我们以及找到了两个网段。我突然又想到,刚刚的数据库记录用户信息的时候似乎顺便记录了IP,本来想着能不能通过分析用户登陆IP从而找到不同网段,不过这一找又有惊喜发现

不知道是哪个系统要用到这些数据,暴露了大量内网资产,这就大大方便了我们攻击内网的效率了,但是为了防止遗漏,我还是用Burp尝试爆破了这些网段。

随便看几个,发现了大量的资产和漏洞,redis、mysql未授权,phpinfo等文件随处可见

当然,要说最有意思的发现还是这个,目标出于景点运营的需要,大量布置Zabbix进行各种监控,既然有Zabbix就不得不测Zabbix未授权访问了。

然而老师很快就知道我在用SSRF打内网,马上叫停了我后续测试的行为。这个好玩的SSRF点的利用就到此为止了。

0x07 结语

这次测试总的来说还是很有趣的,各种信息相互关联、相互利用,最终衍生出了非常多的攻击点,无疑再次印证了“渗透测试的核心是信息搜集”这句话

原创投稿作者:L@2uR1te

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档