vulnhub 靶场 —— NullByte

免责声明

本博客文章仅供教育和研究目的使用。本文中提到的所有信息和技术均基于公开来源和合法获取的知识。本文不鼓励或支持任何非法活动,包括但不限于未经授权访问计算机系统、网络或数据。

作者对于读者使用本文中的信息所导致的任何直接或间接后果不承担任何责任。包括但不限于因使用本文所述技术而可能导致的法律诉讼、财产损失、隐私泄露或其他任何形式的责任。

在进行任何渗透测试或安全研究之前,请确保您已获得所有必要的授权,并遵守适用的法律和道德准则。未经授权的安全测试可能违反法律,并可能导致严重的法律后果。

本文中的内容仅供参考,不应被视为专业建议。在进行任何安全相关活动之前,建议咨询具有相应资质的专业人士。

作者保留对本博客文章的所有权利,并有权在未经通知的情况下进行修改或删除。

0x00 环境简介与环境搭建

0x00-1 环境简介

序号

服务器

角色

网络位置

系统处理器架构

IPv4 地址

1

Kali GNU/Linux Rolling

渗透机器

边缘

x86_64

8.27.11.7

2

?

目标服务器

边缘

?

?

0x00-2 行动目标

获取目标服务器中的 proof.txt 文件内容

0x01 探索发现阶段

0x01-1 主机发现

0x01-2 端口扫描

0x01-3 服务探测

0x01-4 识别 Web 应用框架及版本

0x01-5 探索发现阶段总结

在探索发现阶段中,通过 nmap 扫描结果发现目标服务器开启了 80 端口的 HTTP 服务,777 端口的 SSH 服务,通过访问服务器的 HTTP 服务发现网站网页并没有可交互的地方

0x02 入侵和感染阶段

0x02-1 对 Web 服务器进行目录爆破

使用 gobuster 也可以爆破,这里使用 dirsearch 进行爆破

​gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://8.27.11.13

对这几个目录进行访问,并未发现有效的收获

0x02-2 查看网站首页源代码

网站首页代码量很少,并且只有 img 标签处有调用资源,尝试下载 main.gif 并对其进行分析

0x02-3 下载 main.gif 进行分析

查看图片类型以及查看图片中是否存在隐藏文件

读取 main.gif 文件的所有元数据,发现文件中嵌入了一条注释,内容为 P-): kzMb5nVYJw。这条注释可能是人为添加的,也可能是某种隐藏信息或标记

使用 strings 命令扫描 main.gif 文件的二进制内容,提取其中所有连续的、可打印的 ASCII 或 Unicode 字符串,发现 kzMb5nVYJw 这一段字符串很特殊,猜测应该会是一个 Web 路径,下面尝试访问路径

0x02-4 尝试访问 Web 路径

发现网页内容很简单,只有一个输入框,存在交互场景,猜测这里会出现漏洞

0x02-5 查看网页源代码

通过查看网页源码发现这个输入框的类型为密码类型,提交方式为 POST,回车后跳转至 index.php 页面,或者说这个登录页面本身就是 index.php 页面。注释得意思为这个表单没有连接到 mysql,密码没那么复杂,猜测网站使用的数据库为 MySQL,并且存在弱密码

0x02-6 尝试使用 hydra 爆破密码

由于提交方式为 POST,所以 http-form-post 不可缺省,还需要注意的是 hydra 在进行登录时需要 -l 参数指定用户名,不过再次场景中无用户名,因此随便输入一个用户名即可

0x02-7 登录访问页面

发现登录后的网页依旧有一个输入框,只不过类型为 text,提交方式为 GET,回车后跳转至 420search.php 页面,那么直接回车访问 420search.php 页面

发现这个页面是一个查询页面,查询的是数据库中的用户名字段的数据,因此猜测这里存在 SQL 注入,下面尝试进行 SQL 注入

0x02-8 尝试进行 SQL 注入

为了能够更为深刻的巩固 SQL 注入的知识,这里采用手工注入的方式,使用 sqlmap 工具也可以

0x02-8.1 判断闭合条件

闭合条件常见的无非就是 '、(、)、/、\、#、" 这几个字符

测试后发现必和条件为双引号,并且可以直接判断出注入类型为字符型注入

0x02-8.2 判断字段数

0x02-8.3 确定回显点

为了使页面更简洁,输入一个查不到的数据,目的是为了让页面少显示或不显示无效内容

0x02-8.4 爆库

查询当前用户、当前数据库名、所有数据库名

0x02-8.5 爆表

seth 数据库中只有一张 users 表

0x02-8.6 爆字段

查出 users 表中存在 id、user、pass、position 字段,猜测 user 和 pass 字段中存储了用户的用户名以及密码

0x02-8.7 爆数据

