Linux/Pandora

Pandora

Enumeration

nmap

第一次扫描发现系统对外开放了22和80端口,端口详细信息如下

访问80端口,显示PLAY是Panda.htb的扩展,将网络监控解决方案带到家门口

尝试添加Panda.htb到/etc/hosts中,访问得到的页面却是一样的,扫描目录依然没有什么收获,因为使用引导模式,回答问题时才得到提示,系统对外开放了udp端口,扫描一下常见的udp端口

sudo nmap -sU -top-ports=100 10.10.11.136

结果如下,可以看到161端口运行着snmp服务

SNMP

SNMP是简单网络管理协议(Simple Network Management Protocol),提供一个向设备询问其性能和配置的框架,用于管理和监控通过网络连接的所有设备。以被管理系统变量的形式公开管理数据,然后可以远程查询这些变量

可以使用snmpwalk程序来扫描snmp服务

snmpwalk -v 1 -c public 10.10.11.136

snmpwalk揭示了很多信息,主机信息,一些姓名,位置等信息

网络信息

还有监听端口信息、进程信息、已安装软件包列表等

最终,可以在其中发现一组用户名和密码daniel/HotelBabylon23

该凭据可以用作ssh登录的用户名和密码,登陆成功后,发现daniel目录什么都没有,但是matt目录中存在user.txt,可是无法打开

Lateral Movement

查看Apache的VHOST配置,发现存在一个pandora.conf,可以看到有一个/var/www/pandora的web监听在localhost:80,servername是pandora.panda.htb

可以使用端口转发将本地的9001端口连接到目标的80,因此重新登录ssh

ssh -L 9001:localhost:80 daniel@10.10.11.136

完成这一步后,就可以在本地直接访问http://127.0.0.1:9001,即可访问对应web,可以在标签页顶部以及网站首页看到应用程序的名字是Pandora FMS

在页面最底部可以看到版本信息

最先找到一个rce漏洞,但是需要认证,又发现存在sql注入,可以参考文章Pandora FMS 742: Critical Code Vulnerabilities Explained

文章描述重点放在SQL注入漏洞可以在没有任何访问权限的情况下被远程利用,并使攻击者能够完全绕过管理员身份验证,这最终使得能够在系统上执行任意代码。

Unauthenticated SQL Injection (CVE-2021-32099)

文章主要内容如下,url为/include/chart_generator.php,参数为session_id

我们可以尝试直接访问url,显示如下

但是当添加了session_id参数且在参数后添加了一个单引号,可以看到报错信息,而添加了两个单引号,页面没有报错,接下来可以利用sqlmap

sqlmap很容易就能找到问题,并且给出注入类型

sqlmap -u "http://127.0.0.1:9001/pandora_console/include/chart_generator.php?session_id=1"

接下来就一步一步从数据库到表最后到列,来获取敏感数据

--dbs

--tables -D "pandora"

一共找到了178张表,选择爆破tsessions_php表

-T "tsessions_php" -D "pandora" --dump

现在有了matt的session_id,访问对应的session_id

http://127.0.0.1:9001/pandora_console/include/chart_generator.php?session_id=g4e01qdgk36mfdh90hvcc54umq

然后再返回主页,发现已经成功以matt身份登录

RCE-CVE-2020-13851

登陆成功后,可以利用rce漏洞获取shell,参考Pandora FMS Community Multiple Vulnerabilities | CoreLabs Advisories

在左侧面板中单击“Events”>“View events”

其中有一个POST包如下所示

​
POST /pandora_console/ajax.php HTTP/1.1
Host: 127.0.0.1:9001
Content-Length: 78
sec-ch-ua: "Chromium";v="107", "Not=A?Brand";v="24"
Accept: application/json, text/javascript, /; q=0.01
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.5304.107 Safari/537.36
sec-ch-ua-platform: "Linux"
Origin: http://127.0.0.1:9001
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://127.0.0.1:9001/pandora_console/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: PHPSESSID=fubuv7gp2qo3338lfbolq2kjmk
Connection: close

