网站搜索

暴力破解 SSH 和 FTP 服务


本 Linux 教程介绍了如何对 SSH 和 FTP 服务执行暴力攻击。

阅读本文后,您将了解暴力攻击的工作原理以及如何使用不同的技术和工具(包括 THC-Hydra 和 Medusa)轻松运行它们。

本教程中描述的所有说明都包含每个步骤的屏幕截图,使任何 Linux 用户都可以轻松理解和遵循它们,无论经验水平如何。

暴力攻击简介

暴力破解是最古老的黑客技术之一。它也是最简单的自动化攻击之一,攻击者需要最少的知识和干预。

暴力攻击包括使用可能的用户名和密码的数据库进行多次登录尝试,直到匹配为止。

可以通过禁止用户每分钟尝试超过 X 次来防止这种攻击类型。通常,在执行此攻击时,攻击者已经知道用户名。在本教程中,我们假设我们知道用户名;我们将使用不同的工具破解 root 密码。

获取正确的字典来进行暴力攻击

暴力攻击有了很大的发展。一开始,黑客的登录尝试仅限于包含一百万个用户名和密码的单词列表。这种方法至今仍然有效并被广泛使用。但是,在当今时代,我们还可以动态生成单词列表或组合。

本教程重点介绍使用单词列表的暴力攻击。

您可以在以下站点找到一些单词表/字典攻击:

  • 今日黑客词汇表目录

  • SkullSecurity 的密码字典

安装 THC-Hydra 以破解 SSH 和 FTP 凭据

本教程的第一部分重点介绍THC-Hydra(第二部分重点介绍美杜莎)。

THC-Hydra 是最流行的暴力破解工具之一。它默认随 Kali Linux 一起提供,并包含在许多 Linux 发行版的官方存储库中。

要在 Debian 或其基于 Linux 的发行版上安装 THC-Hydra,请运行以下命令:

sudo apt install THC-Hydra -y

要在 CentOS 上安装 THC-Hydra,请运行以下命令:

sudo yum -y install THC-Hydra

要在 Fedora Linux 上安装 THC-Hydra,请运行以下命令:

sudo dnf -y install THC-Hydra

使用 THC-Hydra 对 SSH 和 FTP 执行暴力攻击

本教程中的第一个示例解释了如何对SSH服务进行暴力攻击,假设您已经知道目标用户名,并且您只是尝试使用单词列表破解其密码(破解用户名)在第二个示例中进行了解释)。

如果您已经知道用户名,则破解密码的语法如下:

THC-Hydra -l <Username> -P <Dictionary.txt> <Target> <Service>

THC-Hydra调用程序的地方,-l(小写)用于指定已知的用户名(使用用户列表时使用大写),-P (大写)用于定义单词列表,包括其路径,目标是目标IP地址或主机,服务是我们正在攻击的协议(例如, SSH、FTP)。

因此,要运行我已经知道用户名的攻击,我执行如下命令:

THC-Hydra -l linux-consoleuser -P passlist.txt 192.168.0.100 ssh

正如您在前面的屏幕截图中看到的,linux-consoleuser 的密码已成功破解并显示为 linux-consolepassword

现在,假设您不知道用户名或密码,并且将为每个用户使用两个单词列表。在这种情况下,语法如下:

THC-Hydra -L <Userlist.txt> -P <Dictionary.txt> <Target> <Service>

正如您所看到的,唯一的区别是我们将小写的 -l 替换为大写的 -L ,后跟用户名字典。

在实际示例中,要破解用户名和密码,请运行以下命令:

THC-Hydra -L userlist.txt -P passlist.txt 192.168.0.100 ssh

凭据再次被成功破解,显示用户名是 linux-consoleuser,密码是 linux-consolepassword

默认情况下,THC-Hydra 运行 16 个并发连接以加快进程。但有些服务器被配置为拒绝过多的并行连接。在这种情况下,THC-Hydra 建议将并行连接限制为 4。 -t 标志用于限制并行连接,后跟要启动的并行连接数,如下一个示例所示。

以下命令假设您已经知道目标用户名并将并行连接限制为 4:

THC-Hydra -t 4 -l linux-consoleuser -P passlist.txt 192.168.0.100 ssh

攻击成功了。现在,假设您不知道用户名并使用用户名列表,我们可以尝试使用四个并行连接进行相同的攻击。

THC-Hydra -t 4 -L userlist.txt -P passlist.txt 192.168.0.100 ssh

破解 FTP 凭据需要完全相同的语法。唯一的区别是我们在命令末尾指定的协议。下面,您可以看到几个示例,保留了之前示例中使用的语法:

hydra -l linux-consoleuser -P passlist.txt 192.168.0.100 ftp

在前面的示例中,我们指定了用户名。让我们尝试使用用户名列表进行另一种攻击。

hydra -L userlist.txt -P passlist.txt 192.168.0.100 ftp

可以看到,针对SSH和FTP的攻击成功了。语法是相同的,只是指定的协议发生了变化。 Hydra 支持您可以根据需要定位的其他协议。

使用 Medusa 暴力破解 SSH 和 FTP

本节介绍如何使用另一种密码破解程序 Medusa 执行暴力攻击。

要在基于 Debian 的 Linux 发行版上安装 Medusa,请运行以下命令:

sudo apt install medusa

使用 Medusa 知道目标用户名进行攻击的正确语法如下:

medusa -u <Username> -P <Passlist.txt> -h <Target> -M <Protocol/Service>

-u(小写)标志用于定义已知的用户名,而-P(大写)标志则用于定义已知的用户名。 -h 标志后跟目标 IP 地址或主机,-M 后跟我们想要攻击的协议或服务。

Medusa -u linux-consoleuser -P passlist.txt -h 192.168.0.100 -M ssh

如上图所示,密码已成功泄露。

现在,假设我们不知道用户名,我们也使用字典或列表。

除了小写的 -u 标志之外,语法是相同的,该标志必须替换为大写的 -U,后跟用户列表的路径,如以下示例所示:

medusa -U userlist.txt  -P passlist.txt -h 192.168.0.100 -M ssh

让我们对 FTP 协议进行同样的尝试;为此,您只需将命令末尾的SSH替换为FTP即可,如下图所示:

medusa -U userlist.txt  -P passlist.txt -h 192.168.0.100 -M ftp

这就是使用单词列表使用 Medusa 和 THC-Hydra 破解密码的全部内容。我希望您喜欢本教程。

结论

进行暴力攻击不需要高级的安全知识。通过一些命令和强大的硬件,我们可以通过让尝试大量登录的软件在短时间内运行来快速破解密码。防御此类攻击非常容易,不需要系统管理员级别的知识。您只需限制允许的登录尝试次数,阻止用户大量尝试凭据。这可以通过SSH、FTP或其他服务配置文件轻松配置。请记住关闭所有不使用的服务。继续阅读 LinuxHint 文章以获取更多安全专业文章。

相关文章: