使用黑客使用的相同工具测试密码强度

您的密码安全吗?我们都听到了很多关于您不应该选择哪种密码的建议-各种各样的工具声称可以在线评估您的密码的安全性。但是,这些只能是准确的。真正测试密码安全性的唯一方法就是尝试将其破解。

所以今天,我们要做的就是这样做。我将向您展示如何使用真正的黑客用来破解密码的工具,并向您展示如何使用它来检查您的密码。而且,如果它没有通过测试,我将向您展示如何选择可以保留的更安全的密码。

设置Hashcat

我们使用的工具将要使用的被称为Hashcat。正式而言,它是用于恢复密码的。副作用是,这使其成为测试密码安全性的非常有效的方法。

注意:本教程适用于Windows。那些使用Linux的人可以查看下面的视频,以获取开始的想法。

您可以从hashcat.net网页上获得Hashcat。将其下载并解压缩到您的下载文件夹中。接下来,我们需要获取该工具的一些辅助数据。我们将获得一个单词列表,该列表基本上是一个庞大的密码数据库,该工具可以用作起点,特别是rockyou.txt数据集。下载它,并将其粘贴在Hashcat文件夹中。确保将其命名为“ rockyou.txt"

现在,我们将需要一种生成哈希的方法。我们将使用WinMD5,这是一种轻量级的免费软件工具,可对特定文件进行哈希处理。下载它,解压缩,然后将其放入Hashcat目录。我们将创建两个新的文本文件:hashes.txt和password.txt。将它们都放在Hashcat目录中。

就是这样!您完成了。

关于黑客大战的人们的历史

在实际使用此应用程序之前,让我们先讨论一下密码实际上是如何被破解的,以及如何破解密码。

追溯到计算机科学的薄雾历史,网站以纯文本形式存储用户密码是标准做法。这似乎是有道理的。您需要验证用户是否输入了正确的密码。一种明显的方法是将密码的副本保存在一个小文件中的某个位置,然后对照该列表检查用户提交的密码。容易。

这是一场巨大的灾难。黑客将通过一些狡猾的策略(例如礼貌地询问)来访问服务器,窃取密码列表,登录并窃取所有人的钱。当安全研究人员从灾难的烟囱中恢复过来时,很明显,我们需要做一些不同的事情。解决方案是散列。

For those not familiar, a hash function is a piece of code that takes a piece of information and scrambles it up mathematically into a fixed-length piece of gibberish. This is called ‘hashing’ the data. What’s cool about them is that they only go in one direction. It’s very easy to take a piece of information and figure out its unique hash. It’s very hard to take a hash and find a piece of information that generates it. In fact, if you use a random password, you have to try every possible combination in order to do it, which is more or less impossible.

在家里的那些人可能会注意到散列对于密码应用程序具有一些非常有用的属性。现在,您可以存储密码的哈希值,而不必存储密码。当您想要验证密码时,可以对它进行哈希处理,删除原始密码,然后对照哈希表进行检查。哈希函数均提供相同的结果,因此您仍然可以验证它们是否提交了正确的密码。至关重要的是,实际的纯文本密码永远不会存储在服务器上。因此,当黑客破坏服务器时,他们将无法窃取任何密码-只能使用无用的哈希。

黑客对此的反应是花费大量的时间和精力,提出真正聪明的方法来消除哈希。

Hashcat的工作原理

为此,我们可以使用几种策略。 Hashcat使用的最强大的密码之一是,它会注意到用户不是很富于想象力,并且倾向于选择相同类型的密码。

例如,大多数密码由一两个密码组成英文单词,几个数字,以及某些“口语"字母替换或随机大写字母。在所选择的单词中,某些单词比其他单词更有可能:“密码",服务名称,您的用户名和“你好"都很受欢迎。

知道这一点,您就可以开始对不同的用户可能选择的内容进行非常合理的猜测,(最终)应该可以让您正确猜测,打破哈希,并访问他们的登录凭据。这听起来像是一个绝望的策略,但请记住,计算机的速度非常快。现代计算机可以每秒尝试数百万个猜测。

这就是我们今天要做的。我们会假装您的密码在恶意黑客手中的哈希列表中,并运行与黑客使用的哈希破解工具相同的工具。将其视为您的在线安全的防火练习。让我们看看它如何运行!

