HackTheBox。OpenAdmin演练。OpenNetAdmin中的RCE和nano中的GTFOBins

图片

我将继续发布从HackTheBox网站发送的用于进一步处理的解决方案

在本文中,我们将利用OpenNetAdmin中的RCE,深入研究Web服务器配置,使用SSH转发穿透端口,破解SSH密钥密码,并使用GTFOBins技术来增加特权。

通过VPN连接到实验室。建议不要从可用对您重要的数据的工作计算机或主机进行连接,因为您将与知道信息安全领域知识的人进入专用网络:)

组织信息
, , Telegram . , , .

. , - , .

侦察


这台机器的IP地址为10.10.10.171,我将其添加到/ etc / hosts中。

10.10.10.171    openadmin.htb

首先,我们扫描开放端口。由于使用nmap扫描所有端口需要很长时间,因此我将首先使用masscan进行此操作。我们以每秒500个数据包的速度扫描来自tun0接口的所有TCP和UDP端口。

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.171   --rate=500

图片

现在,有关在端口上运行的服务的更多详细信息,我们将使用-A选项运行扫描。

nmap openadmin.htb -p22,80

图片

因此,该服务运行SSH和Apache Web服务器。看一下网站上的内容。

图片

我们见到Apache的主页。在这种情况下,网站可能不在服务的主目录中。要找到它们,您需要对目录进行排序。为此,请使用gobuster程序(据说是最快的扫描仪)。我们选择目录扫描模式(dir),字典(-w),流数(-t),页面扩展名(-x),页面的扩展输出(-e)和URL(-u)。

gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb

图片

在输出中,代码403的响应太多,无法对其进行过滤,我们指出了所需的响应代码(-s)。

gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb -s “200,204,301,302,307,401”

图片

我们找到几个目录。现在,我们将四处探寻一切,以找出那里的东西。

图片

图片

图片

仅在这些站点之一上,就有一个登录功能。但是,如果您尝试执行此操作,我们将转到OpenNetAdmin页面。

图片

如您所见,在这种情况下,将使用版本18.1.1。

入口点


让我们寻找该版本的漏洞。

图片

对于此版本,有一个RCE漏洞利用。该代码已经在本地数据库中,让我们看一下。

图片

因此,脚本采用一个参数-这是URL。(在启动时,我遇到了错误,因此您可以通过mcedit打开文件并删除^ M个字符)。

图片

USER1


我们在主目录中。

图片

而且我们周围有大量文件。

图片

其中一些可能包含凭据。让我们以递归方式查看所有文件的用户名。

图片

而且没有结果。但是,搜索“通过”一词会得到很多结果。

图片

现在看一下整个配置。

图片

这是用于连接数据库的密码。让我们为用户尝试一下。并且我们以jimmy用户身份成功登录。

图片

USER2


首先,运行LinEnum基本枚举脚本

图片

结论需要非常仔细地分析,每一行!!!而且,您只能在脚本输出中使用的是组成员身份。

图片

吉米(Jimmy)和乔安娜(Joanna)在同一个内部小组中。让我们看看属于该组的文件。

图片

从位置判断-这是站点。我们分析文件。首先要注意的是主要的。

图片

如果我们被授权,他们将向我们显示用户joanna的私密SSH密钥。从索引文件中可以得出,授权成功后,我们将转到主目录。它还包含一个SHA512密码哈希。

图片

在此站点的帮助下,哈希很容易被破坏

图片

仍然需要学习如何到达该站点。可以在/ etc / apache2 / sites-available目录中的每个站点的相应配置文件中找到用于访问每个站点的端口。

图片

如您所见,有一个internal.conf使我们感兴趣。现在转发SSH端口。

图片

从配置中可以明显看出,我们可以从本地计算机上位于internal.openadmin.htb域下的端口52846上访问站点。让端口运行-即,将本地端口52846重定向到远程52846端口。此技术称为SSH端口转发。

图片

现在,在本地计算机上的/ etc / hosts文件中进行输入。
127.0.0.1 internal.openadmin.htb
然后,我们将通过浏览器地址为internal.openadmin.htb:52846 / index.php。

图片

使用已知的凭据登录并获取私有SSH密钥。

图片

我们保存到文件并分配权限。

图片

但是,当尝试连接时,他们要求我们提供密钥的密码,因为该密钥是加密的。

图片

我们可以滚动键。为此,我们将其转换为John'a格式,然后将已转换为密钥的文件提供给文件以蛮横。

图片

并成功找到密码。我们已经连接了密钥和密码。

图片


要检查的事情之一是用于执行不带密码的命令的sudo设置。

图片

NOPASSWD行说我们可以在sudo下执行此命令而无需输入密码。在这种情况下,将调用nano命令。有一种诸如GTFOBins的技术,它允许使用各种实用程序来读取,写入文件或执行整个命令。可在此处找到实用程序及其功能的完整列表。让我们看一下如何使用nano获得外壳。

图片

使用sudo运行我们的命令。

图片

现在,按照命令的顺序,选择用于读取文件的选项。

图片

现在是执行命令的选项。

图片

并输入指令的最后一行。

图片

然后,我们代表根获得外壳。

图片

您可以通过电报加入我们在这里,您可以找到有趣的资料,合并的课程以及软件。让我们建立一个社区,在这个社区中,会有一些精通IT领域的人,然后我们可以在任何IT和信息安全性问题上互相帮助。

All Articles