6、evil box one

news2024/12/24 9:19:06

低—>中

目标:获取root权限以及2个flag

主机发现

靶机 192.168.1100.40

或者使用fping -gaq 192.168.100.1/24发现主机使用ping的方式。

端口扫描

发现开放了22和80

可以使用-A参数,-A参数会得到更多的扫描细节

访问80端口就是一个apache的基本的页面,按照管理习惯性的扫描目录

使用gobuster进行扫描

需要指定字典,这里使用的seclists的字典,这个字典我之前也没用过也不知道怎么样,不过应该也是挺全的吧

gobuster dir -u http://192.168.100.40 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html

爆出一个secret和robots

访问secret什么都没有,robots里面有个Hello H4x0r 可以留意一下这个H4x0r,可以拿去尝试进行一下ssh的爆破。

不过这个gobuster确实速度很快,dirsearch慢多了

有了secret继续爆下一级目录看有没有其他的东西

扫到一个evil.php 一看就是很有关系的页面,但是访问了还是以前空白啥也没有,这个时候就可以尝试fuzz一下参数了

使用ffuf,此为kali自带的工具

首先正常的思路是参数和值两个位子都进行fuzz,那么命令:

分别指定两个字典并且赋予别名然后填在url的位置,-fs的意思是不看返回的结果大小为0 -c是上色

这样也并没有跑出东西来,字典我就随便加了几个数字字符啥的。

这里想到了就有也就是文件包含漏洞,挺抽象的有种做ctf的感觉要靠猜。参数还是未知的,值可以尝试使用../index.html看能否包含根目录下的index.html

改变一下命令

在只有一个字典的情况下使用FUZZ占位

可以看到有反应了,在command的参数下有了数据

确实包含到了文件

既然可以包含本地文件那么可以尝试是否可以包含远程文件,但是远程文件的包含需要开启一个东西一般情况下是默认关闭的。

尝试包含了kali的80端口下的文件发现没有反应。说明并没有开启这个功能。

尝试php://input直接执行也不可以

使用filter过滤器读取evil的源码,成功读取了但是源码内容真就是include()。。。

尝试使用filter写入文件,我之前从没有遇到过可以写入的所以都忘记了filter还有写的方式

写入的数据可以使用base64也可以使用其他的比如什么rot13

php://filter/write=convert.base64-decode/resource=test.php&txt=PD8gcGhwaW5mbygpOyA/Pg==

我估计写入是需要权限的一般情况下也是无法写入数据的所以这里也是失败了。

到此处利用文件包含似乎无法直接通过封装器拿到shell,那么转换思路继续使用文件读取读取一些敏感文件看是否有新的收获

当读取到etc/passwd的文件的时候,发现除了root用户还有一个可以登录的用户mowree。很好线索来了,可以尝试利用此账户去爆破ssh

不过这里的利用方式也是挺细节的

ssh mowre@192.168.100.40 -v 使用-v显示详细的细节

可以使用秘钥进行登录,一般在服务器上开启了这个功能的话会在.ssh下面生成一个公钥文件authorized_keys

那么尝试一下看能否读取到文件

成功读取到这个公钥文件

文件也提示了使用的rsa的加密算法那么如果没有改名的话默认的私钥名称就是id_rsa

成功读取到私钥

把它复制保存下来并且赋权chmod 600 不赋权是使用不了的这是Linux的保护机制

在使用私钥登录时又遇到了新的问题,私钥还被进行了一层加密。。。

┌──(root㉿kali)-[~/.ssh]

└─# ssh mowre@192.168.100.40 -i mowre_rsa

Enter passphrase for key 'mowre_rsa':

没有办法,只能尝试使用工具来爆破这个私钥了

这里使用john

首先需要使用john自带的脚本将id_rsa转换为hash文件

cd /usr/share/john

./ssh2john.py ~/.ssh/mowre_rsa > /home/vanish/scripts/hash

爆破的字典使用kali自带的名为rockyou的大字典

cp /usr/share/wordlists/rockyou.txt.gz ./

gunzip rockyou.txt.gz

然后使用john进行爆破

也是很快就爆破出来了

密码为unicorn

终于成功的突破了边界

接下来就是尝试提权的操作了,但是尝试了常见的提权方式并没有结果

这个时候选择直接上传提权辅助脚本上去刷一下

项目连接:https://github.com/peass-ng/PEASS-ng 挺全的,一直在更新

脚本提示匹配到了两个CVE可以利用,不过继续往后看到了

/etc/passwd竟然是可写的

那直接向里面写入一个新的高权限用户可以吗,正常情况下这个文件是只有root才可以改写的

那么这里可以选择写入一个新的用户或者修改原来的里面用户的内容

这个x其实就是秘密的地方,但是为了安全都放到shadow下面去了,如果对这里的x进行修改为密码那么就会会使用这里的密码额而不是shadow那边的密码

但是Linux中的密码都有加密算法的,这里使用openssl passwd -1生成 也就是MD5

123456加密结果为$1$RS8gC1Yn$yuaP7i.uPcRZ5XMclvJC9.

成功修改后

使用nano进行的编辑,用的不怎么习惯啊,ctrl +O 保存 ctrl + X 退出

成功提权至root权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1925970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务-注册中心

一. 分布式系统架构与微服务 分布式系统架构和微服务是现代软件开发中常见的两种概念,它们通常结合使用来构建灵活、可扩展和高效的应用程序。 分布式系统架构: 分布式系统架构是指将一个单一的应用程序或服务拆分成多个独立的部分,这些部分…

