POST CATEGORY : CTF挑战

ServMon HacktheBox演练

今天,我们将解决另一个名为“ ServMon”的“黑客挑战”挑战赛,该计算机属于已退休实验室的一部分,因此您可以使用HTB VPN连接到该计算机,然后开始解决CTF。这个实验室很简单。如果具有渗透测试的基本知识,那么解决该实验室并不困难。让我们开始学习如何破解它。

级别:简单

任务:在受害者的计算机上找到user.txt和root.txt文件。

渗透测试方法

侦察

  • 地图

枚举

  • 以匿名方式连接到FTP服务
  • 浏览HTTP服务

开发

  • 利用目录遍历
  • 使用Hydra的Bruteforce
  • SSH协议 协议 登录
  • 枚举用户标志

特权提升

  • 滥用NSClient
  • 紧贴root.txt

演练

侦察

由于这些实验室在线,因此它们具有静态IP。 ServMon的IP为10.129.29.110,所以我们从nmap端口枚举开始。

从下面的给定图像中,我们可以观察到我们找到了端口 21、22、80、135、139、445、5666、6699、8443 是开放的。这意味着ftp,ssh,MSRP,smb等服务正在受害者的网络中运行。

枚举

从上面的nmap扫描可以看出ftp允许匿名服务。因此,让我们通过匿名连接来枚举FTP服务。我们有一个名为Users的目录。在该目录中,我们找到了两个名为 纳丁内森。现在我们进入名为Nadine的目录中,我们有一个扩展名为txt的文件 机密.txt。下载此txt文件后,我们进入了名为Nathan的目录,并找到了另一个扩展名为Notes的文件do.txt,然后我们在终端中快速下载了该文件。

将两个文件都下载到我们的终端后,我们退出了FTP,并决定查看这些文件。 机密.txt告诉我们Nathan桌面上已经保留了密码,并且do.txt文件的注释要求我们完成剩余的任务,并告诉我们有关NVMS,NSClient和SharePoint的三种服务。我们知道NVMS位于端口80之后,而NSClient位于端口8443之后。

有关更多详细信息,我们将需要针对主机启动枚举。因此,我们将导航到Web浏览器以探索HTTP服务。打开网页后,我们将获得一个名为nvms-1000的Web应用程序的主页。

开发

由于我们无法在初始枚举中获得证书。我们将必须找到一种不同的方法来访问NVMS-1000的授权登录面板。因此,我们使用searchsploit来搜索任何可用的漏洞利用。

这给了我们目录遍历漏洞。现在,使用searchsploit命令的-m参数下载此攻击脚本。

现在,让我们阅读漏洞利用的内容,并了解漏洞利用的用法。

我们看到该漏洞告诉我们,这是TVT网络监视管理软件3.4.1版中存在的未经身份验证的目录遍历漏洞。 NVMS默认在端口80上进行监听。由于我们已经知道Nathan桌面上存在password.txt,因此我们现在尝试使用curl及其选项-path-as-is来提取Password.txt的内容,以便路径URL中提供的内容不会删除任何DOT段。

我们有两个用户Nadine和Nathan,现在我们的下一个工作是在hydra的帮助下为SSH登录暴力找到用户的密码。猜测密码的最佳方法是使用我们在Desktop 内森上找到的密码文件。

我们有一个用户名和密码,因此我们尝试访问目标系统上的SSH,因此我们能够成功登录。

登录后,我们遍历用户的桌面以读取user.txt标志。

特权提升

现在是时候升级实验室的权限了。现在,如果我们返回在ftp登录过程中发现的Notes文件,我们就会知道有NSClient可以使用该用户。接下来,我们枚举用户目录以查看Program 档案目录。

C:\ 程序文件目录

输入Program 档案后,我们找到了另一个有趣的目录NSClient,在ftp登录期间发现的Notes文件中提到了该目录。现在让’s深入NSClient目录。

在这里,我们发现了一个扩展名为.client的.ini文件,名称为nsclient.ini,它似乎包含某种基于文本的内容,这些内容对于我们移动很有用。它也可能包含某种用于Admin的密码,只是一个猜测。

是的,我们找到了密码哈希,下面对此进行了确认。

现在,如果我们回想起Nathan的do.txt注释,它谈到了锁定NSClient,因此在上面的屏幕快照中可以确认,该状态仅允许访问localhost(127.0.0.1)。 NSClient正在端口8443上工作,该端口已在localhost(127.0.0.1)上打开。

由于我们知道ssh已启用,因此我们可以执行Local ssh隧道,这将使我们的工作更加轻松。现在我们再次切换到Kali Linux进行本地隧道化。

执行以下命令将端口转发到本地计算机。

