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随便编辑一个文件

set shell=/bin/sh

回车在回车输入shell回车

shell

我们就得到成功逃逸了

相关推荐
万物得其道者成2 分钟前
React Zustand状态管理库的使用
开发语言·javascript·ecmascript
小白小白从不日白2 分钟前
react hooks--useReducer
前端·javascript·react.js
沐风ya2 分钟前
Reactor介绍,如何从简易版本的epoll修改成Reactor模型(demo版本代码+详细介绍)
网络
奈斯。zs6 分钟前
yjs08——矩阵、数组的运算
人工智能·python·线性代数·矩阵·numpy
Melody20506 分钟前
tensorflow-dataset 内网下载 指定目录
人工智能·python·tensorflow
SUGERBOOM6 分钟前
【网络安全】网络基础第一阶段——第一节:网络协议基础---- OSI与TCP/IP协议
网络·网络协议·web安全
学步_技术7 分钟前
Python编码系列—Python抽象工厂模式:构建复杂对象家族的蓝图
开发语言·python·抽象工厂模式
下雪天的夏风15 分钟前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
danplus16 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
petaexpress23 分钟前
常用的k8s容器网络模式有哪些?
网络·容器·kubernetes