Prime1 - 提权的另一种解法,彻底搞懂OpenSSL解密渗透提权,超强思路版。

本文主要是介绍Prime1 - 提权的另一种解法,彻底搞懂OpenSSL解密渗透提权,超强思路版。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提权枚举

现在我们直接从低权限用户开始;我们先按照提权步骤,简单的系统枚举

虽然我们知道可以利用系统版本低进行内核提权,内核提权虽然比较快比较方便,但也比较暴力,缺点非常明显;很容易导致系统服务中断,或者不稳定

  • 打比赛除外,你打比赛只要拿到flag得分都行

image-20240601231010996

列出账号具有的权限

执行enc,可以用root权限执行,不需要密码

image-20240601231301368

ENC探索与查找

image-20240601231426308

使用strings是否能看一下enc的内容;同样是没有权限的

image-20240601231632059

使用file enc
enc: executable, regular file, no read permission

他说这是个可执行的不可读权限文件

我们运行enc,需要密码;尝试了password.txt与user.txt都不行image-20240601232213214

  • 新的知识点openssl

此处应该是另一种思路寻找enc的泄露密码;根据经验,存放密码应该是系统备份的位置

我们这个权限应该是有很多报错的,将报错扔掉

find / -name '*back*' 2>/dev/null

后来我实验发现删不删报错都一样,应该是系统不支持的问题,因为页面一闪而过,我们对结果数据进行排序

,再做个less分屏显示;貌似没多大卵用;

我们在搜集过程中要么用backup要么用pass,为什么不用password,因为后边他写的是wd还是word就不清楚;如果我们搜bak就太多了

find / -name '*backup*' 2>/dev/null | sort | less

搜集一下信息吧;

/opt/backup
/opt/backup/server_database/backup_pass

/var/backups

image-20240601233252265

image-20240601233350693

将这个三个地方都看一下;嗯,试了下/var/backups,有passwd的备份,但是没有权限去读,shadow也是相同,sudo下看能不能cp到/tmp目录下;不行,再看其他文件有无信息;

你的密码为了enc,backup_password;然后祝福我们

image-20240601234112410

找的过程非常顺利,主要是怎么搜索,查找的时候用引号将关键词,用的backup查找,也可以用pass,避免信息洪水,把错误信息扔掉,还有排序,less使用

ENC破解

运行enc,输出了good;image-20240601234853850

有两个文件貌似无权显示,加个sudo再尝试下;

好的,这样就出来了

image-20240601235133845

cat;一个像base64,一个说我们是ippsec的粉丝,将ippsec字符串转成md5哈希形式,用它获得真实自己

image-20240601235216525

md5格式生成

echo -n 'ippsec' |md5sum

-n 不输出尾随换行符

都是固定格式,不会就自己查资料,要么是–help

要么是man 命令

image-20240602000015099

如果不用n;看一下;这个结果完全是不一样的

一定要知道,如果只是视觉上来看,或者文本标异的话那就不需要;如果设计到字节级操作,那就要考虑到

image-20240602000052873

美化下md5生成的值,echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}'

awk是个文本编辑器,-F 是指定靠什么字符进行分割,第一第二分别是$1、$2、…

366a74cb3c959de17d61db30591c39d1

image-20240602000638553

openssl破解语句

看红队笔记才知道给的编码是openssl加密解码的,通过key.txt解出enc.txt的内容;后来才了解到,openssl解密后跟enc,怪不得这个思路没走,现在知道就得记住了

enc与openssl是捆绑的,

解密是-d 因为里面有base64编码,

我们还要解64编码-a 64位,

-k 指定上一步生成的md5


构造Cipher数据

这个是假如我们不知道base64编码(因为编码有很多,下次可能就是不认识的编码)解决的方法

openssl --help将编码复制到文件里进行整理

image-20240602002304784

我们用awk全局替换所有空格替换成回车键进行打印

  • gsub 替换
  • wc -l 行计数
  • uniqc 取唯一