这将在我们的本地主机上打开端口8443,我们通过在浏览器中打开Web应用程序进行了确认。

因此,我使用在程序文件中找到的nsclinet.ini文件中的枚举详细信息登录。

现在,我们的下一个工作是为Windows下载netcat 64位。

现在,我们的下一个工作是创建一个批处理文件,该文件将启动 网络猫。我们将通过一个名为.bat的文件进行利用 利用.bat.

现在,通过使用以下命令在目标PC上共享我们的exploit.bat文件来启动python服务器。

下一个任务是将我们的exploit.bat上传到目标实验室的Temp文件夹中,我们将通过PowerShell进行此操作。我们的python服务器已经在后台运行。现在要上传目标计算机的.bat文件,请执行以下命令:

从上面的屏幕截图中,可以确认exploit.bat文件已安全到达目标计算机。

下一步是使用netcat 贝壳作为管理员获得shell,因此我们的下一个工作是将netcat上传到目标计算机的Temp文件夹中。为此,请执行以下命令:

我们已经成功上传了我们的netcat,上面的屏幕截图对此进行了确认。接下来,我们将在设置中添加一个新部分,路径类似于/ settings / external scripts / scripts,现在将设置外壳的键值将为exploit.bat所在的路径赋值。

现在,我们通过在调度程序中添加新的部分来重复该过程,路径如下所示 / settings / scheduler。现在将键设置为shell并将value设置为 间隔= 1m 并添加更改。

保存所有更改后,我们将重新加载Web应用程序。

让我们等待脚本执行。 Boom,我们以管理员身份进入。

现在,我们在“ C:\ 程序 档案 \ NSClient ++ ”中枚举系统>”,我们找到了一个名为“ 根.txt”的文件。我们看一下文件的内容并找到最终标志。

作者:Japneet Kaur Gandhi 是一名技术作家,研究员和渗透测试仪。 Contact 这里

芒果HackTheBox演练

今天我们’重新解决另一个名为boot2root的挑战 “芒果“. It’可在HackTheBox进行渗透测试。这个实验室的水平很简单,但是具有足够的基础知识来打破实验室的要求,如果我们注意检查过程中发现的所有细节,它将不会很复杂。进行此实验的功劳归功于 MrR3boot。让’入门并学习如何成功将其分解。

水平:

由于这些实验室可在 哈克盒子 网站。

渗透测试方法

侦察

  • 地图

枚举

  • 打p套房
  • Lse.sh

利用

  • 使用Python脚本进行NoSQL注入

特权提升

  • 滥用SUID“ js ”二进制文件
  • 夺旗

演练

侦察

我们使用所有端口,版本和脚本执行nmap工具。

我们看到443端口的Web服务,它具有SSL证书,我们列举了一个 子域.

我们在“/ etc / hosts ”:

枚举

我们访问了该Web资源,并且看到我们没有访问权限。

我们访问 找到子域,我们有一个必须违反的身份验证面板。

我们用 打p 用于在网站上测试不同的有效负载SQL注入。我们发现该网站容易受到 NoSQL注入.

我们使用有效负载访问了该网站,并发现我们设法 旁路 认证系统。

利用

我们使用以下脚本,我们得到 两个凭证. 请记住,在OSCP认证中,不允许使用SQLMap或NoSQLMap.

下载:脚本NoSQL.py

我们使用用户的凭证“芒果” 与 the SSH协议 协议 服务。

我们不’t access the “用户。txt”文件,我们用“管理员”用户,我们阅读了“用户。txt”标志。

特权升级(根)

我们使用 ls e.sh 脚本,我们枚举两个不常见的suid二进制文件,我们将使用“ js ”用于特权升级。

如果不想使其复杂化,我们将直接读取root.txt文件,但这在OSCP中无效,此外,它失去了boot2root的本质。

读取“根.txt ”:

我们如何升级到根?有几种方法,我没有’变得复杂,我通过将我的公钥添加到“作者ity_keys” file of the 用户。

完成后,我们阅读“授权密钥” file of the 用户并检查我们的公钥是否已经存在。

我们连接到 SSH协议 协议 服务于 用户,我们使用RSA私钥。

作者: 大卫·乌通 是针对Web应用程序,外围网络,内部和工业公司基础结构以及无线网络的渗透测试仪和安全审核程序。联络于 领英 推特.

DevGuru:1个Vulnhub演练

今天,我们要解决另一个名为“ Devguru”的boot2root挑战,而 Zayotic 设计有趣的挑战之一。可在VulnHub进行渗透测试。如果我们有适当的基础知识来打破实验室并且对侦察过程中发现的所有细节都保持专注,那么这个实验室并不困难。让我们开始学习如何成功分解它。

你可以在这里下载: //www.vulnhub.com/entry/devguru-1,620/