page=godmode%2Fsetup%2Fsetup_notifications&check_new_notifications=1&last_id=0

​

将包发送到repeater,在kali中开启监听,修改参数发送

在监听端会得到反弹shell

可以在matt目录中发现user.txt

Privilege Escalation

寻找设置了SUID的文件

然后在其中发现了/usr/bin/pandora_backup,看起来不一样

restricted shell environment

尝试执行该二进制文件,却发现了错误

该二进制文件设置了SUID位却无法以root身份运行。根据官方wp提示得知这是一个受限的shell,可以根据GTFOBins的提示来突破受限

然后再次执行/usr/bin/pandora_backup二进制文件,可以看到PandoraFMS的备份正在被创建

在程序执行时发现用到了tar,用于将数据压缩到名为pandorabackup.tar.gz的备份文件中,但是tar文件的使用的是相对路径,可以尝试

PATH variable hijacking

PATH 环境变量包含目录列表。因此,当运行二进制文件而不指定其绝对路径时,将从头到尾搜索 PATH 变量中列出的目录以查找该二进制文件,并运行第一个匹配的可执行文件。因此 PATH 变量开头的目录优先于后面的目录。现在,一个易受攻击的场景是未指定二进制文件的绝对路径。我们可以创建一个包含恶意命令的文件,并将文件名与要运行的二进制文件的文件名相同。我们还需要更改 PATH 变量,以便在搜索 PATH 变量中列出的目录时,我们的恶意文件是第一个匹配的文件。

在/tmp目录下创建一个tar文件,并写入如下代码

#!/bin/bash
/bin/bash

为tar添加执行权限后,修改远程系统上的PATH变量,在前面添加/tmp文件夹,让其成为第一个被搜索的路径

最后成功拿到root权限

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工具推荐-eNSP(Enterprise Network Simulation Platform)

一.简介 1.1 一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台。 1.2 主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟。 1.3 让广大用户有机会在没有真实设备的情况下能够模拟,进行模拟网络架构和建…

Mamba复现与代码解读

