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

Vulnhub系列:FristLeaks

一、配置靶机环境

以往的靶机,本人是在virtual box中,去配置,和vm上的kali进行联动,但是这个靶机需要DHCP,以往的方式可能不太行了,或者可以在virtual box中桥接成统一网卡。下面介绍下本人最有用的方法:

靶机地址:Vulnhub

下载好后,利用vm导入,导入期间存在报错 ,无需理会,直接重试,即可导入成功。

下一步,在编辑该靶机设置的时候会出现错误,导致虚拟机整体错误,直接退出。这是因为虚拟机版本太高导致,仅需将该靶机右键打开管理,修改兼容度,即可正常访问编辑设置。

向下兼容到16.x,就可以修改靶机配置,将靶机设置为NAT模式,并且在高级选项中,按照靶机要求修改MAC地址:08:00:27:A5:A6:76

然后开启靶机,即可正常出现如下图的ip地址,接着就可以开始本次渗透之旅了。

二、渗透过程

  1. 信息收集

因为已经知道该靶机的ip地址,这边可以直接用nmap进行端口探测,或者利用arp-scan,namp检测同网段存活的主机。具体命令,如果不清楚,请看之前的工具试用介绍。

kali ip:192.168.44.188 靶机ip为:192.168.44.132

扫描发现只有80端口,存在web端服务,对其进行目录爆破,发现了/images/、/robots.txt目录

访问ip,发现了主页,查看源代码没什么发现

查看robots.txt发现了三个小目录,分别打开后都是同一张图片,将图片下载到本地,猜测可能存在图片隐写之类的,利用strings 该图片,发现并没有什么有用的信息

返回主页后,一筹莫展,在主页上,它的标语,keep calm and drink fristi,意思是保持冷静和喝fristi,有点奇怪,浅浅的试了下fristi,发现了登录界面。

查看源代码后,在注释中看到了by eezeepz,这应该是用户名

在底下有一大串的base64的字符串,将其复制到本地,进行解码

发现是个png文件,于是将其解码后,变为png文件。

查看文件发现是个keKkeKKeKKeKkEkkEk,这应该是密码(吐槽一句,什么鬼密码!)

得,登陆成功,发现了个上传文件的按钮

2、web渗透

这就很明显了,这是要利用文件上传漏洞来获取shell,那就先随便传一个看看有没有什么限制

果然,只让传png,jpg,gif图片类型的文件。下面就好办了,利用burp抓包,将事先准备好的马,上传,拦截后,发送到重发中,修改后缀尝试下,上传成功!那就直接在包里修改,上传。ok!

上传后,显示了上传的文件夹,然后在kali本地新开终端利用nc进行监听,在网页访问刚才上传的文件,即可反弹shell

  1. 提权

搜索了一圈,也没有什么有用的信息,在/home中发现了3个用户,经过尝试只能进入eezeepz用户中,同时发现了个notes.txt文件

查看一下:

