简介
在本次实验中,你将学习如何通过创建和修改用户名和密码列表,为 Hydra 暴力破解攻击准备必要的文件。你将生成包含常见凭证的文本文件,并通过添加更多变体对其进行定制,以提高测试效果。
本练习涵盖创建 usernames.txt
和 passwords.txt
文件,增加更多条目来扩展这些文件,并验证 Hydra 是否能够正确加载这些文件。这些准备好的列表将作为后续身份验证破解尝试的基础。
在本次实验中,你将学习如何通过创建和修改用户名和密码列表,为 Hydra 暴力破解攻击准备必要的文件。你将生成包含常见凭证的文本文件,并通过添加更多变体对其进行定制,以提高测试效果。
本练习涵盖创建 usernames.txt
和 passwords.txt
文件,增加更多条目来扩展这些文件,并验证 Hydra 是否能够正确加载这些文件。这些准备好的列表将作为后续身份验证破解尝试的基础。
在这一步中,你将创建一个文本文件,其中包含可用于测试身份验证系统的常见用户名列表。这个用户名列表对于 Hydra 攻击至关重要,因为它为该工具提供了在暴力破解或字典攻击期间尝试的潜在账户名。
cd
命令用于更改当前目录,在本次实验中,我们使用 ~/project
作为工作目录:cd ~/project
usernames.txt
的新文本文件。以下命令将创建一个新文件或打开一个现有文件:nano usernames.txt
admin
root
user
test
guest
administrator
Ctrl+O
(写入)保存。Enter
确认文件名 (usernames.txt
)。Ctrl+X
退出编辑器。cat
命令显示文件内容,验证文件是否正确创建。这将显示文件中存储的具体内容:cat usernames.txt
你应该会看到你输入的用户名列表,每个用户名占一行。在后续步骤中,这个文件将作为 Hydra 的输入,该工具将系统地尝试每个用户名(与另一个文件中的密码组合)来测试身份验证系统。
在这一步中,你将创建一个包含常见密码的文本文件,该文件将与步骤 1 中的用户名列表一起用于使用 Hydra 测试身份验证系统。密码列表对于暴力破解攻击至关重要,因为它们包含系统可能容易受到攻击的常用凭证。
~/project
目录是我们存储所有攻击文件的地方,以便保持文件的组织性:cd ~/project
passwords.txt
的新文本文件。nano 是一个简单的文本编辑器,大多数 Linux 发行版都预装了它,非常适合初学者:nano passwords.txt
password
123456
admin
12345678
qwerty
123456789
Ctrl+O
(写入)—— 这将保存你的更改。Enter
确认文件名。Ctrl+X
退出 nano 并返回终端。cat
命令是一种无需打开编辑器即可快速检查文件内容的方法:cat passwords.txt
你应该会看到你输入的密码列表,每个密码占一行。在后续步骤运行 Hydra 时,这个密码列表将与步骤 1 中的用户名列表结合使用。确保两个文件都正确格式化,这样 Hydra 就能在攻击期间系统地测试所有可能的用户名 - 密码组合。
在这一步中,你将通过添加更多在身份验证系统中常用的凭证,来完善前几步创建的用户名和密码列表。这些添加的内容很重要,因为现实世界中的系统通常有默认或常用的凭证,而这些凭证可能容易受到暴力破解攻击。
cd ~/project
nano usernames.txt
sysadmin
webmaster
support
backup
oracle
mysql
按 Ctrl+O
(写入)保存文件,然后按 Enter
确认,最后按 Ctrl+X
退出 nano。这些键盘快捷键对于使用命令行编辑器至关重要。
现在,使用相同的步骤打开密码列表进行编辑:
nano passwords.txt
letmein
welcome
password1
123123
12345
111111
使用相同的方法保存密码文件:按 Ctrl+O
、Enter
,然后按 Ctrl+X
。
通过显示文件内容来验证两个文件是否包含更新后的凭证。&& echo "---"
部分在显示两个文件时添加了一个视觉分隔符:
cat usernames.txt && echo "---" && cat passwords.txt
你应该会看到两个列表现在都包含了更全面的凭证集。当使用 Hydra 测试身份验证系统时,这些增强后的列表将提供更好的覆盖范围,因为它们既包含了系统默认账户,也包含了在现实场景中经常出现的常用弱密码。
在这一步中,你将学习如何通过创建一个专用目录并设置正确的文件权限,来为 Hydra 攻击正确组织你的凭证列表。这很重要,因为 Hydra 在尝试破解密码时需要能够访问这些文件。
cd ~/project
hydra_lists
的新目录,专门用于存储你的凭证文件。使用单独的目录有助于保持工作空间的整洁,并使文件更易于查找:mkdir hydra_lists
mv
命令会将文件从当前位置物理移动到新目录:mv usernames.txt passwords.txt hydra_lists/
-l
选项会显示详细信息,包括文件权限:ls -l hydra_lists/
你应该会看到 usernames.txt
和 passwords.txt
都列在其中,并显示它们的权限。
644
权限表示文件所有者可以读写,而其他用户只能读取:chmod 644 hydra_lists/*
-rw-r--r--
权限字符串表示文件已正确配置:ls -l hydra_lists/
输出应该显示两个文件的权限都是 -rw-r--r--
,这意味着所有用户都可以读取这些文件,但只有所有者可以写入 —— 这是用于 Hydra 攻击的凭证文件的理想权限设置。
在这最后一步,你将验证 Hydra 能否正确读取和处理你在前面步骤中创建的凭证文件。在发起实际攻击之前,这是一项重要的检查,因为它能确保你的用户名和密码列表格式正确,并且 Hydra 可以访问这些文件。
cd ~/project
-V
标志以详细输出模式运行 Hydra 进行测试。此命令告诉 Hydra:
-L hydra_lists/usernames.txt
)-P hydra_lists/passwords.txt
)-t 1
)hydra -L hydra_lists/usernames.txt -P hydra_lists/passwords.txt -V -t 1 localhost ssh
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
[DATA] max 1 task per 1 server, overall 1 task, 42 login tries (l:6/p:7), ~42 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... done
验证输出后,按 Ctrl+C
停止测试。由于我们只是在测试文件加载,因此无需让它完成。
要确认两个文件都被正确读取,请检查输出中显示的登录尝试次数。这个数字应该等于你列表中的用户名数量乘以密码数量。例如,如果你有 6 个用户名和 7 个密码,你应该会看到 42 次登录尝试(6×7 = 42)。这个乘法结果确认了 Hydra 正在正确地组合你文件中所有可能的凭证对。
在本次实验中,你学习了如何通过在 Linux 系统中创建和管理文本文件,为 Hydra 攻击准备用户名和密码列表。练习内容包括使用 nano 编辑器创建 usernames.txt
和 passwords.txt
文件,用常见的凭证填充这些文件,并使用 cat
命令验证文件内容。
你还练习了基本的 Linux 文件操作,包括目录导航、文本编辑和文件验证。这些技能是设置有效暴力破解攻击的基础,因为格式正确的凭证列表对于发挥 Hydra 的安全测试能力至关重要。