Vulnhub靶机渗透测试之DC-2-WordPress
2020-12-21 16:58:36 Author: www.freebuf.com(查看原文) 阅读量:178 收藏

环境部署

攻击机kali:192.168.0.114

靶机dc-2:192.168.0.131

靶机下载地址https://download.vulnhub.com/dc/DC-2.zip

1、直接从官网下载做好的虚拟机镜像文件(我下载的Mirror版本的)

2、解压会得到一个.ova的文件,然后在VMware中打开即可

3、虚拟机打开页面如下,一个登陆页面

1608528943_5fe0342f291c922c4a818.png!small?1608528942022

信息收集

1、使用nmap进行扫描,发现dc-2靶机的ip为:192.168.0.131

1608529090_5fe034c253778a4907298.jpg!small?1608529089096

2、继续扫描靶机的端口,可以看到开放了80端口和7744端口(在此端口上部署了ssh服务)

1608529097_5fe034c911a5cde1fcfa1.jpg!small?1608529095894

3、因为开放了80端口,所以在浏览器中访问:http://192.168.0.131:80,发现url变成了http://dc-2,很明显,DNS没有被解析。

1608529101_5fe034cdaf637431877ee.jpg!small?1608529100491

4、再次查看一下nmap的扫描结果,发现如下结果,nmap给出了无法跟踪跳转到http://dc-2/,所以我们需要去添加hosts的地址

1608529105_5fe034d1dc0f216c43bfb.jpg!small?1608529104701

5、hosts文件所在路径

windows:C:\Windows\System32\drivers\etc\hosts

linux:/etc/hosts

我是在物理机访问的dc-2靶场,所以就在我的物理机上的hosts文件中添加了:192.168.0.131 dc-2 解析

1608529137_5fe034f1942ff353752f7.jpg!small

在linux中也是在hosts文件添加:192.168.0.131 dc-2,如下:

1608529109_5fe034d5d3d6064f24178.jpg!small?1608529109104

6、然后再次访问:http://192.168.0.131:80,是一个wordpress的界面。

1608530153_5fe038e982a04250cc1b6.jpg!small?1608530152363

7、找到第一个flag1

1608530220_5fe0392c5677ef81680d7.jpg!small?1608530219479

8、提示翻译过来如下

1608530321_5fe03991315b753cefb2f.jpg!small?1608530320048

爆破账户名和密码

密码生成

1、提示我们需要一个用户名来登录,而且其中有一个关键字:cewl(kali自带这个工具),这是一个linux的字典生成工具,最大的特点就是能够爬取网站的信息并生成字典。

使用cewl来爬取网站并生成密码字典

cewl http://dc-2/ -w dc-2.txt #生成字典

wc -l dc-2.txt #查看字典中有多少行

1608531499_5fe03e2b1a6dfc4bdb030.png!small?1608531497938

扫描用户名账号

1、因为网站是wordpress,所以采用wpscan来扫描

wpscan --url dc-2  -e u #扫描出网站的用户名

发现了3个账号:admin、jerry、tom

1608532227_5fe04103342224b81a05d.png!small?1608532226122

开始爆破

1、使用之前获取的三个用户名和cewl工具生成的字典的来爆破

dc-2-user.txt文件:存放用户名   dc-2.txt:存放密码

wpscan --url http://dc-2/-U dc-2-user.txt -P dc-2.txt

1608532965_5fe043e54f99e5a32f57c.png!small?1608532964218

成功爆出jerry和tom的密码:

jerry/adipiscing
tom/parturient

2、登录后台,wordpress默认后台路径是:/wp-login.php,访问后台登录界面

1608532586_5fe0426a8b0fbc8dab611.png!small

使用jerry用户登录(使用tom登录没有什么有用的信息)

1608533242_5fe044fa2d5bbc960ccb1.png!small?1608533241006

3、点击Pages按钮,查看到flag2,查看flag2

1608533545_5fe046298b24714dae30c.png!small?1608533544460

1608533636_5fe046842e8abb573505c.png!small?1608533635572

翻译过来为:

1608533710_5fe046ce2243c4132a18c.png!small?1608533708904

此时我们只能从另外一个入口来寻找flag了。

ssh登录靶机

1、使用之前爆破的用户名和密码来登录

jerry/adipiscing
tom/parturient

使用jerry登录,被拒绝登录了,只能使用tom用户登录

1608534208_5fe048c012cd4e3a36c1a.png!small?1608534206948

2、虽然登陆了ssh登录成功,但是无法使用cat或者vim查看flag3

1608534369_5fe04961b09a54688d497.png!small?1608534368483

绕过rbash

1、查看环境变量,发现只有4个命令可以使用

1608534529_5fe04a01259ad95eed840.png!small?1608534527878

2、即我们获取到的shell为:Restricted shell(受限制的shell),可以添加环境变量来绕过

#绕过rbash

BASH_CMDS[a]=/bin/sh;a

#添加环境变量

export PATH=$PATH:/bin/

export PATH=$PATH:/usr/bin/

1608535115_5fe04c4b7a4a9ec7c0fd2.png!small?1608535114236

3、成功读取flag3

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

翻译:可怜的老汤姆总是追随杰里。也许他应该承受自己造成的所有压力。

线索指向了jerry,提示使用su切换用户

4、使用su jerry切换为jerry用户,密码为之前获取的密码,成功读取flag4

1608535712_5fe04ea0c729796d06c21.png!small?1608535711724

提示为git,应该是使用git提权

git提权

1、查看jerry可以以root用户的身份执行git命令而且还不需要密码

1608535970_5fe04fa235d1244957e8a.png!small?1608535968966

2、提权

方法1:

sudo git -p help #强制进入交互状态

!/bin/bash #打开一个用户为root的shell

方法2:

sudo git help config #在末行命令模式输入

!/bin/bash 或者 !'sh' #打开一个用户为root的shell

1608536237_5fe050ad880c8e3585c5a.png!small?1608536236425

成功获取到最后一个flag

1608536743_5fe052a748cda29dfd622.png!small?1608536742036

知识点总结

1、wordpress的后台登陆点以及域名解析

2、cewl工具和wpscan工具的使用

3、su命令切换用户

4、git提权

参考文章

http://akevin.cn/index.php/archives/572/

https://blog.csdn.net/weixin_44288604/article/details/108032112


文章来源: https://www.freebuf.com/articles/web/258436.html
如有侵权请联系:admin#unsafe.sh