dc系列——dc2
总结:
- 官网提示需要在靶机的host文件中添加靶机映射
1 | vim /etc/hosts |
其中etc目录中包含了几乎所有系统服务和程序的配置文件,hosts是本地域名解析文件,当浏览器拿到一个域名,会优先去本地查找域名解析,观察其对应ip
vim编辑器添加映射

补充:(cat /etc/passwd可查看用户列表)
- *rbash与/bin/bash
前者相当于试用版shell,受限更多,像一个小笼子,要想办法逃逸到/bin/bash,之后再进一步提权
学习一些常用的逃逸手段:
1:看”/“有没有被允许使用,允许直接用/bin/bash(注:本节尝试失败,限制图如下)

2.BASH_CMDS环境变量逃逸(本节可用)
ps:关联数组就是用文字命名的数组
1 | BASH_CMDS[a]='/bin/sh;a' |
3:vi/vim编辑器逃逸(本节可用)
vi/vim 通常被允许在 rbash 环境中使用
1 | vi/vim |
- CMS
CMS是一个可以通过浏览器进行管理的、功能完整的网站应用程序,就是一个建站系统,常用的有我们在dc1里遇见的drupal,还有wordpress,joomla
就是一个能帮助我们轻松建立网站的程序
我们之所以要识别这个CMS,是为了搞清楚在80端口上的那个网页是基于什么程序建立的,从而找到漏洞从这里去突破
- nikto进行登录界面的url路径猜测(-h:目标主机)
1 | nikto -h XX.XX.XX.XX |
- cewl爬取这个网站生成自己的字典
1 | cewl http://XX.XX.XX.XX -w pass.txt |
- wpscan扫用户,匹配密码
1 | wpscan --url http://dc-2 -U admin -P pass.txt |
- 命令补充
1 | # less查看文件 |
- git提权
1 | sudo git -p help config |
** 攻击流程: **
扫ip

扫可疑ip

看到常用端口80和7744开启,进一步侵略性扫描

分析得到的关键数据:
80端口对应着web渗透方向,并且我们可以看到这里对应的CMS是wordpress,版本是4.7.10
然后7744端口对应着ssh渗透,可以通过爆破和版本漏洞进行攻击
我们先尝试攻击80端口
输入dc-2登录网页,找到第一个flag入口


translate:你惯用字典或许并不适用,所以不妨换一种方式,也许你需要用cewl。密码越多越好,但大部分时候你很难全部获得。 用一个身份登录以获得下一个flag, 如果没有,就用另一个身份登录。
提取有效信息:
1.一般字典不行
2.提到了cewl工具
3.需要几个账号密码去登录拿到下一个flag
所以我们下一步用cewl爬取这个网站生成自己的字典
1 | cewl http://192.168.145.180 -w dc2password.txt |
运行这个命令之后,ceWL会从首页开始爬这个网站所有可以访问链接,默认深度为2(也就是从指定的起始界面0+起始页面上能访问的直接链接1+一层间接链接2)
然后分析所有页面的文本内容,从中提取单词生成一个字典大纲,我们可以从这些包含网站信息的词里猜测密码
cat dc2password.txt发现爆出了很多敏感词汇
然后使用工具wpscan
1 | wpscan --url http://dc-2 -e u |
–url指定要扫描的目标网站url,后面跟目标网站的网址
-e表示枚举,u是用户
看结果出来三个用户——admin,jerry,tom

继续用wpscan,加上我们之前扫出来的dc-2password字典逐个扫每一个用户名,看能不能找到对应密码
-u指定用户,-p是指定密码字典文件
1 | wpscan --url http://dc-2 -U admin -P dc2password.txt |
admin

tom——successsed

jerry——successed

所以我们现在得到了两对账户密码,但是没有登录界面
用nikto进行登录界面的url路径猜测
-h 指定扫描的目标主机
1 | nikto -h 192.168.145.180 |

成功找到并且进入登录界面
先用tom登录,成功,但是进去什么也没找到,刚好对应上flag1(被预判了…)
所以用jerry试试..
在pages里找到了flag2


translate:如果wordpress攻击不成功的话,还有另一条路,希望你能找到另一个攻击点
所以:尝试7744的ssh攻击
回到终端,用jerry链接显示permission denied
用tom连接成功

ls,找到flag3.txt➡cat
发现无法查看,被rbash(个人理解是只给用户提供最小权限的一个环境,会比一般shell限制的更多)限制了,所以下一步要从rbash里逃逸
先看看usr里面有什么,发现bin文件里有四个命令

可能是能使用的命令,用less看一下flag3.txt试一试,成功

translate:可怜的老tom总是追在jerry后面,他或许应该把承担的一切都su掉
提示我们用su命令把tom用户转成jerry用户,但是现在权限受制
用vi编辑器成功逃逸rbash

ls之后发现flag4.txt

translate:夸夸你,但是no,hints…走吧…
无脑尝试先提权到root
先sudo -l看看我都被允许用管理员权限运行哪些

回显:jerry用户可以 以root权限运行git(版本控制系统)命令
1 | sudo git -p help config |
cd并且ls
发现final-flag.txt!

❀❀❀完结撒花!!❀❀❀
- Title: dc系列——dc2
- Author: Le_ee 博客等级 码龄1年
- Created at : 2025-11-27 04:20:06
- Updated at : 2025-11-27 14:40:42
- Link: https://leei.site/2025/11/27/dc系列——dc2/
- License: This work is licensed under CC BY-NC-SA 4.0.