最近领导安排了一次众测任务给我这个驻场的安服仔,是甲方公司一个新上线的系统,要求对此系统进行漏洞挖掘。没有任何测试账号,资产ip等信息,领导丢下一个域名就跑了。
0x01 信息收集
使用nslookup查一下域名解析
先对ip进行端口信息收集,除了一个443和一个识别不出来的2000端口,就没有其他端口。那么只能从web入手了。
简单扫了一下目录,发现了后台登陆界面
0x02 漏洞发掘初试
0x03 另辟蹊径
tilte = "xxxx" & body = "xxxx"
22 : ssh
3306 : Mysql
6379 : Redis
3000 : HTTP 测试网站
5080 : HTTP 开发商另外一个项目的网站
8848 : HTTP 不明
3000端口的测试网站跟生产站类似,只有一个登陆界面,后台地址也是一样的,也是拿它没任何办法。
5080端口,也是一个只有一个登陆界面的网站,看得出跟3000端口的网站是同一个框架搭建,可以暂时略过。
8848端口打开是nginx默认页,估计是需要指定uri才能打开。简单搜索一下8848这个关键字,发现是nacos使用的默认端口。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
简单来说,就是nacos里面有大量配置文件。既然有默认端口,那么有默认口令也是人之常情。直接一发nacos:nacos,一发入魂!
翻查各种配置文件,发现大量敏感信息,可以找到Mysql和Redis的密码。3306端口对外开放,直接进入Mysql里面翻网站的账号和密码hash,在另外一个表,还可以找到密码hash使用的salt。
0x04 弱口令挖掘
第二天一早上班,看了一下爆破结果,又有新的发现。爆破出来的密码,大多是有特定格式的,主要的格式是:
四位甲方公司英文简写+4位数字(以下我就用abcd代表该公司简写)。
使用爆破出来的口令成功登入测试网站的前台,因为是测试网站,里面也没啥有价值的系统。我们的目标还是要爆破出后台管理的密码。
下一步要继续优化爆破字典,根据我对此甲方公司的了解和多年配置弱口令的经验,我初步想到以下两个思路:
方案二的字典成功爆出后台密码,密码是:[email protected],严格意义上,这已经是很强的口令,有大小写字母、数字、特殊字符。但是,如果对这个公司有所了解,很容易就能发现其常用的简写,这么来说的话,这密码也能算是一个“弱口令”。
测试站后台成功拿下。经过后台一番探索,基本可以确定是thinkphp6,而且没有多语言插件(谁没事装这插件。。。),getshell无望。
Redis权限太低,版本不是4.x,也没啥办法。至此测试站渗透结束。
0x05 回到生产网站
虽说没有成功拿下测试站有点可惜,不过从测试站的数据库拿到不少的账号和密码,这些账号密码极有可能能登陆生产网站。
账号:abcdadmin,密码:Abcd#2022
账号:abcdtest01,密码:Abcd2333!
账号:abcdtest02,密码:Abcd2333!
账号:admin01,密码:abcd2333
0x06 总结
关 注 有 礼
推 荐 阅 读