我让你可以做一些自动检查,但是我只允许你访问/usr/bin/*系统二进制文件。我所做的

然而,复制一些额外的经常需要的命令到我的Homedir: chmod df cat echo ps grep egrep你可以使用这些从/home/admin/

不要忘记为每个二进制文件指定完整路径!

只需在/tmp/中放入一个名为“runthis”的文件,每行一个命令输出到/tmp/目录下的“cronresult”文件。它应该用我的账户权限每分钟运行一次。

大致意思是,在/tmp/下建立一个runthis文件,然后利用chmod命令进行授权,它会自动运行。

touch runthis
echo "/usr/bin/chmod -R 777 /home/admin"> /tmp/runthis

发现可以列举出/home/admin中的文件,并且出现了两个txt文件

过一分钟多后,可以进入admin的文件夹中,这里有个加密的python脚本,结合刚才两个文件夹的内容,可以联想到应该是利用加密脚本将明文加密成了现在的密文。查看脚本

那就浅浅的写个解密的脚本

import base64, codecs, sys
def decodeString(str):decod = codecs.decode(str[::-1], 'rot13')return base64.b64decode(decod)
cryptResult = decodeString(sys.argv[1])
print cryptResultorimport base64,codecs,sysdef decodeString(str):string = str[::-1]string = string.encode('rot13')return base64.b64decode(string)print decodeString(sys.argv[1])

运行后得到:

thisisalsopw123,LetThereBeFristi!

之前在home中还存在着第三个用户,这两个难道就是那个用户名的密码?浅浅的一试,切换到了fristigod用户

利用sudo -l查一下看看存在什么提权:

发现了个二进制运行文件doCom,进入文件夹后输入sudo -u fristi ./doCom su -

直接切换到root,清清爽爽提权成功,获取flag

三、总结

本次靶机渗透,前期的环境配置着实有点坑,花费了点小时间,因为习惯了virtual box运行靶机,vm运行kali,这样将kali的一个网卡设置为桥接,直接桥接到virtual box的本地网,运行起来比较稳定。

再加上兼容的问题,在环境配置方面有一丢丢小麻烦,不过just小麻烦。最终还是开启了渗透之旅。

该靶机利用web端文件上传漏洞,反弹shell,在shell中的信息收集,获取了靶机的各类信息,同时发现了加密脚本,利用加密脚本写出破解脚本,解密密文,最后切换到具有提权的用户,成功提权。难度适中,可以巩固操作,加深印象!后续会继续更新!

每天学习一丢丢,进步一丢丢!

相关文章:

Vulnhub系列:FristLeaks

一、配置靶机环境以往的靶机,本人是在virtual box中,去配置,和vm上的kali进行联动,但是这个靶机需要DHCP,以往的方式可能不太行了,或者可以在virtual box中桥接成统一网卡。下面介绍下本人最有用的方法&…...

XWiki Annotation Displayer 存在任意代码执行漏洞(CVE-2023-26475)

漏洞描述 XWiki 是一个开源的企业级 Wiki 平台,Annotation Displayer 是 XWiki 中的一个插件,用于在 XWiki 页面上显示注释和其他相关内容。 该项目受影响版本存在任意代码执行漏洞,由于Annotation Displayer 对 Groovy 宏的使用没有限制&a…...

数字孪生GIS智慧风场Web3D可视化运维系统

随着国家双碳目标的实施,新能源发电方式逐渐代替了污染大气层的火力发电,其中风力发电相比于光伏发电具有能量密度高、发电小时数长、生命周期达20-25年之久等独特的优势。风能取之不尽、用之不竭,在新型能源互联网下,风力发电有可…...

Retrofit核心源码分析(二)- 网络请求和响应处理

在上一篇文章中,我们详细分析了 Retrofit 中的注解解析和动态代理实现,本篇文章将继续深入研究 Retrofit 的核心源码,重点分析 Retrofit 如何进行网络请求和响应处理。 网络请求 在使用 Retrofit 发起网络请求时,我们可以通过定…...

STM32启动模式讲解与ICP下载电路

一、官方提供的启动模式说明硬件BOOT引脚接法表格从表格可以看出有三种启动模式,然后对应这不同的存储器启动,那我们现在疑问为啥有三种不能只有一种就好,还有存储器启动区域怎么区分,有些乱,带着这些疑问,…...

5款小巧好用的电脑软件,让你的工作生活更加高效!

不得不说良心好软件让大家好评连连,爱不释手,不像某些软件自带广告弹窗。这期就由我给大家安利几款电脑中的得力助手,看看你都用过几个? 1.桌面管理神器——Coodesker Coodesker是一款免费小巧、无广告,功能简单的桌…...

python线程池

假设我们必须多线程任务创建大量线程。 由于线程太多,因此可能会有很多性能问题,这在计算上会是最昂贵的。 一个主要问题可能是吞吐量受限。 我们可以通过创建一个线程池来解决这个问题。 一个线程池可以被定义为一组预先实例化和空闲的线程,…...

深入浅出PaddlePaddle函数——paddle.ones_like

分类目录:《深入浅出PaddlePaddle函数》总目录 相关文章: 深入浅出PaddlePaddle函数——paddle.Tensor 深入浅出PaddlePaddle函数——paddle.ones 深入浅出PaddlePaddle函数——paddle.zeros 深入浅出PaddlePaddle函数——paddle.full 深入浅出Padd…...

计算机组成原理(海明码效验)(3)-软件设计(二十四)

计算机组成原理(2)-软件设计(二十三)https://blog.csdn.net/ke1ying/article/details/129394115 一、总线 分为 内部总线、系统总线、外部总线。 内部总线:指芯片级别的总线,连接各个芯片。 系统总线&a…...

Linux2.2网络驱动程序编写

一.Linux系统设备驱动程序概述1.1 Linux设备驱动程序分类1.2 编写驱动程序的一些基本概念二.Linux系统网络设备驱动程序2.1 网络驱动程序的结构2.2 网络驱动程序的基本方法2.3 网络驱动程序中用到的数据结构2.4 常用的系统支持三.编写Linux网络驱动程序中可能遇到的问题3.1 中断…...

像素密度提升33%,Quest Pro动态注视点渲染原理详解

在Connect 2022上,Meta发布了Quest Pro,并首次在VR中引入动态注视点渲染(ETFR)功能,这是一种新型图形优化技术,特点是以用户注视点为中心,动态调节VR屏幕的清晰度(注视点中心最清晰、…...

【Linux实战篇】二、在Linux上部署各类软件

一、实战章节:在Linux上部署各类软件 二、MySQL数据库管理系统安装部署【简单】 简介 MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。 MySQL数据库可谓是…...

基于SpringBoot的学生会管理系统 源码

StudentUnionManagementSystem 基于SpringBoot的学生会管理系统 源码 链接 目录StudentUnionManagementSystem介绍软件架构使用说明1.页面登录2.首页3.成员信息管理4.角色信息管理5.权限管理6.活动管理7.文件管理8.活动展示介绍 学生会管理系统 SpringBoot Mybatis-plus shir…...

[league/glide]两行代码实现一套强大的图片处理HTTP服务

只要两行代码,就能实现类似对象存储云提供的基于参数的图片处理,比如裁剪、放大、水印、旋转等等。 我们经常使用第三方的对象存储服务,比如七牛云或阿里云,他们都提供了“智能媒体服务”,其实就是在链接上加上各种参…...

Kafka 消费者组

Kafka 消费者组Consumer数位移重平衡消费者组 (Consumer Group) : 可扩展且容错性的消费者机制 一个组内可能有多个消费者 (Consumer Instance) : 共享一个公共 ID (Group ID)组内的所有消费者协调消费订阅主题 (Subscribed Topics) 的所有分区 (Partition)每个分区只能由同个…...

高效学 C++|组合类的构造函数

设计好MyString类后,就可以像使用普通类型一样使用它了。例如,类的对象可以像普通的变量一样作为另一个类的数据成员。【例1】 MyString类的对象作为CStudent类的数据成员。1. //MyString类的定义省略 2. //注意:保留其构造函数、析构函数、…...

Java使用Springboot+Mybatis构建第一个项目

一、java安装:安装 Java1.8环境 maven3.6.1环境 Gradle-6.9.1环境 IntelliJ IDEA 2022.1.3 下载旗舰版(因为包含springboot)二、项目构建-数据库是sqlserver:1、打开idea,点击File->New->Project,选中…...

L2-007 家庭房产 L1-007 念数字

给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编…...

1/4、1/2、整车悬架天棚主动控制仿真分析合集

目录 前言 1. 1/4悬架系统 1.1数学模型 1.2仿真分析 2. 1/2悬架系统 2.1数学模型 2.2仿真分析 3. 整车悬架系统 3.1数学模型 3.2仿真分析 4.总结 参考文献 前言 对于天棚控制相比大家不陌生,它是由美国的Karnopp提出,利用假设的与天棚固连…...

【微信小程序项目实战】TodoList-项目主体搭设(2)

目录JS 部分数据 dataonShow输入框双向绑定保存与读取添加新的待办事项完成待办事项删除待办事项WXML顶部输入框主体回到顶部按钮完整代码JSWXMLWXSSJS 部分 为便于分析各个组件的相互作用与原理,故先从 JS 入手,而后再完善 HTML 部分 以下所有代码&…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...