破解隐藏服务

HydraHydraBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在这个挑战(Challenge)中,你将使用 Hydra 来破解运行在远程服务器上的一个隐藏服务的凭据。该服务受到 HTTP 基本认证(HTTP Basic Authentication)的保护。你的目标是找到用户名和密码,以访问隐藏的数据。

为了实现这个目标,你首先需要创建必要的目录和包含潜在用户名和密码的字典文件(wordlist),以此来设置环境。然后,你将使用 Python 创建一个带有基本认证的简单 HTTP 服务器。最后,你将利用 Hydra,使用创建的字典文件暴力破解凭据,并获得访问秘密数据的权限。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/target_ip("Target IP Specification") hydra/HydraGroup -.-> hydra/target_service("Target Service Selection") hydra/HydraGroup -.-> hydra/output_saving("Output File Saving") subgraph Lab Skills hydra/target_ip -.-> lab-550719{{"破解隐藏服务"}} hydra/target_service -.-> lab-550719{{"破解隐藏服务"}} hydra/output_saving -.-> lab-550719{{"破解隐藏服务"}} end

破解隐藏服务

一个秘密服务正在远程服务器上运行,它受到 HTTP 基本认证(HTTP Basic Authentication)的保护。你能否使用 Hydra 找出正确的用户名和密码,以访问隐藏的数据?

任务

  • 使用 Hydra,通过提供的用户名和密码列表,对 localhost 的 8000 端口上的 HTTP 服务进行暴力破解。
  • 从 Hydra 的输出中识别出正确的凭据,并将密码保存到 found_password.txt 文件中。

要求

  1. 你必须在 /home/labex/project/wordlists 目录下执行 hydra 命令。
  2. 使用名为 usernames.txt 的用户名列表文件和名为 passwords.txt 的密码列表文件。
  3. 目标是运行在 localhost8000 端口上的 HTTP 服务。
  4. 使用 Hydra 中的 http-get / 模块来执行攻击。
  5. 将正确的密码保存到 /home/labex/project/found_password.txt 路径下的 found_password.txt 文件中。

示例

成功的 Hydra 输出:

[DATA] attacking http-get://localhost:8000/
[8000][http-get] host: localhost   login: [USERNAME]   password: [PASSWORD]
1 of 1 target successfully completed, 1 valid password found

[USERNAME][PASSWORD] 替换为 Hydra 找到的实际凭据。

提示

  • 记住使用 -s 标志指定正确的端口号。
  • 正确的密码不在 passwords.txt 文件中。你需要找到另一种破解密码的方法。
  • 考虑创建你自己的包含常用密码的密码列表。
✨ 查看解决方案并练习

总结

在这个挑战(Challenge)中,目标是破解 HTTP 基本认证(HTTP Basic Authentication),该认证保护着运行在远程服务器上的一个隐藏服务。通过使用 Hydra,你发现了访问该服务所需的用户名和密码。

这个挑战涉及到搭建一个模拟环境,包括为字典文件(wordlist)和 HTTP 服务器创建目录,生成用户名和密码列表,以及创建一个基于 Python 的、需要认证的 HTTP 服务器。然后,使用 Hydra,针对运行在 8000 端口上的 HTTP 服务器,使用创建的字典文件暴力破解凭据。