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

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

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

1\]ftp \[2\]more //分页查看 \[3\]less //分页查看 \[4\]man //查看帮助 \[5\]vi \[6\]vim 以上在输入的地方输入!/bin/sh 或 !/bin/bash,只要有交互式我们就可以进行逃逸。 我们是可以使用vi的,所以我们通过vi这个命令来进行逃逸。 Vi随便编辑一个文件 ![](https://i-blog.csdnimg.cn/direct/14e7855aa2db4f09a213faabb417ba57.png) set shell=/bin/sh 回车在回车输入shell回车 ![](https://i-blog.csdnimg.cn/direct/31e547cb9a27482abf2950bfed4c7346.png) shell 我们就得到成功逃逸了 ![](https://i-blog.csdnimg.cn/direct/0eb6a4c32f9a4f83b55bbbc2d455172b.png)

相关推荐
东风西巷几秒前
Rubick:基于Electron的开源桌面效率工具箱
前端·javascript·electron·软件需求
麻辣清汤1 分钟前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi
云边云科技5 分钟前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售
钢铁男儿11 分钟前
Python 正则表达式(正则表达式和Python 语言)
python·mysql·正则表达式
钢铁男儿20 分钟前
Python 正则表达式实战:解析系统登录与进程信息
开发语言·python·正则表达式
rainFFrain27 分钟前
Boost搜索引擎项目(详细思路版)
网络·c++·http·搜索引擎
AOwhisky31 分钟前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
探码科技31 分钟前
AI知识管理软件推荐:九大解决方案与企业应用
前端·ruby
编程小黑马33 分钟前
解决flutter 在控制器如controller 无法直接访问私有类方法的问题
前端
野生技术架构师42 分钟前
2025年中高级后端开发Java岗八股文最新开源
java·开发语言