文章目录 环境配置demo推理源码解析参数解读Mamba块(Mamba Block)状态空间模型(SSM)选择性扫描算法(selective_scan)前向传播(forward) 均方根归一化 (RMSNorm)残差块(Re…

批量删除 rabbitmq中随机队列

批量删除 amq.gen–* 随机队列 操作错误产生了无效随机队列,需要批量删除 过滤列出指定amq.gen–队列 # 列出 指定 vhost/qq 以amq.gen开头的所有队列 rabbitmqctl list_queues --vhost / | grep ^amq.gen-# 批量删除队列 #由于list_queues会列出队列名称以及对应…

Windows系统部署瀚高数据库

1.安装包解压之后,执行setup.exe hgdb-enterprise-6.0.4.rar 2.勾选“我接受协议”,点击下一步,设置数据库安装目录(注意安装路径,不要包含中文,也尽量不要包含特殊符号。这里默认会是“6.0.4”&#xff0…

MOV压敏电阻的微观结构与制造工艺

EAK 压敏电阻 应用于电力系统的MOV目前主要有两大系列,它们都是以ZnO为主要成分再加人少量其他金属氧化物添加剂而构成的。添加剂为Bi,O:、Sb,O:、MnO₂和CoO,等构成的 MOV称为Bi系列:添加剂为Pr,0、Co,0、Mg0而不含B,0,或含量极少的MOV称为Pr系列(或称稀土系列)。添…

GIS与Python机器学习:开创地质灾害风险评价新纪元

地质灾害是指全球地壳自然地质演化过程中,由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下,地质灾害在世界范围内频繁发生。我国除滑坡灾害外,还包括崩塌、泥石流、地面沉…

基于springboot+vue实现的基于B2C模式的电子商务平台

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

【免费教程】创建元宇宙3D纪念馆、发布云祭扫3D模型的免费教程

免注册步骤如下: 1、下载html浏览器纯净版(推荐电脑打开,网址:https://gitee.com/dtnsman/dtns/raw/master/release/dtns.connector-html.dist-2024-3-27-web.zip 2、切换至:dev00mansfast(或qw&#xff…

【前端】Layui的表格常用功能,表单提交事件,表格下拉按钮点击事件,表格外的按钮点击事件

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…

QT作业day5

实现闹钟 头文件&#xff1a; #define ALARM_CLOCK_H#include <QWidget> #include <QTime> #include <QTimerEvent> #include <QTimer> #include <QtTextToSpeech> //文本转语音类 #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { c…

怎么制作iOS证书

首先我们登录appuploder官网 搜索 appuploder 第一个就是我们官网啦&#xff0c;网址是&#xff1a;Appuploader home -- A tool improve ios develop efficiency such as submit ipa to appstore and manage ios certificate 可以跨平台开发&#xff0c;无论是Windows还是Ma…

【计算机操作系统】深入探究CPU,PCB和进程工作原理

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

spring 的理解

spring 的理解 spring 是一个基础的框架&#xff0c;同时提高了一个Bean 的容器&#xff0c;用来装载Bean对象spring会帮我们创建Bean 对象并维护Bean对象 的生命周期。在spring 框架上&#xff0c;还有springCloud,spring Boot 的技术框架&#xff0c;都是以Spring为基石的sp…

设计模式深度解析:深入浅出的揭秘游标尺模式与迭代器模式的神秘面纱 ✨

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 深入浅出的揭秘游标尺模式与迭代器模式的神秘面纱 开篇&#xff1a; 欢迎来到设计模式的神秘…

【Python】python编程初探2---字符编码,输入和输出,初识数据类型

欢迎来CILMY23的博客 本篇主题为【Python】python编程初探2---字符编码&#xff0c;输入和输出&#xff0c;初识数据类型 个人主页&#xff1a;CILMY23-CSDN博客 Python系列专栏&#xff1a;​​​​​​​http://t.csdnimg.cn/rAsEH 上一篇博客&#xff1a;http://t.csdni…

【第二部分--Python之基础】02

二、运算符与程序流程控制 1、运算符 1.1 算术运算符 算术运算符用于组织整数类型和浮点类型的数据&#xff0c;有一元运算符和二元运算符之分。 一元算术运算符有两个&#xff1a;&#xff08;正号&#xff09;和-&#xff08;负号&#xff09;&#xff0c;例如&#xff1…

单臂路由和三层交换机

目录 一.单臂路由 1.单臂路由的工作原理 2.单臂路由的配置 2.1画出拓扑图 2.2配置PC 2.3配置交换机 2.4配置路由器 2.5测试 二.三层交换机 1.三层交换机的概述 2.三层交换机的配置 2.1画出拓扑图 2.2配置PC 2.3配置二层交换机 2.4配置三层交换机 2.5测试 3.拓展 三.总结 一.…

【linux深入剖析】基础IO操作 | 使用Linux库函数实现读写操作 | 文件相关系统调用接口

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1.复习C文件IO相关操…

【Java面试题】计算机网络

文章目录 1.计算机网络基础1.1网络分层模型/OSI七层模型是什么&#xff1f;1.2TCP/IP四层模型是什么&#xff1f;每一层的作用&#xff1f;1.2.1TCP四层模型&#xff1f;1.2.2为什么网络要分层&#xff1f; 1.2常见网络协议1.2.1应用层常见的协议1.2.2网络层常见的协议 2.HTTP2…

2024年天津农学院退役大学生士兵专升本专业课报名的通知

天津农学院2024年退役大学生士兵高职升本科专业课考试报名的通知 按照《2024年天津市高职升本科招生实施办法》&#xff08;津招办高发〔2023〕14号&#xff09;文件要求&#xff0c;现将天津农学院2024年高职升本科退役大学生士兵专业课考试报名、确认、缴费及考试等具体事项…