发现只有 ramses 和 isis 两个用户,并且 ramses 用户的密码看似为 base64 加密的形式,isis 用户的密码直接表明不允许

0x02-8.8 尝试破解 ramses 用户密码

32 位字符串,猜测为 md5 加密,使用工具进行验证

使用在线工具破解

0x02-9 尝试登录 phpMyAdmin 和 SSH

0x02-9.1 登录 phpMyAdmin

以失败告终

0x02-9.2 登录 SSH

登陆成功,不过现在具有的权限比较低,接下来尝试将权限提升至 root 权限

0x03 攻击和利用阶段

0x03-1 查找具有 suid 权限的文件

0x03-2 尝试运行文件分析文件功能

执行后发现该文件执行了 sh 和 ps 命令,实战情况下可以将文件保存到本地使用 strace 命令进行分析

这样的话就可以使用环境变量劫持进行权限提升

0x03-3 修改环境变量

0x03-4 执行文件

0x04 渗透总结

1、通过探索发现阶段收集到目标服务器开放了一个常见的端口和两个常见的服务,80 端口的 HTTP 服务和 777 端口 SSH 服务

2、通过目录爆破发现常见的目录以及文件,但是没有很明显的有效信息

3、通过对网站首页的 main.gif 文件进行元数据分析,发现图片中存在一段疑似人为添加的隐藏字符串,尝试当作目录访问后出现页面

4、使用 hydra 对登录页面爆破后,再对第二个页面进行 SQL 注入,获取到 ramses 用户的密码

5、使用获取到的登录凭证尝试登录 SSH 服务,登录成功后查找具有 suid 权限的文件成功将权限提升至 root 权限

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

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

相关文章

Unity做2D小游戏2------创建地形和背景

我是跟着这个up主做的:【unity/2d/超基础】教你做一款2d横版游戏 打开Unity Hub后,点击项目--新项目,进入下面的界面,可以根据想要做的项目选择对应的模型,我现在要做2D小游戏,所以选择第一个2D核心模板。…

判断函数是否为react组件或lazy包裹的组件

function Modal(){return <p>123</p> } 实参里填入函数名,是false 实参里填入标签形式的函数,是true isValidElement(Modal)//false isValidElement(<Modal></Modal>)//true 官方说明 isValidElement – React 中文文档 但是官方并不建议用isValidE…

Vue笔记(八)

一、Pinia &#xff08;一&#xff09;手动添加Piaia到Vue项目 1.安装Pinia&#xff1a;使用包管理器进行安装&#xff0c;在项目目录下运行 npm install pinia 或 yarn add pinia &#xff0c;为项目引入Pinia状态管理库。 2.创建Pinia实例&#xff1a;在项目的JavaScript代…

如何将3DMAX中的3D文件转换为AutoCAD中的2D图形?

大家好,今天我们来探讨一下如何将3DMAX中的3D文件转换为AutoCAD中的2D图形。无论是出于设计交流、施工准备还是其他实际需求,这种转换在工程设计领域都是一项非常实用的技能。接下来,我将为大家详细介绍几种实现这一转换的方法,帮助大家轻松跨越3D与2D设计之间的鸿沟。让我…

javaEE-11.javaScript入门

目录 一.什么是javaScript 二.快速实现 三.JS引入方式 1.行内引入: 2.内部引入: 3.外部引入: 四.基础语法 1.变量 变量命名规则: 2.数据类型 3.运算符 五.JS对象 1.数组 创建数组: 2.操作数组 3.函数 函数注意事项: 函数参数: 4.对象 1.使用字面量 创建对象:…

机器学习 - 进一步理解最大似然估计和高斯分布的关系

一、高斯分布得到的是一个概率吗&#xff1f; 高斯分布&#xff08;也称为正态分布&#xff09;描述的是随机变量在某范围内取值的概率分布情况。其概率密度函数&#xff08;PDF&#xff09;为&#xff1a; 其中&#xff0c;μ 是均值&#xff0c;σ 是标准差。 需要注意的是…

SaaS+AI应用架构:业务场景、智能体、大模型、知识库、传统工具系统

SaaSAI应用架构&#xff1a;业务场景、智能体、大模型、知识库、传统工具系统 大家好&#xff0c;我是汤师爷~ 在SaaS与AI应用的演进过程中&#xff0c;合理的架构设计至关重要。本节将详细介绍其五个核心层次&#xff1a; 业务场景层&#xff1a;发现和确定业务场景智能体层…

三、k8s pod详解

pod详解的相关的基础知识和初始化容器&#xff0c;以及私有化的镜像仓库*。 pod进阶&#xff1a;pod的状态&#xff0c;pod的探针 pod的详解&#xff1a; pod是k8s集群管理的最小单位&#xff0c;最小的资源组件&#xff0c;也是最小化运行容器的资源对象。 容器运行在pod里…

OpenCV 相机标定流程指南

