信息收集
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
我们就得到成功逃逸了