DC-2靶场渗透-git提权-rbash逃逸-社工工具cewl-wpscan-WordPress信息收集工具

DC-2靶场渗透-git提权-rbash逃逸-社工工具cewl-wpscan-WordPress信息收集工具
28.7的博客DC-2靶场渗透实战:git提权+rbash逃逸+社工工具(cewl/wpscan)
其他靶机
> 28.7分享的靶机
1. 靶机基础信息确认
首先通过VMware或VirtualBox查看靶机的MAC地址,再通过局域网扫描工具(如arp-scan)确定靶机IP。
1.1 靶机MAC与IP对应
- MAC地址:00:0C:29:31:51:D3
- 靶机IP:192.168.40.208
2. 端口与系统信息扫描(nmap)
使用nmap工具扫描靶机开放端口、服务版本及系统内核,明确攻击入口。
2.1 关键扫描命令与结果
| 扫描目标 | 命令 | 核心结果 |
|---|---|---|
| 80端口服务探测 | nmap -sV 192.168.40.208 -p80 |
80端口开放,运行Apache服务,关联WordPress(后续验证) |
| 全端口快速扫描 | nmap 192.168.40.208 |
开放2个关键端口:80(HTTP)、7744(SSH,非默认22端口) |
| 系统版本探测 | nmap -O 192.168.40.208 |
靶机系统为Linux(Ubuntu大概率) |
| 全面信息扫描(推荐) | nmap -A 192.168.40.208 -p1-65535 |
确认80端口对应WordPress、7744端口为SSH,无其他高危端口开放 |
2.2 扫描结果截图示例
3. 80端口访问问题:302跳转与hosts配置
直接访问http://192.168.40.208提示无法访问,通过浏览器开发者工具查看响应头,发现302重定向(目标域名为dc-2)。
3.1 解决方法:修改本地hosts文件
将靶机IP与重定向域名绑定,步骤如下:
- 编辑本地hosts文件(Windows路径:
C:\Windows\System32\drivers\etc\hosts;Linux路径:/etc/hosts) - 添加如下内容:
1
192.168.40.208 dc-2
- 保存后,访问
http://dc-2即可正常打开靶机网站。
4. Flag 1:社工工具cewl生成密码字典
访问http://dc-2后,页面直接给出Flag 1及提示:需用cewl工具从网站提取关键词生成密码字典,配合WordPress登录爆破。
4.1 Flag 1内容
你常用的单词列表可能没用,所以相反,也许你只需要用 cewl(工具)。
密码越多总是越好,但有时候你不可能全部都成功。
以其中一个(账号)登录来查看下一个标志。
如果你找不到,就用另一个(账号)登录。
4.2 cewl工具:网站关键词提取(社工字典生成)
cewl是一款基于爬虫的社工工具,可从目标网站提取关键词生成密码字典,适用于弱口令爆破。
4.2.1 cewl核心参数(整理版)
| 参数 | 作用说明 |
|---|---|
-w <file> |
将提取的关键词写入指定文件(必选) |
-d <x> |
爬虫深度(默认2层,可根据网站复杂度调整) |
-m <length> |
最小单词长度(默认3,过滤无意义短词) |
--with-numbers |
允许包含数字的单词(增强字典覆盖性) |
-v |
详细模式(显示爬虫过程) |
4.2.2 生成密码字典命令
1 | cewl http://dc-2/ -w passwd.txt # 从dc-2网站提取关键词,写入passwd.txt |
5. WordPress信息收集:目录扫描与用户名枚举
靶机网站为WordPress框架,需先枚举登录入口、用户账号,再配合cewl生成的密码字典爆破。
5.1 目录扫描(dirsearch)
使用dirsearch扫描WordPress核心目录,确认登录入口(wp-login.php):
1 | dirsearch -u http://dc-2/ -e* # -e* 扫描所有常见后缀 |
核心扫描结果
- 登录入口:
http://dc-2/wp-login.php - 管理后台:
http://dc-2/wp-admin/ - 配置文件:
wp-config.php(无权限访问)
5.2 用户名枚举(wpscan)
wpscan是WordPress专属扫描工具,可枚举后台用户账号:
1 | wpscan --url http://dc-2/ -e u # -e u 枚举用户(user) |
枚举结果
成功获取2个有效用户:jerry、tom(保存到user.txt文件备用)。
6. WordPress密码爆破(wpscan)
使用wpscan结合user.txt(用户名)和passwd.txt(cewl生成的密码)爆破登录密码:
1 | wpscan --url http://dc-2/ -U user.txt -P passwd.txt |
爆破结果
- 账号1:
jerry,密码:adipiscing - 账号2:
tom,密码:parturient
7. Flag 2:登录WordPress后台获取
使用jerry/adipiscing登录WordPress后台(http://dc-2/wp-login.php),在“外观 > 编辑 > 404模板”中找到Flag 2。
Flag 2内容
如果你无法利用 WordPress 漏洞走捷径,那还有另一种方法。
希望你已经找到了另一个入口点。
关键提示
Flag 2暗示“另一个入口点”——结合之前nmap扫描结果,即为7744端口的SSH服务。
8. SSH登录与Flag 3:rbash环境限制
使用WordPress爆破出的账号尝试SSH登录(端口7744):
tom账号可登录(jerry账号登录失败)- 登录命令:
1
ssh tom@192.168.40.208 -p7744 # 密码:parturient
8.1 rbash环境限制
登录后发现tom用户处于rbash(Restricted Bash,受限Bash)环境,核心限制如下:
- 禁止使用
cd命令切换目录 - 无法执行绝对路径命令(如
/bin/ls) - 禁止重定向(
>、>>等) - 仅允许
ls、cat、vi等基础命令
8.2 Flag 3获取
在当前目录下找到flag3.txt,使用vi flag3.txt查看:
可怜的老汤姆总是追着杰瑞跑。或许他应该切换用户(su)来缓解他所造成的所有压力
提示:需切换到jerry用户,但当前rbash环境限制无法直接执行su。
9. rbash逃逸:突破受限环境
利用vi工具的Shell功能突破rbash限制,步骤如下:
- 编辑任意文件(如
flag3.txt):1
vi flag3.txt
- 在vi编辑模式中,输入
:set shell=/bin/sh(指定Shell为/bin/sh) - 输入
:shell(启动新的Shell,此时已突破rbash限制) - 配置环境变量(确保可执行
cd、su等命令):1
2export PATH=$PATH:/bin/ # 添加/bin目录到环境变量
export PATH=$PATH:/usr/bin/ # 添加/usr/bin目录到环境变量
10. Flag 4:切换jerry用户
逃逸rbash后,切换到jerry用户(密码为WordPress爆破出的adipiscing):
1 | su jerry # 输入密码:adipiscing |
切换成功后,在jerry用户的家目录(/home/jerry)中找到flag4.txt:
很高兴看到你走到这一步,但还没到终点呢。
你还需要拿到最终的 flag(唯一真正有意义的那个 flag!!!)。
这里没提示 —— 现在得靠你自己了。:-)
继续吧 —— 快 “git”(赶紧)出发!!!!
提示:关键词“git”暗示需通过git工具提权。
11. Git提权:获取root权限与Final Flag
11.1 查看sudo权限(jerry用户)
执行sudo -l查看jerry用户可执行的sudo命令:
1 | sudo -l |
结果显示:jerry用户可无密码使用sudo git命令(核心提权点)。
11.2 Git提权步骤
利用sudo git的help功能执行Shell命令,获取root权限:
- 执行
sudo git -p help(-p确保密码提示不被跳过,此处无需输入密码) - 在git help界面中,按
:进入命令模式,输入:1
!/bin/bash # 执行/bin/bash,启动root Shell
- 此时已切换为root用户(可通过
whoami验证)。
11.3 Final Flag获取
root用户的家目录(/root)中找到final-flag.txt,即为最终Flag:
1 | cd /root |
渗透总结
DC-2靶场核心知识点与工具链:
- 信息收集:nmap(端口/系统)、dirsearch(目录)、wpscan(WordPress)
- 社工字典:cewl(网站关键词提取)
- 环境突破:rbash逃逸(vi工具+环境变量配置)
- 提权技术:Git提权(sudo权限滥用)
通过完整流程,从信息收集到root权限获取,覆盖Web渗透与Linux提权的核心场景,适合新手入门练习。















