准备工作
在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/
导入到vmware
打开kali准备进行渗透(ip:192.168.200.6)
信息收集
利用nmap进行ip端口探测
nmap -sS 192.168.200.6/24
探测到ip为192.168.200.13的主机开放了80端口
访问192.168.200.13:80,一直转圈无法打开,后来重定向到了这个网站www.dc-2.com
需要手动配置hosts文件,靶机ip对应的dc-2域名里添加进去
vi /etc/hosts
在网站找到了flag1
flag1提示我们使用cewl对这里进行扫描获得密码字典
cewl http://dc-2/index.php/flag/ > pwd.dic
将扫到的密码字典保存下来
目前网站已经没有别的信息了,接下来先把网站扫一遍看看有没有别的入口
使用dirsearch
python3 dirsearch.py -u http://192.168.200.13:80
发现一个后台登陆的界面http://dc-2/wp-login.php,框架是wordpress
wpscan扫描用户
使用kali自带的工具wpscan(wordpress框架专门的漏洞扫描工具)列举出所有用户
wpscan --url http://dc-2/ -e u
发现admin、jerry、tom三个用户,结合我们刚刚拿到的密码字典,可以进行爆破
使用BP带的爆破模块,选择Cluster bomb模式,将用户和密码设置为变量
再将第一个变量设置为admin、jerry、tom,第二个变量导入为刚刚获得的密码字典
进行爆破,根据返回的长度,获得两个匹配的账号密码
tom——parturient
jerry——adipiscing
先登陆tom看看
在这里找到了flag2,jerry也是一样的
提示我们除了利用wordpress还有另一个方法,但找了很久不知道什么方法,看了一下别人的通关记录才发现,刚刚nmap扫描的时候没有扫透应该使用 nmap -p- 192.168.200.13 扫描所有范围的端口,才能扫到7744端口
但是这样却扫不出是什么服务使用nmap -sV -p- 192.168.200.13就能看到是ssh服务
知道了是ssh就用刚刚的账号密码尝试连接看看
成功连上,看到了flag3.txt
用了cat命令和vim都打不开,后面试了vi就可以打开了
可怜的老汤姆总是在追杰瑞。也许他应该为自己造成的压力负责。
提示使用su,tom和jerry都是用户,应该是要切换到jerry
看看别的文件夹有没有信息,但是cd命令给限制了,su切换到jerry也不行
绕过rbash
找资料发现需要绕过rbash
参考文章RBash - 受限的Bash绕过 - 云+社区 - 腾讯云 (tencent.com)
输入vi 打开编辑器,然后输入:set shell=/bin/bash,再执行命令:shell,就可以绕过rbash
获取权限后就可以cd查看别的文件夹
看到上级文件夹有一个jerry,进去后发现flag4.txt,用vi打开查看
没有提示了 ,直接让我们进到home里,但是却提到了git outta here,应该是git提权
但发现刚刚那个绕过方式不能使用su切换到jerry,再换一种绕过方式看看
BASH_CMDS[a]=/bin/sh;a //注:把/bin/bash给a变量`
export PATH=$PATH:/bin/ //注:将/bin 作为PATH环境变量导出 export PATH=$PATH:/usr/bin //注:将/usr/bin作为PATH环境变量导出
成功绕过 ,登陆jerry
但是当访问root文件夹时却权限不够,尝试使用git提权
git提权
输入如下命令,会强制进入交互状态
sudo git -p --help
再调用bash
!/bin/bash
成功提权,现在就能以root身份执行命令了,进入root获得最终flag
参考文章
rbash绕过_一只小白@的博客-CSDN博客_rbash绕过
Vulnhub -- DC2靶机渗透 - Gh0st_1n_The_Shell - 博客园 (cnblogs.com)