本教程中,我们将向您介绍常见的密码破解技术以及您可以实施以保护系统免受此类攻击的对策。
什么是密码强度?
密码强度是衡量密码抵抗密码破解攻击效率的指标。密码的强度由以下因素决定;
- 长度:密码包含的字符数。
- 复杂性:它是否使用字母、数字和符号的组合?
- 不可预测性:攻击者可以轻易猜到吗?
现在让我们看一个实际的例子。我们将使用三个密码,即
1. 密码
2. 密码1
3. #密码1$
在本例中,我们将在创建密码时使用 Cpanel 的密码强度指示器。下图显示了上述每个密码的密码强度。
注意:使用的密码是强度为1的密码,非常弱。
注意:使用的密码是password1,强度是28,还是很弱。
注意:使用的密码是#password1$,强度为60,强度很高。
强度数越高,密码越好。
假设我们必须使用 md5 加密来存储上述密码。我们将使用在线md5 哈希生成器将我们的密码转换为 md5 哈希。
下表显示了密码哈希
我们现在将http://www.md5this.com/
用来破解上述哈希。下图显示了上述密码的密码破解结果。
从上面的结果可以看出,我们设法破解了强度数字较低的第一个和第二个密码。我们没能破解第三个更长、更复杂、更不可预测的密码。它具有更高的强度数。
密码破解技术
有许多技术可以用来破解密码。我们将在下面描述最常用的;
- 字典攻击——此方法涉及使用单词表与用户密码进行比较。
- 蛮力攻击——这种方法类似于字典攻击。蛮力攻击使用结合字母数字字符和符号的算法来为攻击提供密码。例如,也可以使用暴力攻击尝试将值为“password”的密码作为 p@$$word 进行尝试。
- 彩虹表攻击——此方法使用预先计算的哈希值。假设我们有一个将密码存储为 md5 哈希的数据库。我们可以创建另一个数据库,其中包含常用密码的 md5 哈希值。然后,我们可以将我们拥有的密码哈希与数据库中存储的哈希进行比较。如果找到匹配项,那么我们就有密码。
- 猜测——顾名思义,这种方法涉及猜测。qwerty、password、admin等密码常用或设置为默认密码。如果它们没有被更改或者如果用户在选择密码时不小心,那么它们很容易被破坏。
- 爬网——大多数组织使用包含公司信息的密码。这些信息可以在公司网站、facebook、twitter 等社交媒体上找到。Spidering 从这些来源收集信息以提供单词列表。然后使用单词列表执行字典和蛮力攻击。
蜘蛛样本字典攻击词表
1976 <创始人出生年份> smith jones <创始人姓名> acme <公司名称/缩写> built|to|last <公司愿景/使命中的文字> 高尔夫|国际象棋|足球<创始人的爱好
密码破解工具
这些是用于破解用户密码的软件程序。我们已经在上面的密码强度示例中查看了类似的工具。该网站http://www.md5this.com/
使用彩虹表来破解密码。我们现在来看看一些常用的工具
开膛手约翰
开膛手约翰使用命令提示符来破解密码。这使其适合喜欢使用命令的高级用户。它使用词表来破解密码。该程序是免费的,但必须购买单词表。它有您可以使用的免费替代单词列表。访问产品网站https://www.openwall.com/john/了解更多信息以及如何使用它。
该隐和亚伯
Cain & Abel 在 windows 上运行。它用于恢复用户帐户的密码,恢复 Microsoft Access 密码;网络嗅探等。与开膛手约翰不同的是,Cain & Abel 使用图形用户界面。由于使用简单,它在新手和脚本小子中很常见。访问产品网站https://sectools.org/tool/cain/了解更多信息以及如何使用它。
奥菲克
Ophcrack 是一个跨平台的 Windows 密码破解器,它使用彩虹表来破解密码。它可以在 Windows、Linux和 Mac OS 上运行。它还有一个用于蛮力攻击的模块以及其他功能。访问产品网站https://ophcrack.sourceforge.io/ 了解更多信息以及如何使用它。
密码破解对策
- 组织可以使用以下方法来减少密码被破解的机会
- 避免使用简短且易于预测的密码
- 避免使用具有可预测模式的密码,例如 11552266。
- 存储在数据库中的密码必须始终加密。对于 md5 加密,最好在存储密码哈希之前对其进行加盐。加盐涉及在创建哈希之前向提供的密码添加一些单词。
- 大多数注册系统都有密码强度指示器,组织必须采用有利于高密码强度数字的策略。
黑客活动:立即破解!
在这个实际场景中,我们将使用简单的密码破解 Windows 帐户。Windows 使用 NTLM 散列来加密密码。我们将使用 Cain 和 Abel 中的 NTLM 破解工具来做到这一点。
Cain and Abel 破解器可用于破解密码使用;
- 字典攻击
- 蛮力
- 密码分析
我们将在这个例子中使用字典攻击。您需要在此处下载字典攻击词汇表 10k-Most-Common.zip
对于此演示,我们在 Windows 7 上创建了一个名为 Accounts 的帐户,密码为 qwerty。
密码破解步骤
- 打开Cain and Abel,你会得到如下主界面
- 确保如上图所示选择了饼干选项卡
- 单击工具栏上的添加按钮。
将出现以下对话窗口
本地用户帐户将显示如下。请注意,显示的结果将是本地计算机上的用户帐户。
右键单击要破解的帐户。对于本教程,我们将使用 Accounts 作为用户帐户。
会出现以下画面
- 右键单击字典部分并选择添加到列表菜单,如上所示
- 浏览到您刚刚下载的 10k most common.txt 文件
- 点击开始按钮
- 如果用户使用像 qwerty 这样的简单密码,那么您应该能够得到以下结果。
- 注意:破解密码所需的时间取决于密码强度、复杂性和您机器的处理能力。
- 如果密码没有使用字典攻击破解,您可以尝试暴力破解或密码分析攻击。
概括
- 密码破解是恢复存储或传输的密码的艺术。
- 密码强度由密码值的长度、复杂性和不可预测性决定。
- 常见的密码技术包括字典攻击、暴力破解、彩虹表、蜘蛛和破解。
- 密码破解工具简化了破解密码的过程。