OpenCV 相机标定流程指南 前置准备标定流程结果输出与验证建议源代码 OpenCV 相机标定流程指南 https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html https://learnopencv.com/camera-calibration-using-opencv/ 前置准备 制作标定板&#xff1a;生成高精度棋…

【Windows】PowerShell 缓存区大小调节

PowerShell 缓存区大小调节 方式1 打开powershell 窗口属性调节方式2&#xff0c;修改 PowerShell 配置文件 方式1 打开powershell 窗口属性调节 打开 CMD&#xff08;按 Win R&#xff0c;输入 cmd&#xff09;。右键标题栏 → 选择 属性&#xff08;Properties&#xff09;…

127,【3】 buuctf [NPUCTF2020]ReadlezPHP

进入靶场 吓我一跳 查看源码 点击 审计 <?php// 定义一个名为 HelloPhp 的类&#xff0c;该类可能用于执行与日期格式化相关的操作 class HelloPhp {// 定义一个公共属性 $a&#xff0c;用于存储日期格式化的模板public $a;// 定义一个公共属性 $b&#xff0c;用于存储…

问题:通过策略模式+工厂模式+模板方法模式实现ifelse优化

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 示例&#xff1a;商城系统有会员系统&#xff0c;不同会员有不同优惠程度&#xff0c;普通会员不优惠&#xff1b;黄金会员打8折&#xff1b;白金会员优惠50元&#xff0c;再打7折&#xff1b; 问题描…

Android Studio2024版本安装环境SDK、Gradle配置

一、软件版本&#xff0c;安装包附上 &#x1f449;android-studio-2024.1.2.12-windows.exe&#x1f448; &#x1f449;百度网盘Android Studio安装包&#x1f448; &#xff08;若下载连链接失效可去百度网盘链接下载&#xff09; 二、软件安装过程 ​ ​ ​ 三、准备运行…

Leetcode - 149双周赛

目录 一、3438. 找到字符串中合法的相邻数字二、3439. 重新安排会议得到最多空余时间 I三、3440. 重新安排会议得到最多空余时间 II四、3441. 变成好标题的最少代价 一、3438. 找到字符串中合法的相邻数字 题目链接 本题有两个条件&#xff1a; 相邻数字互不相同两个数字的的…

使用 meshgrid函数绘制网格点坐标的原理与代码实现

使用 meshgrid 绘制网格点坐标的原理与代码实现 在 MATLAB 中&#xff0c;meshgrid 是一个常用函数&#xff0c;用于生成二维平面网格点的坐标矩阵。本文将详细介绍如何利用 meshgrid 函数生成的矩阵绘制网格点的坐标&#xff0c;并给出具体的代码实现和原理解析。 实现思路 …

【AI赋能】蓝耘智算平台实战指南:3步构建企业级DeepSeek智能助手

蓝耘智算平台实战指南&#xff1a;3步构建企业级DeepSeek智能助手 引言&#xff1a;AI大模型时代的算力革命 在2025年全球AI技术峰会上&#xff0c;DeepSeek-R1凭借其开源架构与实时推理能力&#xff0c;成为首个通过图灵测试的中文大模型。该模型在语言理解、跨模态交互等维…

Mac(m1)本地部署deepseek-R1模型

1. 下载安装ollama 直接下载软件&#xff0c;下载完成之后&#xff0c;安装即可&#xff0c;安装完成之后&#xff0c;命令行中可出现ollama命令 2. 在ollama官网查看需要下载的模型下载命令 1. 在官网查看deepseek对应的模型 2. 选择使用电脑配置的模型 3. copy 对应模型的安…

第七节 文件与流

基本的输入输出&#xff08;iostream&#xff09; C标准库提供了一组丰富的输入/输出功能&#xff0c;C的I/O发生在流中&#xff0c;流是字节序列。如果字节流是从设备&#xff08;键盘、磁盘驱动器、网络连接等&#xff09;流向内存&#xff0c;叫做输入操作。如果字节流是从…

网络安全溯源 思路 网络安全原理

网络安全背景 网络就是实现不同主机之间的通讯。网络出现之初利用TCP/IP协议簇的相关协议概念&#xff0c;已经满足了互连两台主机之间可以进行通讯的目的&#xff0c;虽然看似简简单单几句话&#xff0c;就描述了网络概念与网络出现的目的&#xff0c;但是为了真正实现两台主机…

内网ip网段记录

1.介绍 常见的内网IP段有&#xff1a; A类&#xff1a; 10.0.0.0/8 大型企业内部网络&#xff08;如 AWS、阿里云&#xff09; 10.0.0.0 - 10.255.255.255 B类&#xff1a;172.16.0.0/12 中型企业、学校 172.16.0.0 - 172.31.255.255 C类&#xff1a;192.168.0.0/16 家庭…