水平:中级

渗透测试方法

网络扫描

  • 地图

枚举

  • 提取git commit
  • 登录到管理员
  • 修改用户密码

最初的立足点

  • 访问CMS
  • 注入恶意PHP代码
  • 反向连接

后剥削

  • 访问备份文件
  • 登录到Gitea
  • Gitea恶意代码挂钩
  • 捕获User.txt

特权提升

  • 滥用sudo
  • 捕获Root.txt

网络扫描

让我们借助以下命令进行端口扫描:

从其输出中,我发现打开了3个端口。在HTTP端口80上,Apache正在运行,它提供了以下git存储库:

在8585端口,我看到“ I_like_gitea”,因此有可能运行gitea。

首先,我们通过添加以下行来编辑/ etc / hosts文件。

枚举

GitDumper 来自 Git工具 工具包,我们将“ /.git/”的所有内容提取到我们的Kali中

现在,我们将使用GitTools Kit提取器工具恢复所有文件,这是一个脚本,试图恢复不完整的git存储库:

  • 遍历存储库的所有提交对象。
  • 尝试还原提交的内容。

它将提取提交并将其内的所有文件转储到/ 网站目录中。在解压缩提交文件夹中,我找到了admin.php文件。

我们探索Adminer 4.7.7 DB的admin.php和登录页面

再一次,我回到/7a243ab88e6add580e8fe228a05431d6e4b57a15050b97de844a22694f861dcf2 文件夹并移入 /配置 找到的目录 database.php 文件。

database.php文件存储了mysql DB的登录详细信息。

因此,我使用上述详细信息登录。

在backend_users表中,我看到了用户“ 坦率”的记录,在这里我发现了加密形式的密码,可以使用“编辑”选项卡修改该记录。

在这里,我检查密码是使用bcrypt算法加密的。

因此,我尝试生成一个新密码“拉尚德尔”(使用bcrypt-hash-generator)。

现在,让我们为用户Frank使用上面生成的密码哈希。因此,我为用户坦率编辑了记录并更新了表。

最初的立足点

现在,尝试使用以下frank:rajchandel登录到October CMS。

是时候利用CMS了,它的仪表板对我来说很有趣,在那里我找到了一个执行代码的控制台。因此,我用Google搜索并找到了一个 链接 通过执行PHP代码来利用October CMS。

所以我执行以下代码:

然后在Makeup控制台中执行以下代码。

现在保存代码,然后单击预览以执行恶意代码。

当您将探索 http://devguru.local?cmd=ls-al 它将列出所有目录,如以下目录所示。

现在,让我们转移恶意反向外壳(Pentest monkey 的PHP反向外壳)。我已经启动了python HTTP服务器,以便可以将shell.php转移到目标计算机中。

因此,使用wget命令,我们尝试上传shell.php

启动netcat侦听器,然后通过浏览以下URL执行恶意php 贝壳。

后剥削

繁荣!我们得到了反向连接,让我们进一步列举一下。我们找到 app.ini.bak / var / backup中的文件

在这里,我们找到了gitea DB的另一个登录凭据。

因此,我们以 吉特 ea:UfFPTF8C8jjxVF2m

在用户内部的gitea DB中,该表包含user:frank并再次更改密码

因此,我尝试生成一个新密码“拉尚德尔”(使用bcrypt-hash-generator)。现在,让我们为用户Frank使用上面生成的密码哈希。因此,我为用户坦率编辑了记录并更新了表。

然后,我导航到超过8585的gitea并使用以下凭据登录。

在这里,我们获得了仪表板,并找到了frank / 德夫古鲁-website的链接。

单击图像中突出显示的设置。

点击 吉特·胡克斯> pre-receive > Hook Content 然后执行python反向外壳程序和代码。

但是您需要更新存储库以执行python代码,因此返回存储库并打开README.md

现在,通过在文件末尾添加一些空白行来编辑文件,然后单击“提交更改”。一旦您单击“提交更改”,它将更新存储库,并且您将通过netcat会话获得反向连接。

因此,我们得到了反向连接,在其中找到了user.txt文件,这是我们的1 ST 旗。

特权提升

然后,为了提升特权,我们检查了Sudo权限,发现frank用户可以使用root特权运行sqlite3,而且sudoers插件的安装版本也很容易受到攻击。  

我们发现了一个利用 这里.

然后,我执行以下命令以获得root特权shell并读取root.txt,这是我们的最终标志。

这是一个非常有趣且完全不同的CTF挑战,我学到了一些新技术来访问数据库和通过不同平台进行代码注入。

作者:Chiragh Arora是Hacking 文章的一位热情的研究员和技术作家。他是一个黑客狂热者。联系 这里