awk '{gsub(/ /,"\n");print}'   cipher | sort | uniq | wc -l

整理完之后就可以把这些重定向到cipher里面

awk '{gsub(/ /,"\n");print}' cipher | sort | uniq > ciphers

cat

image-20240602004020030

这个做完之后掉头继续做openssl破解语句,看openssl enc --help说明-k怎么使用

image-20240602004557419

那我们还需要对md5进行echo值进行修改,那我们直接在输出修改语句吧

od 是linux系统命令,用man去查,

转储文件以8进制

image-20240602004924485

  • -A是根 不需要指定任何类型那就是n
  • -t x1
echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}' | od -A n -t x1

image-20240602005553963

多了一个字符0a,再对oa去掉

tr -d 去掉任何换行符

echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}' | tr -d '\n' | od -A n -t x1

image-20240602005812718

那现在还要进行修剪,

echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}' | tr -d '\n' | od -A n -t x1 | tr -d '\n' | tr -d ' '

image-20240602010012159

这个才是我们需要的,指定给key的

3336366137346362336339353964653137643631646233303539316333396431

for循环成功执行

们可以构造bash脚本,写一个for循环,将CipherTypes中的每一行替换为上述命令中的-cipher,bash脚本如下:

for cipher in $(cat ciphers);do echo 'nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=' | openssl enc -d -a -$cipher -k 3336366137346362336339353964653137643631646233303539316333396431;done

image-20240602011705311

密码为tribute_to_ippsec,很可能就是saket的ssh密码

image-20240602011859307

直接进入了ssh;提高交互性

python -c 'import pty;pty.spawn("/bin/bash")'

提权

给了提示信息,他说可以让我们执行此文件

/home/victor/undefeated_victor

image-20240602012133055

如果你能打败我,那就在你面前挑战我;/challenge: 未找到

那我们就写入内容

image-20240602012432567

那我们继续执行/bin/bash追加到challenge

对文件加执行权限,再次运行提示的程序,可以看到提权成功

这个靶机openssl思路也是解决了

eated_victor

如果你能打败我,那就在你面前挑战我;/challenge: 未找到

那我们就写入内容

那我们继续执行/bin/bash追加到challenge

对文件加执行权限,再次运行提示的程序,可以看到提权成功

这个靶机openssl思路也是解决了

image-20240602012721851
目前红队打靶就就更新到这里吧,要去忙其他的事情了,记录下红队视频的记录
https://www.bilibili.com/video/BV1ue4y1S7Zm?t=2.6
该去复习蓝队知识备战护网了,还需要保持学业期末成绩不挂科,之后再进行专升本的学习,真的是突然发觉时间不够用了,来年再见此期红队打靶更新吧!!!

这篇关于Prime1 - 提权的另一种解法,彻底搞懂OpenSSL解密渗透提权,超强思路版。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023727

相关文章

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

poj 3974 and hdu 3068 最长回文串的O(n)解法(Manacher算法)

求一段字符串中的最长回文串。 因为数据量比较大,用原来的O(n^2)会爆。 小白上的O(n^2)解法代码:TLE啦~ #include<stdio.h>#include<string.h>const int Maxn = 1000000;char s[Maxn];int main(){char e[] = {"END"};while(scanf("%s", s) != EO

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

CSP-J基础之数学基础 初等数论 一篇搞懂(一)

文章目录 前言声明初等数论是什么初等数论历史1. **古代时期**2. **中世纪时期**3. **文艺复兴与近代**4. **现代时期** 整数的整除性约数什么样的整数除什么样的整数才能得到整数?条件:举例说明:一般化: 判断两个数能否被整除 因数与倍数质数与复合数使用开根号法判定质数哥德巴赫猜想最大公因数与辗转相除法计算最大公因数的常用方法:举几个例子:例子 1: 计算 12 和 18

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python