Password Cracker如何破解/猜出密码
密码破解是攻击性安全领域最古老的技术之一,但它仍然至关重要,因为用户仍然倾向于选择可预测的密码。在本教程中,我们将介绍攻击者常用的密码恢复技术、自动化破解工具以及管理员可以部署的防御措施,以保护系统免受此类攻击。
什么是密码破解?
密码破解是指试图通过恢复保护身份验证机制的密钥来获取对受限系统的未经授权访问权限的过程。破解过程可能包括将存储的密码哈希值与预先计算的单词列表进行比较,或者运行生成候选密码的算法,直到找到匹配项。一旦找到匹配项,攻击者就可以冒充合法用户进行身份验证,而无需进行任何在线猜测。
什么是密码强度?
密码强度是衡量密码抵御破解攻击能力的指标。任何密码的强度都由以下三个属性决定:
- 长度: 密码包含的字符总数。
- 复杂: 它是否使用大写字母、小写字母、数字和符号的组合。
- 不可预测性: 攻击者如果认识用户,是否能够轻易猜到密码。
让我们来比较三个密码: 密码, password1和 #密码1$在这个例子中,我们将使用cPanel的密码强度指标。下图显示了每个候选密码的强度。
注意:使用的密码是 密码强度为 1,非常弱。
注意:使用的密码是 password1强度为 28,仍然很弱。
注意:使用的密码是 #密码1$密码强度为 60,属于强密码。强度值越高,密码越安全。
现在假设我们需要使用 MD5 哈希算法存储相同的密码。我们将使用在线 MD5 哈希生成器将每个密码转换为其哈希值。下表显示了生成的哈希值。
| 密码 | MD5 哈希 | cPanel 强度指标 |
|---|---|---|
| 密码 | 5f4dcc3b5aa765d61d8327deb882cf99 | 1 |
| password1 | 7c6a180b36896a0a8c02787eeafb0e4c | 28 |
| #密码1$ | 29e08fb7103c327d68327f23d8d9256c | 60 |
现在我们将使用一个公开的 MD5 反向查找网站来破解上述哈希值。下图显示了每个哈希值的密码破解结果。
如上所示,我们成功破解了强度较低的前两个密码。但我们未能破解第三个密码,该密码更长、更复杂、更难以预测,且强度更高。
密码破解技术
攻击者使用多种已被证实有效的技术来恢复密码。下面我们将介绍最常用的几种类型。
- 字典攻击: 该方法使用一个可能的候选单词列表,并将每个单词与捕获的用户密码或密码哈希值进行比较。
- 蛮力攻击: 暴力破解攻击结合字母数字字符和符号,使用算法系统地生成所有可能的密码,直到找到匹配项为止。例如,密码如下: 密码 也可以尝试作为 p@$$word 使用混合暴力破解规则。
- 彩虹桌攻击: 这种方法依赖于预先计算的哈希值。假设数据库以 MD5 哈希值的形式存储密码。攻击者创建另一个表,用于存储常用密码的 MD5 哈希值,并将捕获到的哈希值与预先计算好的哈希值表进行比较。如果找到匹配项,则可以恢复密码。
- 猜测: 顾名思义,这种方法涉及猜测。例如,密码可能是: QWERTY, 密码和 管理员 这些设置通常被使用或设置为默认值。如果它们没有被更改,很容易受到攻击。
- 蜘蛛: 大多数组织使用的密码都包含公司信息。这些信息可以从公司网站和社交媒体(例如 Facebook 和 Twitter)上获取。网络爬虫会从这些来源收集数据,构建针对性的字典,然后利用这些字典进行字典攻击和暴力破解攻击。
- 凭证填充: 攻击者利用从一次数据泄露中泄露的用户名和密码对,对不相关的服务进行重放攻击,从而利用用户重复使用凭据的漏洞。
一个虚构公司的爬虫词表可能组合如下:1976(创始人出生年份);史密斯,琼斯(姓氏);艾克米(公司名称);建造,到,最后(愿景关键词);高尔夫,国际象棋,足球(爱好)。
下表从速度、前提条件和可检测性等方面对各种技术进行了比较。
| 技术 | 速度 | 需要哈希值吗? | 可在线检测? |
|---|---|---|---|
| 字典 | 快速 | 可选 | 是 |
| 蛮力 | 放慢 | 可选 | 是 |
| 彩虹桌 | 速度非常快 | 是 | 否(离线) |
| 揣测 | 请按需咨询 | 没有 | 是 |
| 爬网 | 放慢 | 没有 | 是 |
| 凭证填料 | 快速 | 没有 | 是 |
Password Cracker 工具
密码破解工具是能够自动执行上述技术的软件程序。我们在之前的强度示例中已经提到过一种这样的工具,它使用彩虹表来逆向常见的哈希值,从而实现公开的 MD5 查询。现在,我们将介绍从业人员在授权评估过程中使用的其他工具。
1) John the Ripper
John the Ripper 该程序使用命令行,并接受带有规则的单词列表来生成候选哈希值。它可以自动检测许多常见的哈希格式。该程序免费,但精选的商业单词列表需单独购买。访问 https://www.openwall.com/john/.
2) Cain & Abel
Cain & Abel 运行 Windows 它可以恢复用户密码、执行网络嗅探等等。其图形界面使其深受新手欢迎。该工具自 2014 年以来未进行积极维护,因此仅适用于旧版实验室系统。参见 https://sectools.org/tool/cain/.
3) Ophcrack
Ophcrack 是一个跨平台 Windows 使用彩虹表的密码破解程序。它运行在 Windows,Linux和 macOS并且包含一个暴力破解模块。访问 https://ophcrack.sourceforge.io/.
4) Hashcat
Hashcat 是离线密码恢复的现代标准。它支持 300 多种哈希算法,利用 GPU 加速,并提供基于规则的攻击。文档位于: https://hashcat.net/hashcat/.
5)九头蛇
Hydra (THC-Hydra) 针对 SSH、FTP、RDP 和 HTTP 登录表单等在线服务。它附带 Kali Linux 并广泛应用于授权的红队演练中。
如何防范密码破解攻击?
组织可以采取以下措施来降低密码被破解的风险:
- 至少需要 12 个字符,并避免使用可预测的模式,例如 11552266 或 qwerty1234。
- 存储密码时,请使用速度较慢的单向哈希函数(例如 bcrypt、scrypt 或 Argon2),而不是速度较快的哈希函数(例如 MD5 或 SHA-1)。
- 在对每个密码进行哈希处理之前先加盐;即使哈希本身速度很快,盐也能阻止彩虹表查找。
- 按照 NIST SP 800-63B 的建议,采用有利于高强度得分的密码策略,并推广使用密码短语。
- 启用多因素身份验证 (MFA),这样仅凭被盗密码无法获得访问权限。
- 使用密码管理器为每个服务生成唯一的凭据,从而消除凭据填充攻击。
- 配置账户锁定、限流和持续监控,以便及早发现在线暴力破解活动。
黑客活动:立即黑客攻击!
在这个实际场景中,我们将破解一个 Windows 使用简单密码的帐户。 Windows 将本地凭据存储为 NTLM 哈希(基于 MD4 的方案),我们将使用 Cain and Abel 中的 NTLM 破解模块来恢复该值。
Cain 和 Abel 可以使用字典攻击、暴力破解或密码分析(预先计算的表格)来破解密码。这里我们将使用字典攻击。下载字典列表 10k-最常见的.zip 来自一家信誉良好的镜像网站。为了演示,我们创建了一个名为“ 账户 用密码 QWERTY 上 Windows 7 实验室机器。
如何破解密码
以下操作指南将每个该隐与亚伯的界面与相应的操作一一对应。请按顺序在您自己的实验室账号上执行这些步骤,切勿在您不拥有的系统上操作。
步骤 1)打开该隐与亚伯。
启动应用程序;您将看到以下主屏幕。
步骤 2)找到“添加”按钮。
确保已选中“破解程序”选项卡(如上图所示),然后单击工具栏上的“添加”按钮。
步骤 3)选择导入源。
出现以下对话框。选择 从本地系统导入哈希表 并点击下一步。
步骤4) Rev查看导入的账户。
本地用户帐户如下所示。实际结果将反映您实验室计算机上的用户帐户。
步骤 5)右键单击目标帐户。
右键单击要破解的帐户。在本教程中,我们将使用…… 账户 用户。
步骤 6)打开字典攻击面板。
在字典攻击窗口中,右键单击字典部分并选择 添加到列表 如下所示。
步骤 7)浏览到单词列表文件。
浏览到 10k-most-common.txt 选择您刚刚下载的文件。
步骤8) Rev查看已恢复的密码。
如果用户选择了一个简单的密码,例如 QWERTY您将看到与下图类似的结果,用户帐户旁边会显示明文值。
注意:破解密码所需时间取决于密码强度、候选列表的复杂度以及计算机的处理能力。如果字典攻击无法恢复密码,请尝试暴力破解或密码分析攻击。
人工智能是如何运作的?ping 密码破解与防御
人工智能已成为密码破解攻防两端的一股重要力量。攻击者利用泄露的凭证数据训练语言模型,以预测可信的密码短语;而防御者则将同样的模型与遥测管道相结合,以更快地检测到入侵行为。
以下是人工智能如今正在改变该领域的方式:
- 更智能的词表生成: PassGAN 等生成模型学习人类密码模式,并生成候选列表,这些列表比静态字典能破解更多哈希值。
- 行为风险评分: 防御型人工智能会检查登录地理位置、设备指纹和类型ping 节奏,发送不寻常的上下文以加强身份验证。
- 实时异常检测: 机器学习分类器监视身份验证日志,并标记签名规则无法识别的凭证填充或缓慢的暴力破解活动。
- 自动化政策指导: 身份平台会根据组织特定的语料库对新密码短语进行评分,并在用户最终确定密码短语之前建议更强的替代方案。
- 抵御网络钓鱼攻击的防御措施: AI 通过分析风险信号和减少用户摩擦,加速 FIDO2 和密码流程的推广。
将 AI 监控与多因素身份验证、Argon2 等现代哈希技术以及快速入侵通知信息流相结合,使自动化防御领先于自动化攻击。
