如何使用Hashcat

首先,我们需要生成哈希。打开WinMD5,以及您的“ password.txt"文件(在记事本中)。输入您的密码之一(只需输入一个)。保存文件。使用WinMD5打开它。您会看到一个小方框,其中包含文件的哈希值。将其复制到“ hashes.txt"文件中,然后保存。重复此步骤,将每个文件添加到“ hashes.txt"文件中的新行中,直到获得常规使用的每个密码的哈希值。然后,只是为了好玩,将“ password"一词的散列放在最后一行。计算,使暴力破解更加可行。由于我们正在进行破坏性测试,因此对我们来说实际上是一个加分项。在真实的密码泄漏中,我们的密码将使用Scrypt或其他一些安全的哈希函数进行哈希处理,这些测试较慢。通过使用MD5,我们基本上可以模拟在问题上抛出比实际可用的处理能力和时间更多的函数。

下一步,确保已保存“ hashes.txt"文件,并带来Windows PowerShell。导航到Hashcat文件夹( cd .. 进入上一层, ls 列出当前文件,然后 cd [filename] 在当前目录)。现在键入。/hashcat-cli32.exe –hash-type = 0 –attack-mode = 8 hashes.txt rockyou.txt

该命令的基本内容是“运行Hashcat应用。将其设置为可在MD5哈希上使用,并使用“王子模式"攻击(使用多种不同策略对列表中的单词创建变体)。尝试破坏“ hashes.txt"文件中的条目,并使用“ rockyou.txt"文件作为字典。

点击进入,接受EULA(基本上说“我赢了小指, "),然后让它运行。密码的哈希值应在一两秒钟后弹出。之后,只是等待的问题。快速现代化的CPU会在几分钟之内出现弱密码。普通密码将在几小时到一两天内弹出。强密码可能需要很长时间。我的一个较旧的密码在不到10分钟的时间内就被破解了。

您可以随意运行此密码。我建议至少在晚上或在工作时在PC上使用。如果您将密码设置为24小时,那么对于大多数应用程序来说,您的密码可能足够坚固-尽管这不能保证。黑客可能愿意长期运行这些攻击,或者愿意访问更好的单词列表。如果对您的密码安全性有疑问,请找一个更好的密码。

我的密码已损坏:现在怎么办?

很有可能您的某些密码没有被保留。那么,如何生成强密码来替换它们呢?事实证明,密码短语是一种非常强大的技术(由xkcd表示)。打开最近的一本书,翻至随机页面,然后将手指放在页面上。取最近的名词,动词,形容词或副词,并记住它。当您有四个或五个时,请不要将空格,数字或大写字母混在一起。请勿使用“正确的胸式电池钉"。不幸的是,它作为密码而变得流行,并且包含在许多单词列表中。

我刚从坐在咖啡桌上的科幻选集中生成的一个示例密码是“ leanedsomeartisansharmingdarling"(请勿使用这个)。这比任意字母和数字字符串更容易记住,并且可能更安全。讲英语的母语人士能使用的词汇约20,000个。结果,对于五个随机选择的常用词的序列,存在20,000 ^ 5,或大约三个六十亿可能的组合。这远远超出了当前任何强力攻击的掌握范围。

相反,将根据字符合成随机选择的八个字符的密码,大约有80种可能性,包括大写,小写,数字,字符和空格。 80 ^ 8只是一个四千万。这听起来仍然很大,但是打破它实际上是在可能性范围之内。假设有十台高端台式机(每台每秒可处理约一千万个哈希),那么这可能会在几个月内被强行使用-如果实际上不是随机的,安全性将完全崩溃。这也很难记住。

另一种选择是使用密码管理器,该管理器可以为您动态生成安全密码,所有这些都可以使用单个主密码“解锁"。您仍然必须选择一个非常好的主密码(如果忘记了密码,便会遇到麻烦)–但是,如果您的密码哈希在网站漏洞中泄露,那么您将拥有更强大的安全性。

良好的密码安全性并不是很难,但是它确实需要您意识到这一问题并采取措施来确保安全。这种破坏性测试可能是一个不错的提醒。从理智上知道,您的密码可能不安全是一回事。几分钟后,它又会真正从Hashcat中弹出。

您的密码是如何保存的? 在评论中让我们知道!

标签: 黑客 在线安全 密码