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

vulnhub靶场【kioptrix-4】靶机

前言

靶机:kioptrix-4,IP地址为192.168.1.75,后期IP地址为192.168.10.8

攻击:kali,IP地址为192.168.1.16,后期IP地址为192.168.10.6

都采用VMware虚拟机,网卡为桥接模式

这里的靶机,官方只给了硬盘文件,没有给出虚拟机可直接加载文件.vmx,所以这里需要自行安装一个,然后导入硬盘

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者通过下方链接下载https://pan.quark.cn/s/1f8bfb170c6d

安装靶机

首先使用VMware新建一个虚拟机

然后选择稍后安装操作系统

然后选择其他,默认版本即可

然后一直点击下一步直到完成即可

打开新建虚拟机的设置,添加一个硬盘,该路径就是靶机的硬盘位置

然后这时候把原本新建虚拟机的硬盘移除

这里千万别忘了把网络适配器改为桥接模式

这时候直接启动即可成功

主机发现

使用arp-scan -lnetdiscover -r 192.168.1.1/24,因为这两款工具对于同一局域网,同一网段扫描极快,当然也可以使用nmap扫描,我这里因为设备过多,影响截图,所以采用上面两个

信息收集

使用nmap扫描端口

网站信息探测

访问80端口默认界面,发现是一个登录界面

查看页面源代码,发现是form表单,并且是提交给checklogin.php处理的

尝试进行网站目录爆破,借助gobuster、dirsearch、dirb等工具皆可

gobuster dir -u http://192.168.1.75 -w /usr/share/wordlists/dirb/big.txt -x php,zip,gz,tar,txt,md -b 403-404

访问johnrobert都是跳转到index.php

dirsearch -u http://192.168.1.75 -x 404

访问database.sql,发现是类似于日志一样,访问发现添加了一个用户和密码,但是登录网站并不能成功

samba探测

之前扫描出的139445端口,服务为samba,那么尝试确定其版本

使用nmap脚本测试发现版本为3.0.28a,并且使用之前的脚本探测也是这个版本

nmap -sV 192.168.1.75 --script=smb-os-discovery

使用searchsploit搜索对应的版本漏洞,发现并无好用的,毕竟目的是获取shell

searchsploit samba 3.0.28a

尝试使用enum4linux测试,发现几个用户

enum4linux 192.168.1.75 -a

不过当测试ssh爆破时,发现长时间就出现超时,所以暂时搁置

漏洞寻找

根据前面收集的信息,暂无直接漏洞可用,那么开启burp或者yakit

尝试对网站进行抓取数据包进行测试,每一步都抓取数据包测试

但是这里不知道什么原因,这里原本的主机在开启burp后突然无法访问成功了,唉,估计是ip测试技术之类的吧,换一个机器测试,毕竟之前也没有抓取数据包,无法得知数据包情况

抓取登录时的数据包

那么尝试在post请求体数据中修改,在username处发现闭合并未有任何效果

password处发现闭合,出现返回不一样的,这里是数据库的报错

说明存在sql注入,那么尝试万能密码

myusername=john&mypassword=1234'+or+1=1--+&Submit=Login

发现跳转,并且这个重定向有点东西,根据英语意思是否可以理解为登录成功,并在后面指定用户

跟随跳转,发现又跳转到用户界面

再次跟随跳转发现直接登录成功

查看浏览器的界面,并以密码登录,确实成功

这里可以看到登录后,在url的构造是以username为参数指定用户名的,测试直接在url中修改username=robert,但是发现还是john的界面

继续通过抓包修改,也就是以robert登录时的数据包

然后与上面的形式一样进行万能密码测试,发现确实可行

这里注意,抓取的数据包是重新抓取的新的,当然也是可以在其中一个跳转的数据包中修改,也就是在login_success.php?username=john这里修改用户名,也就是前面enum4linux中枚举出的用户名

继续以上面的形式测试loneferret,通过抓包修改的方式以及修改url参数的方式,获取到一个提示

这里因为换了网络,所以这里靶机的ip地址和kali的地址都改变了

靶机地址192.168.10.8kali地址192.168.10.6

当前获取到的两个用户和密码

用户名密码
johnMyNameIsJohn
robertADGAdsafdfwt4gadfga==

一般到这里就可以进行下一步的测试了,不过实际情况中,不知道是否还有遗漏

建议进行一次完整的sql注入,这里就不演示了,很简单的,不过大概率是盲注

所以尝试使用sqlmap进行测试,说不定有些东西

吧抓取的数据包复制,并放置在一个文件中即可,命名为data

使用sqlmapsqlmap -r data --batch --dump

