DC系列靶场---DC 2靶场的渗透测试(一)

信息收集

Nmap扫描

复制代码
nmap -sV -p- -sC -T4 172.30.1.141

域名解析

复制代码
echo '172.30.1.141 dc-2' >> /etc/hosts

目录枚举

复制代码
gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b 403,404

从目录结构应该确定这是一个wordprassCMS

HTTP探测

我们可以看到这是一个WordPress的CMS,还可以看到一个Flag。

从这个Flag1的提示中,我们得知了一个工具cewl

cewl字典生成器(字典)

CeWL ( Custom Word List generator)是一个用 Ruby 编写的自定义单词列表生成器,旨在将关键字从指定的 URL 提取到给定的深度。

这些关键字可作为密码破解工具的潜在条目,例如 John the Ripper, Medusa, and Wfuzz。

也就是cewl通过爬取网站生成字典文件。

用法很简单,cewl 选项 URL地址

复制代码
cewl -d 2 -m 5 -w dc-2.txt http://dc-2

-d 爬取的深度 默认为2

-m 生成密码的最小长度 默认为3

-w 保存写入指定的文件

-e 包括电子邮件地址

-c 计算单词在网站重复的次数

--with-numbers 生成的密码中包含数字

也可以-c计算单词在网站中出现的次数

-e 爬取网站中的电子邮件地址

--with-numbers 生成的字典中包含数字,有些网站没有数字所以爬不出来

这里就是通过爬取网站生成的字典文件

用户枚举

Wpscan:是一款开源的命令行工具,‌ 专门用于扫描和识别WordPress网站中的漏洞和安全问题。‌

复制代码
wpscan --url http://dc-2 -e u

-e ,--enumerate枚举

枚举用户 u

枚举有漏洞插件 vp

我们通过wpscan找到了三个用户名,分别为admin、jerry、tom。

密码字典文件有了,用户名字典文件也有了,我们进行暴力破解。

暴力破解

首先分写入用户名,保存为user.txt

复制代码
cat << EOF >> user.txt  //交互式,以EOF结束

然后我们使用wpscan进行暴力破解

复制代码
wpscan --url http://dc-2 -U work/exam/user.txt -P dc-2.txt

-P 指定密码字典

-U 指定用户字典

--url 指定URL

得到了jerry用户的密码和tom用户的密码

我们尝试一下那个用户可以登录到网站后台的管理系统。

网站管理后台地址:http://dc-2/wp-admin/

我们使用jerry用户成功登录后台,我们看一下这个网站中有没有flag。

我们在这个网站的Pages选项卡中看到了flag2

flag2中说无法利用WordPress并采取捷径,还有另一种方法。希望你找到了另一个切入点。

漏洞探测及利用

ssh登录

另一个切入点,就是我们扫描的时候看到开放了一个ssh服务。我们可以尝试远程连接,我们尝试一下这两个用户哪个可以通过SSH进行远程登录。

复制代码
ssh tom@172.30.1.141 -p7744

Tom用户是可以通过ssh进行远程连接的,但是端口号要指定为7744,因为我们通过nmap扫描到了7744端口为ssh服务。

复制代码
ifconfig

rbash逃逸

我们在使用命令的时候发现不能执行,没有这个命令,还发现了一个-rbash

什么是rbash?或 /usr/bin/lshell

受限shell是Linux Shell限制一些bash shell中的功能,并且是从名字上很清楚。 该限制很好地实现了命令以及脚本在受限shell中运行。它为Linux中的bash shell提供了一个额外的安全层。

主要是因为管理员给tom用户限制了bash,我们可以通过环境变量看一下,我们tom用户可以使用哪些命令

复制代码
echo $PATH
ls /home/tom/usr/bin

我们只能使用这四个命令,那我们可以逃逸限制

方法:利用系统常见应用逃逸

1ftp

2more //分页查看

3less //分页查看

4man //查看帮助

5vi

6vim

以上在输入的地方输入!/bin/sh 或 !/bin/bash,只要有交互式我们就可以进行逃逸。

我们是可以使用vi的,所以我们通过vi这个命令来进行逃逸。

Vi随便编辑一个文件

复制代码
set shell=/bin/sh

回车在回车输入shell回车

复制代码
shell

我们就得到成功逃逸了

相关推荐
小小小小宇17 分钟前
OpenMemory MCP
前端
秋940 分钟前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
和平宇宙44 分钟前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
IT_陈寒1 小时前
Redis持久化这个坑,我爬了一整天才出来
前端·人工智能·后端
无风听海1 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
换个昵称都难1 小时前
webrtc 音频模块FEC模块
网络·音视频·webrtc
naildingding1 小时前
3-ts接口 Interface
前端·typescript
CTA终结者1 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
小小前端仔LC2 小时前
Node.js + LangChain + React:搭建个人知识库(六)- “吃什么”项目实战:从700+菜谱入库到Taro H5端JSON渲染
前端·后端
huangdong_2 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言