讲讲 JVM 的内存结构(附上Demo讲解)

讲讲 JVM 的内存结构 什么是 JVM 内存结构?线程私有程序计数器​虚拟机栈本地方法栈 线程共享堆​方法区​注意永久代​元空间​运行时常量池​直接内存​ 代码详解 什么是 JVM 内存结构? JVM内存结构分为5大区域,程序计数器、虚拟机栈、本地…

50、haproxy+keepalive+nginx

keepalivehaproxy 客户端:192.168.168.21haproxy1:192.168.168.43haproxy2:192.168.168.44vip:192.168.168.100nginx1:192.168.168.31nginx2:192.168.168.32haproxykeepalive做高可用nginx做后台haproxy1haproxy2一起操作&#x…

实验发现AI提高了个人创造力,但降低了整体创造力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

从链表中移除在数组中存在的节点 | 力扣题解

⭐简单说两句⭐ ✨ 正在努力的小叮当~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &a…

【自监督学习】iBOT in ICLR 2022

一、引言 论文: iBOT🤖: Image BERT Pre-Training with Online Tokenizer 作者: ByteDance 代码: iBOT 注意: 该方法是在另一个自监督预训练方法基础上的改进,学习之前建议掌握DINO。 特点: 对…

数据结构之初始二叉树(1)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 树型结构 树的概念 与树的有关概念 树的表示形式 树的应用 二叉树 概念 两种特殊的…

MFC流的形式读取图片

1.基于对话框布置控件 2.给控件绑定变量 3.给按钮控件添加响应函数 void CMFC流的形式读取图片Dlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码//HDC mECGDC; // 设备描述表句柄//CPen mECGDrawPen; // ECG波形画笔//RECT mECGRect; // 在该矩形区域内画…

Three.js相机简明教程

相机校准是 3D 计算机图形学中的一个基本概念,涉及设置虚拟相机以模拟真实世界相机的视角和行为。在 Three.js(一种流行的 3D 渲染 JavaScript 库)中,了解相机校准对于创建逼真且身临其境的 3D 场景至关重要。在本文中&#xff0c…

AIGC是什么,与AI绘画有什么关系,一篇文章带你了解AI绘画的前世今生

在讲解AIGC和AI绘画之前,我们先看看什么是AI以及AI的历史。 AI历史发展轨迹 什么是人工智能 人工智能(Artificial intelligence,简称AI)亦称机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指用普通计算机程序来呈现人类智…

ConfigMap-secrets-静态pod

一.ConfigMap 1.概述 ConfigMap资源,简称CM资源,它生成的键值对数据,存储在ETCD数据库中 应用场景:主要是对应用程序的配置 pod通过env变量引入ConfigMap,或者通过数据卷挂载volume的方式引入ConfigMap资源 官方解释…

成为git砖家(1): author 和 committer 的区别

大家好,我是白鱼。一直对 git author 和 committer 不太了解, 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码, 根据某个历史 commit A 创建了分支, 然后 cherry-pick 了这个 commit …

240710_昇思学习打卡-Day22-条件随机场

240710_昇思学习打卡-Day22-条件随机场 在正式开始LSTMCRF序列标注之前,我们先来了解一下条件随机场,以下仅做简单介绍。 CRF全称Conditional Random Field,按照名字来理解,条件随机,随机输入,条件输出。…

vue中父子传递属性值

1、父传子属性值 自定义图库组件 在add.vue中应用tuku组件并给默认值 效果 2、 子传父,逆向赋值 add.vue和第一问中一样 修改tuku组件,传值给add.vue 3、多个传递 效果: 点击两个修改按钮后 4、使用defineModel简化父子传值 其他代码跟…

使用Tkinter库设计实现的中小学校疫情防控入校人员登记检测系统

Tkinter简介 Tkinter是Python标准库中用于GUI图形用户界面开发的工具包,它是基于Tcl/Tk的封装,提供了大量预定义的控件,如按钮、文本框、标签等,非常适合快速原型开发和小型应用的构建。本文将通过一个具体的案例——“中小学校疫…

【java】力扣 合并k个升序链表

文章目录 题目链接题目描述思路代码 题目链接 23.合并k个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表 思路 我在这个题里面用到了PriorityQueue(优先队列) 的知识 Prio…

鸿蒙语言基础类库:【@system.app (应用上下文)】

应用上下文 说明: 从API Version 7 开始,该接口不再维护,推荐使用新接口。本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import app from system.app;app.getInfo …

MFC之对话框--重绘元文件

文章目录 实现示例展示需要绘制的窗口/位置控件位置更新下一次示例粗细滑动部分更新 重绘元文件(窗口变化内容消失)方法一:使用元文件方法二:兼容设备方法三:使用自定义类存储绘图数据除画笔外功能处理画笔功能处理 保…

【雷达原理】MIMO雷达技术

一、MIMO雷达原理 1.1 基本概念 多输入多输出(Multiple input multiple output,MIMO)雷达指该雷达具有多个发射天线和多个接收天线。 学术界对 MIMO 雷达的定义中,多输入是指同时发射多种雷达信号波形( 一般是多个天线同时发射不同的波形) ,…

藏着不为人知的泪水

在娱乐圈的璀璨舞台上,每一个光芒四射的背后,藏着不为人知的汗水与泪水。提及#张艺凡 出道位#,这段历程,不仅仅是个人奋斗的见证,更是关于勇气、坚持与自我证明的壮丽篇章。曾几何时,网络的喧嚣声中&#x…