USB与网络密码破解工具的比较分析
1. 引言
密码在保障各类应用程序的安全方面起着至关重要的作用,广泛应用于操作系统登录、网络服务、ATM 机等场景。尽管我们一直教育终端用户选择复杂的密码,但仍存在多种攻击手段可以破解这些密码。本文将对基于 USB 和基于网络的密码攻击进行比较分析,并详细介绍和对比各种相关的密码破解工具。
在当前的安全计算机系统中,密码通常以加密形式存储。用户登录时,输入的密码会先被加密,然后与存储的加密密码进行比对,匹配则登录成功,不匹配则失败。然而,在某些情况下,设置用户密码的安全性可能并不比不设置密码高多少。密码的实际价值主要在于防止未经授权的网络访问,若不结合其他保护措施(如加密),用户密码并不能有效防止设备数据被非法访问,这一情况在多种操作系统中都存在。
2. 理论背景
2.1 密码以单向函数(OWF)存储
在 Windows 系统中,密码默认以两种方式存储,分别是 LAN Manager 单向函数和 NT OWF。单向函数是一种单向的数学转换,数据只能朝一个方向加密,无法逆向解密,其中加密哈希是最常见的单向函数类型。哈希是一小部分与用于创建它的大量数据在计算上相关联的数据,当大量数据发生变化时,哈希值也会相应改变。
2.2 密码在活动目录中的存储
活动目录是默认的身份验证解决方案,在多样化的环境(如大学)中,它不仅易于使用,还提供了许多重要功能,如组规则和权力委派。用户通过登录过程获取网络资源的访问权限,活动目录使用 Kerberos 协议进行用户身份验证。该协议是一种多功能的身份验证安全技术,它不直接在网络上传输用户凭证,而是生成并在有限时间内使用会话密钥。
2.3 密码在本地 SAM 中的存储
安全账户管理器(SAM)注册表文件存储着本地密码的哈希值。可以利用 SYSTEM 注册表配置单元中的信息,在虚拟机快照中检索这些哈希值并将账户密码重置为空。当客户端账户密码长度小于 15 个字符时,Windows 会创建 LAN Manager 哈希(LM 哈希)和 Windows 新技术 LAN Manager 哈希(NTLM 哈希)。此外,Windows 操作系统在 Windows 文件夹的其他位置保留了 SAM 文件的副本,除了一个空白密码的管理员账户外,没有其他用户账户和密码,这可能被攻击者利用来进入系统。
2.4 缓存凭证
当域用户登录到域成员计算机时,Windows 会在该计算机上额外保存一个密码验证器。如果计算机无法访问域控制器,这个验证器可用于验证域用户身份。密码验证器也被称为缓存凭证,它是通过将用户名与 NT 哈希连接,然后使用 MD4 哈希函数对结果进行哈希计算得到的。
以下是 Windows 和 Linux 密码存储的比较:
| 密码位置 | Windows | Linux |
| — | — | — |
| 密码存储位置 | SAM 密码本地存储,域成员和工作站的密码哈希保存在注册表中的本地安全账户管理器(SAM)数据库中 | 最初密码保存在 /etc./passwd(公开),后来迁移到 /etc./shadow(并备份在 /etc./shadow -) |
| 密码在文件中的存储方式 | 密码哈希存储在 SAM 文件(C:WindowsSystem32Config)中 | /etc./shadow 文件以加密格式(类似于密码的哈希)保存用户账户的实际密码 |
| 密码长度限制 | 以 256 字符的 UNICODE 字符串存储,但登录对话框限制为 127 个字符 | 无最大密码长度限制 |
3. 相关工作
有研究展示了基于 GPU 的暴力破解工具及其弱点和算法,结果表明,对于 6 位密码,破解时间不到 1 秒,因此用户应选择更长、更复杂的密码以确保安全。还有研究对五种工具进行了评估,根据预定特征分为两组,并提供了在同一计算机上运行和在两台不同机器上运行的速度比较,最终得出 Cain 和 Abel 在离线类别中获胜,HTC - Hydra 在线上类别中获胜的结论。
4. 密码破解工具
4.1 John the Ripper
John the Ripper 是最著名的密码破解程序之一,它是免费软件,支持暴力破解和字典攻击。该工具使用多种语言的词汇字典以及常见的密码字符序列,凭借其全面的字典,能够轻松破解受弱密码保护的网络和用户账户,还可以使用密码短语中的基本数字或特殊字符排列来破解密码。
在许多加密和数据保护系统中,会为每个用户的信息保存其密码的加密哈希,以在用户登录时验证身份。这种方式虽然保护了密码,但攻击者可以通过预先生成大量密码的哈希值来进行攻击。
4.2 Ophcrack
Ophcrack 是一款通过使用预先生成的哈希和密码数据库来加速密码破解的程序。它采用“彩虹表”的概念,只需要在预先生成的数据库中保存一小部分密码和哈希,从而减少了存储需求。当给定硬盘上保存的哈希时,Ophcrack 会从该哈希开始生成另一串密码和哈希。如果生成的密码与彩虹表中的链终止密码匹配,它会使用启动链的密码重新生成相应的链,以确定与硬盘上哈希对应的密码。然而,当使用“盐”来随机化哈希生成时,这种方法会失败。
4.3 Elcomsoft
Elcomsoft 是最早开发密码破解工具的公司之一,其工具不仅可以在多台计算机上分布式运行,还能利用机器的图形处理器单元(GPU)对密码猜测进行哈希计算。其旗舰密码破解程序 EPDR 旨在破解文件加密和 Windows 登录密码。
4.4 Cain & Able
Cain & Able 是一款广受欢迎的密码破解应用程序,它可以进行暴力攻击、密码分析攻击和揭示缓存密码。该工具的优势在于它运行在 Windows 系统上,免费且具有简单的图形界面,还集成了多种其他工具,如网络嗅探器,可自动捕获密码和密码哈希,并对捕获的哈希自动发起密码破解攻击。此外,它还具备发起 ARP 中毒攻击的能力,增强了其功能。
4.5 破解 SAM 密码
要破解 Windows 账户的密码,首先需要收集操作系统中存储的哈希值,这些哈希值存储在 Windows 的 SAM 文件中,但该文件在操作系统运行时无法访问,注册表中的相关部分在系统启动时也不可用。收集到哈希值后,可使用各种方法尝试破解密码。
5. 针对 Windows 密码的不同类型 USB 攻击
5.1 密码保护绕过补丁
如果 USB 上有受密码保护的文件,可能会受到密码保护绕过补丁恶意软件的攻击。该恶意软件通过修改 USB 驱动器的固件来突破加密文件的安全保护。
5.2 Rubber Ducky
Rubber Ducky 是 2010 年首次被发现的勒索软件威胁,它通过模拟键盘输入预编程的按键来加密文件,适用于将 USB 闪存驱动器识别为主要输入设备(键盘)的任何操作系统。
5.3 USB - Driveby
USB - Driveby 是一种复杂的 USB 开发板,可连接到 USB 闪存驱动器,能在 60 秒内破解任何计算机。它插入计算机后会伪装成鼠标或键盘,使用预编程的按键禁用计算机的防火墙,然后攻击计算机的 DNS 设置。
5.4 Evilduino
Evilduino 利用 Arduino 微控制器,对其进行重新编程,通过恶意的键盘和鼠标操作感染计算机。它可以根据预加载的脚本在主机设备上进行光标移动,成本较低,能在短时间内构建和运行复杂脚本。
5.5 USB 硬件特洛伊木马
这种特洛伊木马利用内核空间和用户空间通道,不受端点安全防护的保护。现代计算机系统普遍配备 USB 端口,USB 硬件特洛伊木马设备可利用这些通道与目标网络端点建立双向交互,从而危及端点上存储数据的完整性和机密性。
5.6 USB 小偷
USB 小偷是一种在 USB 驱动器上隐形运行的恶意软件,它借助便携式程序(如 Firefox 或 TrueCrypt)运行,具有强大的自我保护系统,防止被复制。其目标是从未连接到互联网的计算机收集信息。
6. 设计与实现
6.1 基于 USB 的工具
Windows lockpicker 脚本可以从具有有效防火墙的锁定且完全打补丁的 Windows 10 系统中窃取哈希值,然后使用 John the Ripper 尝试暴力破解这些哈希值。该脚本会抓取多种协议(包括 NTLM 身份验证)的请求。获取密码的步骤如下:
-
受害者机器视角
:一旦抓取到哈希值,会发送按键唤醒机器,将破解的密码输入登录屏幕,并在记事本中写入密码。整个过程在后台进行,避免因多次尝试输入密码被 Windows 阻止以及引起用户怀疑。
-
攻击操作
:树莓派首先将自己伪装成网络设备,向目标发送 DHCP 配置信息,发送 WPAD(Web 代理自动发现)条目,然后使用多种方法将所有流量重定向到自己,并发送给 Responder.py。Responder 尝试抓取用于身份验证的哈希值,此时树莓派会闪烁 3 次表示已抓取到哈希值。之后有两种选择,一是拔出设备进行离线破解,二是保持连接并将哈希值发送给 John the Ripper。若哈希值成功破解,会将密码输入并写入记事本。
以下是 USB 攻击中受害者机器、攻击者设备和连接的流程图:
graph LR
A[受害者机器] -->|流量重定向| B[树莓派]
B -->|抓取哈希值| C[Responder.py]
C -->|发送哈希值| D{选择破解方式}
D -->|离线破解| E[离线破解设备]
D -->|在线破解| F[John the Ripper]
F -->|破解成功| G[输入密码并写入记事本]
6.2 基于网络的工具
- John the Ripper :它是最早出现的密码破解工具之一,于 1996 年推出,用于测试密码强度和暴力破解哈希密码。该工具支持 UNIX 和 Windows 系统的一些常见加密方法,能检测哈希的加密方式并与常见密码的明文进行比较。
- Ophcrack :是一款免费的密码恢复或破解工具,使用彩虹表来实现目标。它使用 LM 哈希并与彩虹表进行比较,可通过直接转储 Windows 的 SAM 文件或其他多种方式进行操作。工具本身提供了彩虹表,也可在网上找到免费或付费的额外表格。
- Cain and Abel :与其他密码破解工具略有不同,它使用多种方法尝试获取密码,包括网络嗅探、对哈希密码进行字典攻击、暴力破解、揭示缓存密码、分析不同路由协议等。虽然其开发者已停止支持,但仍得到一些安全爱好者的维护。
以下是网络攻击中受害者、攻击者机器和连接的示意图:
graph LR
A[受害者机器] -->|网络流量| B[攻击者机器]
B -->|使用工具破解| C{选择工具}
C -->|John the Ripper| D[破解操作]
C -->|Ophcrack| E[破解操作]
C -->|Cain and Abel| F[破解操作]
D -->|破解成功| G[获取密码]
E -->|破解成功| G
F -->|破解成功| G
7. 结果与讨论
我们将密码分为简单、中等和复杂三类,并测量了使用基于 USB 和基于网络的方法破解这些密码所需的时间。简单密码仅使用字母(A - Z)或数字(0 - 9),中等密码是字母和数字的组合,复杂密码是字母、数字和特殊字符的组合,长度可达 12 位。
以下是各种密码破解工具的比较:
| 工具类型 | 操作系统 | 优点 | 缺点 | 静态或实时分析 |
| — | — | — | — | — |
| John the Ripper | UNIX 和 Windows | 具有并行化和增量分段的特点,可能有用 | 有点难以使用 | 实时和静态 |
| Ophcrack | Windows、Linux 和 Mac OS | 与 Linux 和 Mac 兼容,可快速破解简单密码或在数小时内破解复杂密码 | 无法恢复超过 14 个字符的密码,不兼容 Windows 10、8.1 和 8 | 实时和静态 |
| Elcomsoft | Windows、Mac OS | 是最通用的 Windows 密码破解工具,支持多种操作系统 | 免费版功能受限 | 实时 |
| Cain & Abel | Windows OS | 完全免费的实用工具,使用多种方法破解密码 | 必须从互联网获取必要的“彩虹表” | 实时 |
以下是 USB 和网络工具破解不同类型密码的时间比较:
| 暴力破解数据(工具) | 密码类型 | 使用字符 | 长度 | 尝试/哈希 | OpHcrack | Cain and Able | John | Windows Lockpicker |
| — | — | — | — | — | — | — | — | — |
| | 简单 | (A - Z) 或 (0 - 9) | 1 - 6 | 1 | 14 秒 | 56 秒 | 11 秒 | 2 分 40 秒 |
| | 中等 | (0 - 9) + (A - Z) | 1 - 6 | 1 | 1 分 36 秒 | 1 分 47 秒 | 27 秒 | 2 分 55 秒 |
| | 复杂 | (0 - 9) + (A - Z) + 特殊字符 | 1 - 12 | 1 | 失败 | 失败 | 48 秒 | 失败 |
从结果可以看出,简单密码平均破解时间为 27 秒,其中 Cain and Able 用时最长;中等密码平均破解时间为 76 秒,John 用时远少于其他工具;复杂密码只有 John 能够破解,且用时比其他工具破解中等密码的时间还短。
在 USB 攻击中,平均时间比网络攻击长得多,这是因为 USB 攻击需要考虑抓取哈希值的时间和破解哈希值的时间。哈希值的破解取决于使用的密码列表,如果列表中没有对应的密码,攻击者只能尝试离线破解。此外,MD5 哈希函数通常被认为比 SHA 安全性低,因为它存在碰撞问题,即不同的密码可能生成相同的 MD5 哈希值,但 MD5 破解所需的位操作较少,速度更快。
综上所述,在选择密码时,用户应尽量选择复杂的密码,以提高账户的安全性。同时,对于密码破解工具的研究和分析有助于我们更好地了解密码安全的现状,从而采取相应的防护措施。
USB与网络密码破解工具的比较分析
8. 密码安全建议
综合上述对密码破解工具和攻击方式的分析,为了提高密码安全性,我们给出以下建议:
-
选择强密码
:避免使用简单的字母或数字组合,应采用字母、数字和特殊字符的混合,且长度尽量达到 12 位以上。例如,使用“P@ssw0rd!2024”这样的密码,能大大增加破解难度。
-
定期更换密码
:定期更换重要账户的密码,减少密码被破解后造成的损失。建议每 3 - 6 个月更换一次密码。
-
避免重复使用密码
:不同的账户使用不同的密码,若一个账户的密码被破解,不会影响其他账户的安全。
-
注意 USB 设备安全
:不随意插入来源不明的 USB 设备,以防遭受 USB 攻击,如密码保护绕过补丁、Rubber Ducky 等恶意软件攻击。
-
使用双因素认证
:开启双因素认证功能,如短信验证码、指纹识别、面部识别等,增加账户登录的安全性。
9. 防护措施探讨
为了应对密码破解攻击,我们可以采取以下防护措施:
-
加强系统更新
:及时更新操作系统和应用程序,修复已知的安全漏洞,减少被攻击的风险。例如,微软会定期发布 Windows 系统的安全补丁,用户应及时安装。
-
使用安全的哈希算法
:避免使用 MD5 等安全性较低的哈希算法,推荐使用 SHA - 256 等更安全的算法。
-
监控网络流量
:通过网络监控工具,实时监测网络流量,及时发现异常的登录请求和数据传输,采取相应的措施。
-
设置登录失败限制
:在系统中设置登录失败次数限制,当多次登录失败后,暂时锁定账户,防止暴力破解。
10. 未来趋势展望
随着技术的不断发展,密码安全领域也将面临新的挑战和机遇。以下是一些可能的未来趋势:
-
生物识别技术的广泛应用
:生物识别技术如指纹识别、面部识别、虹膜识别等将越来越多地应用于身份验证,提高密码的安全性和便捷性。
-
人工智能在密码安全中的应用
:人工智能可以用于检测异常的登录行为和密码破解攻击,提高安全防护的效率和准确性。
-
量子计算对密码安全的影响
:量子计算的发展可能会对现有的密码算法构成威胁,需要研究和开发新的抗量子计算的密码算法。
11. 总结
本文对基于 USB 和基于网络的密码攻击进行了全面的比较分析,详细介绍了各种密码破解工具的特点和使用方法,以及不同类型的 USB 攻击方式。通过实验结果,我们发现不同工具在破解不同类型密码时的效率存在差异,且 USB 攻击的平均时间通常比网络攻击长。
为了保障密码安全,用户应选择强密码、定期更换密码、避免重复使用密码等。同时,系统管理员应加强系统更新、使用安全的哈希算法、监控网络流量等,采取有效的防护措施。未来,随着技术的发展,密码安全领域将不断面临新的挑战和机遇,我们需要持续关注和研究,以应对不断变化的安全威胁。
希望本文能为读者提供有关密码安全的全面了解,帮助大家更好地保护自己的账户和数据安全。在实际应用中,我们应根据具体情况选择合适的密码和防护措施,确保密码安全。
以下是一个简单的防护措施实施流程图:
graph LR
A[用户选择强密码] --> B[系统管理员加强更新]
B --> C[使用安全哈希算法]
C --> D[监控网络流量]
D --> E[设置登录失败限制]
E --> F[保障密码安全]
通过以上步骤的实施,可以构建一个较为完善的密码安全防护体系,有效降低密码被破解的风险。同时,我们也应不断关注密码安全领域的最新动态,及时调整防护策略,以适应不断变化的安全环境。
超级会员免费看
919

被折叠的 条评论
为什么被折叠?



