安全矩阵

 找回密码
 立即注册
搜索
查看: 663|回复: 0

记一次“弱口令”挖掘实战记录

[复制链接]

260

主题

275

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2023-2-13 21:25:50 | 显示全部楼层 |阅读模式
本帖最后由 luozhenni 于 2023-2-13 21:25 编辑


记一次“弱口令”挖掘实战记录
原文链接:记一次“弱口令”挖掘实战记录
最近领导安排了一次众测任务给我这个驻场的安服仔,是甲方公司一个新上线的系统,要求对此系统进行漏洞挖掘。没有任何测试账号,资产ip等信息,领导丢下一个域名就跑了。
0x01 信息收集
打开域名,就是一个堂堂正正的登陆界面
编辑

使用nslookup查一下域名解析
编辑

先对ip进行端口信息收集,除了一个443和一个识别不出来的2000端口,就没有其他端口。那么只能从web入手了。
编辑

简单扫了一下目录,发现了后台登陆界面
编辑
0x02 漏洞发掘初试
由于web只找到两个登陆页面,其他什么都找到,那么只能先对登陆页面进行测试。看到前台登陆页有短信登陆功能,马上想到短信发送是否有频率和次数限制,如有则存在短信炸弹漏洞。
虽说不是什么危害性很大的漏洞,但漏洞就是漏洞!然鹅,这么简单都洞找不到,哭了。
编辑

至于爆破账号密码也不要想了,验证码是真的,而且这密码还rsa加密,真的没啥心情去尝试爆破,估计毫无成功的希望。至此陷入僵局。
编辑

0x03 另辟蹊径
虽说是月薪只有几千的安服仔,但作为一名无证信息安全从业人员,怎能轻易言败。重新换个角度进行思考,首先这是一个新上线的系统,而总所周知,甲方公司不具备任何开发能力,那么此系统必然是由第三方公司进行开发,而系统正式上线之前大概率是有测试系统的。

下一步就是尝试去寻找此测试系统了,首先留意到前台登陆页面的源码中,可以看到甲方公司的用户协议文本。
编辑

在各大网络空间搜索引擎中使用如下命令进行查找
tilte = "xxxx" & body = "xxxx"

经过一番搜索,可以发现一个不能说是相似,只能说是一模一样的网站。
编辑

常规操作,先进行一波端口扫描。这个站端口比起生产系统的多了好几个,分别有:
  1. 22   : ssh
  2. 3306 : Mysql
  3. 6379 : Redis
  4. 3000 : HTTP 测试网站
  5. 5080 : HTTP 开发商另外一个项目的网站
  6. 8848 : HTTP 不明
复制代码
3000端口的测试网站跟生产站类似,只有一个登陆界面,后台地址也是一样的,也是拿它没任何办法。

Mysql和Redis都是有密码的,暂时也没办法,那么将目光投向另外两个Http服务。
5080端口,也是一个只有一个登陆界面的网站,看得出跟3000端口的网站是同一个框架搭建,可以暂时略过。
8848端口打开是nginx默认页,估计是需要指定uri才能打开。
简单搜索一下8848这个关键字,发现是nacos使用的默认端口。
编辑

什么是 Nacos?
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

简单来说,就是nacos里面有大量配置文件。既然有默认端口,那么有默认口令也是人之常情。直接一发nacos:nacos,一发入魂!
编辑

翻查各种配置文件,发现大量敏感信息,可以找到Mysql和Redis的密码。3306端口对外开放,直接进入Mysql里面翻网站的账号和密码hash,在另外一个表,还可以找到密码hash使用的salt。
编辑

导出数据库所有hash,先肉眼看一下,发现有大量hash是相同,机智的你看到这个,肯定想到这要不是弱口令,要不就是默认密码。
编辑

马上准备下班了,先用8位纯数字+小写字母进行爆破,丢上服务器慢慢爆,明天一早起床收割。
0x04 弱口令挖掘
第二天一早上班,看了一下爆破结果,又有新的发现。爆破出来的密码,大多是有特定格式的,主要的格式是:
四位甲方公司英文简写+4位数字(以下我就用abcd代表该公司简写)。
使用爆破出来的口令成功登入测试网站的前台,因为是测试网站,里面也没啥有价值的系统。我们的目标还是要爆破出后台管理的密码。
编辑

下一步要继续优化爆破字典,根据我对此甲方公司的了解和多年配置弱口令的经验,我初步想到以下两个思路:
  •         使用大小组合的甲方公司英文简写+4位数字进行爆破。或者直接使用首字母大写就足够了(能按一下shift,就不想按两下,对吧),这个方案复杂度最低,甚至可以再加2位数字进行爆破。
  •         使用大小组合的甲方公司英文简写+一位特殊字符+4位数字,或者大小组合的甲方公司英文简写+4位数字+一位特殊字符。大部分人为了强行加入特殊字符,一般喜欢在字符和数字之间加,或者在最后一位,此方案就是针对这种习惯。
方案二的字典成功爆出后台密码,密码是:Abcd2333@,严格意义上,这已经是很强的口令,有大小写字母、数字、特殊字符。但是,如果对这个公司有所了解,很容易就能发现其常用的简写,这么来说的话,这密码也能算是一个“弱口令”。
编辑

测试站后台成功拿下。经过后台一番探索,基本可以确定是thinkphp6,而且没有多语言插件(谁没事装这插件。。。),getshell无望。
Redis权限太低,版本不是4.x,也没啥办法。至此测试站渗透结束。
0x05 回到生产网站
虽说没有成功拿下测试站有点可惜,不过从测试站的数据库拿到不少的账号和密码,这些账号密码极有可能能登陆生产网站。
简单整理一下各种账号口令,都是富有甲方特色的账号,例如:
  1. 账号:abcdadmin,密码:Abcd#2022
  2. 账号:abcdtest01,密码:Abcd2333!
  3. 账号:abcdtest02,密码:Abcd2333!
  4. 账号:admin01,密码:abcd2333
复制代码
手工组合各种账号和密码在主站进行测试,轻松进入后台。编写报告:后台弱口令【高危】.docx,任务完成,安服仔永不言败~
0x06 总结
学艺不精,没办法getshell拿到权限,实在太菜。此文主要记录一个强行挖掘弱口令的过程,渗透测试需要猥琐的思路,弱口令也不再局限于top100,top1000之类。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 22:33 , Processed in 0.014798 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表