介绍
在本次挑战中,你将使用 Hydra 破解运行在远程服务器上的隐藏服务的凭据。该服务受 HTTP 基本身份验证(HTTP Basic Authentication)保护。你的目标是找出用户名和密码,从而获取隐藏的数据。
为了实现这一目标,你首先需要搭建环境,包括创建必要的目录以及包含潜在用户名和密码的字典文件。接着,你将使用 Python 创建一个带有基本身份验证的简单 HTTP 服务器。最后,你将利用 Hydra,配合已创建的字典对凭据进行暴力破解,最终成功访问秘密数据。
破解隐藏服务
一个秘密服务正运行在远程服务器上,并受到 HTTP 基本身份验证的保护。你能否使用 Hydra 找出正确的用户名和密码来访问隐藏的数据?
任务
- 使用 Hydra 对运行在
localhost端口8000的 HTTP 服务进行暴力破解,使用提供的用户名和密码列表。 - 从 Hydra 的输出中识别出正确的凭据,并将密码保存到
found_password.txt文件中。
要求
- 你必须在
/home/labex/project/wordlists目录下执行hydra命令。 - 使用名为
usernames.txt的用户名列表文件和名为passwords.txt的密码列表文件。 - 目标是运行在
localhost端口8000的 HTTP 服务。 - 在 Hydra 中使用
http-get /模块执行攻击。 - 将正确的密码保存到文件
/home/labex/project/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文件中。你可能需要寻找其他方式来破解密码。 - 考虑创建一个包含常用密码的自定义密码列表。
总结
在本次挑战中,目标是破解保护远程服务器隐藏服务的 HTTP 基本身份验证。通过使用 Hydra,你成功找出了访问该服务所需的用户名和密码。
该挑战涉及搭建模拟环境,包括为字典文件和 HTTP 服务器创建目录、生成用户名和密码列表,以及创建一个需要身份验证的基于 Python 的 HTTP 服务器。随后,利用 Hydra 配合生成的字典,针对运行在 8000 端口的 HTTP 服务器进行了凭据暴力破解。