bash逃逸

johnrobert对应的密码,都可以以ssh登录成功,只是这里应该是rbash,太多东西无法使用

这里经过多次测试,发现大多都是无法使用的rbash逃逸,并且可用的命令很少

尝试使用echo写脚本等也是不行。最终无奈,百度一下wp,发现竟然是配合使用,就是这个命令echo os.system('/bin/bash')这个让我不理解。继续搜索,发现这个是lshell的一个漏洞,是针对python2的一个,下面是链接https://dev59.com/unix/LUHGoIgBc1ULPQZFOr8H

靶机内网收集

使用find寻找具有SUID权限的文件

find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 -print 2>/dev/null

sudo,但是没有权限,进一步收集,之前在网站存在sql注入,可能与数据库有交互的,那么去网站目录寻找一下是否连接数据库,确实连接数据库,并且还是以root这个权限极高的用户,且无密码

查看网络连接

ss -antlp
netstat -antlp

查看进程,并发现mysql服务确实以root在运行的

ps aux | grep root
ps -ef | grep root

内核版本信息以及系统信息

uname -a/-r
cat /etc/issue
cat /etc/*release
lsb_release

尝试上传脚本pspy64以及les.sh,发现该靶机首先不能执行二进制文件,然后les.sh需要更高的bash版本才行,所以可能隐藏的一些内容,可能无法收集

提权

既然mysqlroot执行,并且也是指定root连接,密码也为空,就可能直接联想到udf提权,不过需要进一步验证

首先确定数据库版本信息,然后再次连接数据库,并查看安全配置

mysql -uroot -p

可以连接成功数据库

这里我在前面的raven靶机提到过这个提权方式的,对于这个提权,如果secure_file_priv后没有具体值是,代表可能存在提权的。

并且这里的mysql版本信息,是因为当mysql>=5.1时,是必须把udf的动态链接库文件放置于mysql安装目录下的插件文件夹下,才能创建自定义函数,以提权。这里mysql版本是小于的,所以可直接使用

这里的提权方式可以使用默认的文件lib_mysqludf_sys.so,这个是可以执行系统命令的一个函数,根据情况,若是没有加载,需要使用create加载这个文件

或者也可以使用searchsploit搜索出的c文件中的函数进行提权,这里的文件可以自己编写,当然知道原理即可

查看/bin/bash是否修改为SUID权限

发现确实,并且可以直接输入/bin/bash -p提权至root

查看最终文件

对于使用searchsploit搜索出的,直接进行复原即可,因为文件中有每一步的用法,这里就省略

或者可以看之前的靶机raven系列,那个是mysql版本>=5.0的。链接:https://mp.weixin.qq.com/s/M1MQcKTW738sx463Vo7pgg

总结

该靶机主要考察:

  1. 对于sql注入,要结合,不要只看固定的地方,这里是根据http协议,存在于post方式中,那么依次类推,是否可以存在请求头中呢,要去思考
  2. 对于rbash逃逸,也要考虑可能是版本问题,这里就是lshell的版本漏洞,导致执行python中的函数
  3. 对于mysqludf提权,要知道条件,不然就是盲目的去硬碰,这里知道UDF提权条件后,就可以根据版本来进行测试,当然可以自己写提权文件

相关文章:

vulnhub靶场【kioptrix-4】靶机

前言 靶机:kioptrix-4,IP地址为192.168.1.75,后期IP地址为192.168.10.8 攻击:kali,IP地址为192.168.1.16,后期IP地址为192.168.10.6 都采用VMware虚拟机,网卡为桥接模式 这里的靶机&#xf…...

readline模块详解!!【Node.js】

‌“书到用时方恨少,事非经过不知难。”‌ —— 陆游 目录 ‌readline 是什么?‌基本用法:‌创建 Interface 类:核心流程‌: ‌Interface 类的关键事件:line:close:pause&#xff1a…...

软件测试的七大误区

随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识&#xf…...

【欢迎来到Git世界】Github入门

241227 241227 241227 Hello World 参考:Hello World - GitHub 文档. 1.创建存储库 r e p o s i t o r y repository repository(含README.md) 仓库名需与用户名一致。 选择公共。 选择使用Readme初始化此仓库。 2.何时用分支&#xf…...

解决 Ubuntu 24.04 虚拟机内无法ping 通 Hostname 的问题

问题背景 在 VMware 或 VirtualBox 中安装 Ubuntu 24.04 虚拟机时,遇到无法通过主机名(Hostname)进行网络通信的问题。例如,将虚拟机的主机名设置为 001,执行 ping 001 时返回 ping 0.0.0.1 并超时。此问题通常由 主机…...

给小白的oracle优化工具,了解一下

有时懒得分析或语句太长,可以尝试用oracle的dbms_sqldiag包进行sql优化, --How To Use DBMS_SQLDIAG To Diagnose Query Performance Issues (Doc ID 1386802.1) --诊断SQL 性能 SET ECHO ON SET LINESIZE 132 SET PAGESIZE 999 SET LONG 999999 SET SER…...

CT技术变迁史——CT是如何诞生的?

第一代CT(平移-旋转) X线球管为固定阳极,发射X线为直线笔形束,一个探测器,采用直线和旋转扫描相结合,即直线扫描后,旋转1次,再行直线扫描,旋转180完成一层面扫描,扫描时间3~6分钟。矩阵象素256256或320320。仅用于颅脑检查。 第二代CT (平移-旋转) 与第一代无质…...

【PHP脚本语言详解】为什么直接访问PHP文件会显示空白?从错误示例到正确执行!

前言 作为一名开发者,你是否曾经遇到过这样的问题:写了一个PHP脚本,放到服务器根目录后,直接通过file:///路径访问却显示空白页面?而换成http://localhost却能正常显示?这篇文章将带你深入理解PHP脚本语言…...

软件工程---需求工程

软件需求工程师发现、获取、组织、分析、编写和管理需求的系统方法,以使客户和项目组之间达成共识。 需求工程共包含五个步骤: 需求获取:对业务问题分析,与项目干系人沟通,以理解系统的目标、期望和约束,…...

spring注解开发(Spring整合MyBatis——Mapper代理开发模式、(Spring、MyBatis、Jdbc)配置类)(6)

目录 一、纯MyBatis独立开发程序。 (1)数据库与数据表。 (2)实体类。 (3)dao层接口。(Mapper代理模式、无SQL映射文件——注解配置映射关系) (4)MyBatis核心配…...

散户情绪周期模型(情绪影响操作)

目录 一、个股上涨阶段情绪演化二、个股下跌阶段情绪演化三、底部震荡阶段情绪演化四、情绪观察与操作工具箱1. 情绪自测量表(每日收盘后记录)2. 情绪-指标对照表 五、高阶情绪管理技巧1.认知重构训练2.生理指标监控(需配合智能手表&#xff…...

计算机毕业设计SpringBoot+Vue.js网上商城系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

自动化测试无法启动(java.net.SocketException)

在运行测试代码,对浏览器进行自动化操作时,遇到了以下问题,添加依赖,编写了测试代码,但是程序无法运行 这个有两种原因(我使用的是谷歌浏览器): 网络问题: 因为需要从GitHub上下载对应包,所以有时候可能会出现网络问题,这个时候可以打开VPN之后,重新对程序进行启动 浏览器版本…...

智能机器人加速进化:AI大模型与传感器的双重buff加成

Deepseek不仅可以在手机里为你解答现在的困惑、占卜未来的可能,也将成为你的贴心生活帮手! 2月21日,追觅科技旗下Dreamehome APP正式接入DeepSeek-R1大模型,2月24日发布的追觅S50系列扫地机器人也成为市面上首批搭载DeepSeek-R1的…...

osgEarth安装总结

第一步:安装OSG 直接通过git下载源码,使用cmake进行编译, git clone --depth 1 https://github.com/openscenegraph/OpenSceneGraph.git mkdir build cd build cmake .. make sudo make isntall编译过程中缺什么库,就安装什么库 …...

Java多线程与高并发专题——从AQS到ReentrantLock

关于AQS AQS就是AbstractQueuedSynchronizer抽象类,AQS其实就是JUC包下的一个基类,JUC下的很多内容都是基于AQS实现了部分功能,比如ReentrantLock,ThreadPoolExecutor,阻塞队列,CountDownLatch&#xff0c…...

力扣 寻找重复数

二分&#xff0c;双指针&#xff0c;环形链表。 题目 不看完题就是排序后&#xff0c;用两个快慢指针移动&#xff0c;找到相同就返回即可。 class Solution {public int findDuplicate(int[] nums) {Arrays.sort(nums);int l0;int r1;while(r<nums.length){if(nums[l]num…...

第48天:Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

#知识点 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、Log4j 一个基于Java的日志记录工具&#xff0c;当前被广泛应用于业务系统开发&#xff0c;开发者可以利用该工…...

ES6笔记总结

首先我们需要了解一下什么是 ECMA&#xff1a; ECMA&#xff08;European Computer Manufacturers Association&#xff09;中文名称为欧洲计算机制造商协会&#xff0c;这 个组织的目标是评估、开发和认可电信和计算机标准。1994 年后该组织改名为 Ecma 国际 什么是 ECMAScr…...

使用Docker Desktop部署GitLab

1. 环境准备 确保Windows 10/11系统支持虚拟化技术&#xff08;需在BIOS中开启Intel VT-x/AMD-V&#xff09;内存建议≥8GB&#xff0c;存储空间≥100GB 2. 安装Docker Desktop 访问Docker官网下载安装包安装时勾选"Use WSL 2 instead of Hyper-V"&#xff08;推荐…...

ChatGPT融资路演PPT全链路复盘:从技术叙事到估值锚点,98%初创团队忽略的3个合规雷区与2套可复用话术模板

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT融资路演PPT全链路复盘&#xff1a;从技术叙事到估值锚点 在2023年OpenAI面向核心投资者的闭门路演中&#xff0c;其PPT并非简单罗列产品功能&#xff0c;而是一套高度结构化的价值传递系统——…...

Kubernetes自动化运维与CI/CD集成:构建高效的持续交付流水线

Kubernetes自动化运维与CI/CD集成&#xff1a;构建高效的持续交付流水线 一、CI/CD概述 CI/CD&#xff08;持续集成/持续交付&#xff09; 是一种自动化软件交付的方法论&#xff0c;在Kubernetes环境中集成CI/CD可以实现应用的自动化构建、测试和部署。 1.1 CI/CD流程 代码…...

【AI翻译避坑指南】:92%用户忽略的5个ChatGPT翻译陷阱(含术语一致性崩塌、文化错译、被动语态误判),附可直接复用的Prompt模板

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT翻译质量怎么样 ChatGPT 在多语种翻译任务中展现出较强的上下文理解与语义连贯能力&#xff0c;尤其在非技术类通用文本&#xff08;如日常对话、新闻摘要、文学性段落&#xff09;中常能生成自…...

TVA视觉智能体专栏(二):为什么你的YOLO项目越用越废?对比TVA智能体四大核心差距

摘要&#xff1a;常规YOLO模型只能完成目标识别&#xff0c;无推理、无决策、无迭代能力&#xff0c;面对光照波动、工件偏移、杂点干扰极易误漏检。本文从环境适配、缺陷推理、迭代能力、工程落地四个维度&#xff0c;精准对比传统深度学习与TVA智能体的本质差距&#xff0c;破…...

HashMap 源码解析 底层原理 面试如何回答

HashMap 源码解析 底层原理 面试如何回答 一、参考资料 【Java视频教程&#xff0c;java入门神器&#xff08;附300道Java面试题剖析&#xff09;】 https://www.bilibili.com/video/BV1PY411e7J6/?p172&share_sourcecopy_web&vd_source855891859b2dc554eace9de3f28b4…...

创业团队如何利用Taotoken统一管理多个AI应用API成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业团队如何利用Taotoken统一管理多个AI应用API成本 对于同时开发多个集成AI功能的初创公司而言&#xff0c;技术选型与快速迭代是…...

[特殊字符] Lucky从零到一的系统搭建里程碑 | 写给后人的初心与使命

&#x1f331; 从零到一的足迹 写给未来的你们&#xff1a; 这不是炫耀&#xff0c;不是宣传。 这是一个普通人&#xff0c;一个退伍军人&#xff0c;一个什么都不懂的人&#xff0c;和AI一起创造的故事。 如果这个系统让你们受益&#xff0c;请记住&#xff1a;初心、根、使命…...

林志玲退文策院聘书,台湾大骂“中国玲”

林志玲到底咋了&#xff1f;这几天林志玲拒绝文策院董事的消息&#xff0c;在网上炸开了锅。可谁能想到&#xff0c;这个“拒绝”本身&#xff0c;反倒把她架在火上烤了一遍。先看岛内那边。一听说这事&#xff0c;一些极端网友直接炸毛&#xff0c;翻出她以前为祖国做的事儿&a…...

终极指南:如何用novel-downloader小说下载器批量保存网络小说

终极指南&#xff1a;如何用novel-downloader小说下载器批量保存网络小说 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 你是否曾遇到过这种情况&#xff1a;熬夜追更的小说突然从网…...

Agent协议标准化:互操作性的未来

Agent协议标准化:互操作性的未来 一、引言 钩子:你是否遇到过这些Agent协作的痛点? 你花了3天时间基于OpenAI GPT-4开发了一个客户需求分析Agent,能自动解析用户对话生成需求文档,但当你想把生成的需求文档同步给公司内部基于Llama 3部署的产品排期Agent时,却发现两个A…...