运气是汗水的累积——记一次从供应链到目标的过程

语言: CN / TW / HK

某次项目,找到一个目标,经过最基本的信息收集和扫描后发现,目标仅仅开放了一个ssh端口和web端口。web界面如下:

看到URL就知道这是典型的前后端分离,尝试抓js里面的api进行逐个访问,没有找到未授权或者能利用的地方。这时候就只能另辟蹊径。

根据这个logo上面的文字,找到这套系统的开发公司www.a.cn:

扫描a.cn的子域名,发现其做了泛解析,将所有收集到的域名解析成IP, 去除泛解析的那个,一共有以下5个(IP做了处理):

1.2.76.8
1.2.45.22
1.2.37.98
1.2.23.7
1.2.9.123

由于IP地址前两位都是一样的,推断这几个IP都是部署在IDC商上面。

对这5个IP进行全端口扫描,只有零星的端口开放,除了ssh就是跟目标一样的前后端分离web,找到几个可以爆破的地方,用top1000和根据目标域名、公司名等组合的弱密码进行爆破,无一例外,没有结果。。。

在gayhub上面根据目标域名、公司名、特殊web文件进行了搜索,同样无果。

目前似乎进入了僵局。突然灵机一动,用该公司的全名的关键字在fofa上搜索,找到了一个禅道:

这个IP之前没有收集到,尝试扫描其全端口,发现只开了三个端口,一个ssh,一个禅道,另外一个是我们的老朋友——showdoc:

showdoc旧版本有一个上传漏洞,尝试exp一打,成功,我仿佛看到了希望的曙光。

蚁剑轻松地连上了:

然而打击马上来临,居然是docker搭建,而且要命的是,当前是docker的nginx权限:

这个showdoc用的是sqlite数据库,那么先把数据库下载回来看看里面有什么吧。

数据库在这个位置:

下载回来之后用sqlite管理软件打开,发现里面的文档居然有1000多篇:

user表里面的密码一个也解不出,不过在item表找到了两个密码:

用这个表暴露的用户名和密码尝试登陆禅道成功:

我仿佛又看到了一丝希望的曙光,希望他们提交项目或者测试的时候顺便写上一些有用的东西。

可是,没有。

眼看快到晚上七点了,依然没有找到通往目标的道路。但是百折不挠(其实是没有约会)的我怎么可能放弃,去楼下吃碗浪漫的猪脚饭回来继续刚它。

现在只剩下图片了,禅道的流程经常需要配图,图片上面容易泄露一些东西。所以我开始一张一张翻看对方的图片。

有时候最笨的方法反而是最有用的方法。

然后发现了有一张图片里面暴露了他们系统的用户名:

之前在showdoc里面有1000多篇文本,但是由于字数接近20M,我用关键字搜索了一遍,没有找到有用的内容,现在有了用户名,尝试搜索一下,出来5篇文本:

其中第一篇文本是最多的,有2M之大,打开后发现有100多W行:

查找myadm,发现是phpmyadmin。。。

不过我粗略看了这篇文本,发现里面有很多敏感的数据,可能是一个json化的备份,于是体力活又来了,我一行行地翻其中的信息,在看了一个多小时后,困了,那就先睡吧,明天再继续看。

第二天起来,依旧还是一行行地看。不知不觉又过去两个多小时,这时候我找到一个类似密码的字符串:

抱着试一试的心态,我尝试用这个密码去连接目标的ssh,没想到。。。:

居然这个就是目标的密码。。我猜想这个供应商应该是统一部署的机器,密码全部用同一个。

后来回想这个渗透过程,几乎都是一环扣一环,除了开始前的扫描,没有多余的操作,但是全是体力活,翻图片,读文本,400多张图片,2M多的文本,最后运气好,拿下了,但是这些运气应该不是白来了,要是静不下心去翻图片和文本,看了四个多小时,肯定连目标的边都没挨着,如果真的要给这个运气加上一点解释的话,我觉得应该是,越努力,越幸运!