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 权限

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

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

相关文章

React 初级教程

一、React 简介 React 是由 Facebook 开发的开源 JavaScript 库,用于构建用户界面(UI)。特点: 声明式编程:通过描述 UI 应该是什么样子(而不是操作 DOM)来构建界面。组件化:将 UI 拆分为独立可复用的组件。跨平台:支持 Web(React)、移动端(React Native)、VR 等。…

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

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

git tag的使用方法

1.添加tag git tag 2.添加tag并添加信息 git tag -a -m “your message” 3.查看tag git tag 4.推到远端 git push origin 5.推送所有本地标签到远程仓库 git push origin --tags 6.删除tag git tag -d 7.切换到某一个tag git checkout

【STM32系列】利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计IIR数字滤波器可以看这里:利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程) 前言 本篇文章将介绍如何利用MATLAB与STM32的ARM-DSP库相结合,简明易懂地实现FIR低通滤波器的设计与应用。文章重点不在…

使用mermaid画流程图

本文介绍使用mermaid画流程图,并给出几个示例。 背景 目前,除有明确格式要求的文档外,笔者一般使用markdown写文档、笔记。当文档有图片时,使用Typora等软件可实时渲染,所见即所得。但如果文档接收方没有安装相关工具…

C# ASP.NET核心特性介绍

.NET学习资料 .NET学习资料 .NET学习资料 在当今的软件开发领域中,C# ASP.NET凭借其强大的功能和丰富的特性,成为构建 Web 应用程序的重要技术之一。以下将详细介绍 C# ASP.NET的核心特性。 多语言支持 ASP.NET 支持多种语言进行开发,这使…

使用Hexo部署NexT主体网站

一.使用git提交文件 参考: 从零开始搭建个人博客(超详细) - 知乎 致谢! 第一种:本地没有 git 仓库 直接将远程仓库 clone 到本地;将文件添加并 commit 到本地仓库;将本地仓库的内容push到远程仓…

12.项目结构

后端结构 ruoyi-admin 项目启动的入口 提供了两种启动方式 1.RuoYiApplication基于springboot,内置tomcat,直接运行。 2.RuoYiServletInitializer将springboot项目打成一个war包,用外置的servlet容器来运行。 通用功能的controller 后台登录相关的、权限控制相关的、数据字…

cursor如何使用到150次以及解决cursor限制问题

cursor白嫖免费版限制问题解决以后经常遇到只使用了50次额度就被限制了,软件提示you reached your trial。 解决方法 使用cursor的老版本,因为老版本有agent和normal可以切换,通过切换通往世界的IP,重启软件或者切换点几次agent和…

mmdetection3d环境部署

安装python库 pip install torch1.9.1cu111 torchvision0.10.1cu111 torchaudio0.9.1 -f https://download.pytorch.org/whl/torch_stable.html pip install mmengine pip install mmcv-2.0.0rc4-cp38-cp38-manylinux1_x86_64.whl pip install mmdet>3.0.0,<3.1.0 cd m…

基于springboot+vue的游戏创意工坊与推广平台的设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

25自动化考研复试面试常见核心问题真题汇总,自动化考研复试面试有哪些经典问题?自动化考研复试难不难啊?

你是不是正在为考研自动化专业的复试发愁&#xff1f;担心准备不充分、表现不好&#xff1f;别慌&#xff01;今天&#xff0c;学姐——复试面试拿下90分、成功上岸的学姐&#xff0c;来给大家分享备考秘诀。复试没那么可怕&#xff0c;只要掌握正确的方法&#xff0c;你也可以…

用Kibana实现Elasticsearch索引的增删改查:实战指南

在大数据时代&#xff0c;Elasticsearch&#xff08;简称 ES&#xff09;和 Kibana 作为强大的数据搜索与可视化工具&#xff0c;受到了众多开发者的青睐。Kibana 提供了一个直观的界面&#xff0c;可以方便地对 Elasticsearch 中的数据进行操作。本文将详细介绍如何使用 Kiban…

【HarmonyOS Next 自定义可拖拽image】

效果图&#xff1a; 代码&#xff1a; import display from "ohos.display" import { AppUtil } from "pura/harmony-utils"/*** 自定义可拖拽图标组件*/ Component export default struct DraggableImage {imageResource?: ResourceimageHeight: numbe…

从0搭建卷积神经网络(CNN)--详细教学

目录 一、卷积神经网络介绍 1、简介 经典CNN架构 2、与传统神经网络区别 3、卷积神经网络的结构 (1) 卷积层&#xff08;Convolutional Layer&#xff09; (2) 激活函数&#xff08;Activation Function&#xff09; (3) 池化层&#xff08;Pooling Layer&#xff09; …

Jmeter对图片验证码的处理

Jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入&#xff0c;而且每次登录时图片验证码都是随机的&#xff1b;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段&#xff0c;然后再登录接口中使用&#xff1b; 通过jmeter对图片验证码…

深入理解指针初阶:从概念到实践

一、引言 在 C 语言的学习旅程中&#xff0c;指针无疑是一座必须翻越的高峰。它强大而灵活&#xff0c;掌握指针&#xff0c;能让我们更高效地操作内存&#xff0c;编写出更优化的代码。但指针也常常让初学者望而生畏&#xff0c;觉得它复杂难懂。别担心&#xff0c;本文将用通…

【CubeMX-HAL库】STM32F407—无刷电机学习笔记

目录 简介&#xff1a; 学习资料&#xff1a; 跳转目录&#xff1a; 一、工程创建 二、板载LED 三、用户按键 四、蜂鸣器 1.完整IO控制代码 五、TFT彩屏驱动 六、ADC多通道 1.通道确认 2.CubeMX配置 ①开启对应的ADC通道 ②选择规则组通道 ③开启DMA ④开启ADC…

在 C# 中,处理 Excel 和 PDF 文件的库有很多。以下是一些比较常用的选择

读取 Excel 文件的库 NPOI 用途&#xff1a;可以读取和写入 .xls 和 .xlsx 文件。特点&#xff1a;无需安装 Microsoft Office&#xff0c;支持简单的 Excel 操作&#xff0c;如格式化、公式、图表等。 EPPlus 用途&#xff1a;主要用于 .xlsx 格式&#xff08;Excel 2007 及以…

java配置api,vue网页调用api从oracle数据库读取数据

一、主入口文件 1&#xff1a;java后端端口号 2&#xff1a;数据库类型 和 数据库所在服务器ip地址 3&#xff1a;服务器用户名和密码 二、映射数据库表中的数据 resources/mapper/.xml文件 1&#xff1a;column后变量名是数据库中存储的变量名 property的值是column值的…