记一次SSRF攻击内网的实战案例
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
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系统挂钩,我可以借助这位员工的账号直接轻松访问所有的系统。 进了后台,工作才刚刚开始,我首先就发现了一个接口,它会把传入的内容直接输出在