暴力破解(Brute Force)攻击入门
暴力破解(brute force)攻击是一种试错技术,网络犯罪分子会用它来获取密码、加密密钥或登录凭据等敏感信息。其本质是系统性地尝试所有可能的密码组合,直到找到正确的那一个。可以把它类比为小偷通过测试所有可能的数字序列来打开组合锁。
尽管其看起来颇为粗糙的做法,暴力破解攻击仍然是网络犯罪分子钟爱的策略,因为只要时间和资源足够,它们往往能够成功。暴力破解攻击之所以仍然受欢迎,其他原因还包括:
- 这些攻击易于上手、执行方式简单直接,并不需要高深的黑客技能。
- 尽管人们对网络安全风险已有广泛认识,但仍有太多用户会在多个账户中使用弱口令或重复使用的密码。
- 暴力破解攻击可以应用于任何使用密码进行保护的系统,使其成为黑客手中的多功能工具。
- 机器人(bots)的使用以及图形处理器(Graphics Processing Unit,GPU)算力的激增,已大幅缩短了通过暴力破解方法破解密码所需的时间。
用于电子邮件和 Web 应用程序的在线账号是暴力破解攻击的理想目标。暴力破解攻击也可能针对任何计算机或 网络设备,包括服务器和路由器。无论您的系统运行在 Windows、Linux 还是 macOS 上,它仍然容易受到这类攻击。
Netwrix Password Secure
Netwrix 的企业密码管理软件可帮助您保护敏感凭据,并证明符合性
申请 Netwrix Account Lockout Examiner 免费试用
了解暴力破解攻击类型
简单暴力破解攻击
在最基础的层面上,简单的暴力破解攻击会使用自动化和脚本,以极高的速度系统性地猜测密码。该方法对诸如“password1”或“12345678”这类弱密码非常有效。
字典攻击
字典攻击会使用预先编译好的常用词列表以及流行的密码组合。该方法利用了人们倾向于选择容易记住的密码这一特点。列表可以根据特定地区的术语、文化参考以及目标用户群体进行定制。
混合式暴力破解攻击
混合式暴力破解攻击会结合字典攻击与简单的暴力破解技术,同时考虑常见词汇和典型变体,从而增强攻击效果。攻击可能先从字典列表中的常用基础词开始,然后再进行字符替换与组合。
反向暴力破解攻击
反向暴力破解攻击通过从已知密码开始,尝试找到与之匹配的用户名,从而颠覆传统做法。该方法会将单一密码测试到多个可能的用户名上,并且能有效利用不同账户之间的密码复用。
凭证填充攻击
凭证填充攻击会利用先前泄露的用户名和密码组合(data breach)。其基本假设是,用户会在多个平台上直接重复使用相同的凭证。该方法依赖自动化工具,将被盗凭证批量投放到热门网站上。由于现存的被盗凭证数量巨大,这种做法往往很有效。
暴力破解攻击是如何运作的
再说一遍,这个过程其实相当简单:目标是猜测所有可能的字符组合,直到找到正确的那一个。基本流程如下:
- 确定目标,例如在线用户账户
- 收集有关目标环境的信息,例如用户名格式、密码策略以及可能缩小密码范围的线索
- 实施攻击:从简单密码开始,并根据需要逐步提高复杂度
- 一旦发现正确的密码或密钥,攻击者就可获得未授权访问,从而执行某些恶意行为。
常用工具和软件
市场上有多种工具可帮助实施暴力破解攻击(brute force)。包括:
- John the Ripper:一种高度可定制的密码破解工具,支持多种平台和密码哈希格式,能够执行字典攻击和暴力破解(brute force)攻击
- Hydra:一种广泛使用的暴力破解(brute force)工具,支持多种协议,包括 HTTP、FTP、SSH 和 Telnet。其自定义能力使其非常适合在 Web 应用程序、服务器和网络设备上测试登录凭据。
- Aircrack-ng:主要用于破解 Wi‑Fi 密码,它会对无线网络执行字典攻击
- L0phtCrack: 一种专门用于审计和恢复 Windows 密码的工具,因而在针对基于 Windows 的系统进行渗透测试和安全审计时颇受欢迎。它采用多种攻击方法,也可能被用于恶意目的。
- Hashcat: 旨在利用 GPU 的并行处理能力,以惊人的速度执行密码破解操作。
- Rainbow Crack:利用预先计算好的彩虹表(rainbow tables)来缩短密码破解所需的时间
自动化在暴力破解攻击(Brute Force Attacks)中的作用
像许多其他因素一样,自动化可以极大加速暴力破解攻击的成功速度,因为每秒可以测试成千上万种组合。这些自动化工具还能在无需人工干预的情况下持续运行。
计算能力增强
攻击者通常可以访问由僵尸网络(botnets)和其他受损设备构成的分布式网络,并可利用这些资源发起大规模的暴力破解(brute force)攻击。这使他们能够在多个系统之间分担计算负载,同时也有助于规避检测。GPU 通过执行并行计算,显著提升了暴力破解攻击的速度。攻击者还会利用云计算,以按需调用云端资源来获得计算能力。GPU 和云计算的加入,能够显著增强攻击者执行复杂暴力破解操作的能力。
暴力破解攻击背后的动机
数据窃取与个人获利
暴力破解(brute force)攻击的主要动机是数据窃取或个人经济利益。攻击者可能会以直接盗取资金或实施欺诈为目的,瞄准银行账户、信用卡信息以及其他金融数据。被盗信息可用于身份盗用、未来的凭据填充(credential stuffing)攻击,或在暗网(dark web)上出售。在某些情况下,黑客也可能使用被侵入的账户来访问机密的企业数据、商业秘密或知识产权,以获取竞争优势或经济收益。
劫持系统与恶意软件分发
暴力破解攻击常被用作入侵系统的切入点,为部署恶意软件、勒索软件或特洛伊木马等更复杂的攻击铺平道路。一旦设备被攻破,它也可能被纳入僵尸网络,从而使攻击者能够发起更大规模的行动。网络犯罪分子往往会聚焦于网络中的高权限用户账户,因为一旦获得这些账户的访问权限,就可能解锁企业基础设施中的关键区域。
网站破坏与声誉损害
攻击者可能希望以政治行动(政治活动主义)或个人复仇为名,针对网站进行破坏、篡改其内容,或扰乱网站功能。黑客可能会向网站注入淫秽或冒犯性的内容,以损害组织的公众形象。其他情况下,他们也可能窃取网站所访问的敏感信息,并公开发布,以玷污该组织的声誉并制造客户不信任。
通过广告软件(Adware)与活动数据获取财务收益
攻击者可以通过多种间接方式将暴力破解(brute force)攻击用于牟利。包括 ad 注入以制造广告收入、将合法网站流量重定向到恶意或竞争对手网站,或进行数据窃取:从被攻破的网站收集数据并出售给有需求的相关方。
用于暴力破解(brute force)攻击的常用工具
市面上有各种工具可以帮助实施暴力破解(brute force)攻击。其中一些用于合法目的,另一些则纯粹用于恶意意图。如今较为知名的工具包括:
- John the Ripper:一种高度可定制的密码破解工具,支持多种平台和密码哈希格式,并且既能执行字典攻击,也能执行暴力破解(brute force)攻击。
- Hydra:一种广泛使用的暴力破解(brute force)工具,支持多种协议,包括 HTTP、FTP、SSH 和 Telnet。其可定制能力使其非常适合用于在 Web 应用、服务器以及网络设备上测试登录凭据。
- Aircrack-ng: 主要用于破解 Wi‑Fi 密码,它会对无线网络执行字典攻击。
- L0phtCrack: 一种专门用于审计和恢复 Windows 密码的工具,因而成为对基于 Windows 的系统进行渗透测试和安全审计时的热门选择。它采用多种攻击方法,也可能被用于恶意目的。
- Hashcat: 旨在利用 GPU 的并行处理能力,以极高的速度执行密码破解操作。
- Rainbow Crack:利用预计算的彩虹表来减少密码破解所需的时间。
这些工具中的许多都兼容多种操作系统,包括 Linux、Windows 和 macOS。很多工具也可以进行定制,以便攻击者瞄准特定漏洞或适配不同的环境。它们提供多种功能,例如内置字典和密码列表,并会定期更新。大多数工具基于模块化架构构建,使其能够适应不断演进的安全措施和协议。
不同的场景需要使用不同的工具。有些工具更擅长利用弱 SSH 密码,而另一些工具则更善于测试 Web 应用程序中的登录表单和认证机制。其他特定用途包括破解 WIFI 加密,或使用暴力破解的 RDP 凭据来获得对目标系统的远程控制。
暴力破解攻击所利用的漏洞
弱密码和常见的密码模式
弱密码 之所以容易被暴力破解攻击利用,是因为攻击者无需穷举所有可能的密码组合,而是可以集中于常用的弱密码。弱密码的特征如下:
- 长度不超过 8 个字符的短密码
- 诸如“123456”或“qwerty”这类可预测的模式往往是攻击者首先尝试的猜测
- “abcdef”或“1111111”这类重复或顺序排列的字符会让破解变得太容易。
- 诸如地区体育队名称、城市名称或“hello123”这类常见单词或短语都很容易预测。
当系统依赖弱口令时,暴力破解攻击会变得非常有效。攻击者不必尝试所有可能的组合;相反,他们可以将重点放在最常使用的弱口令上。
未加固的凭据与默认凭据
默认凭据(Default credentials)在企业环境中存在显著的安全风险,因为许多设备和软件应用在出厂时就已预先配置了标准的用户名和密码组合。一个典型的例子是“admin/admin”。由于这些默认设置通常会被写入产品手册,并且在网上也非常容易获取,因此 IT 专业人员和网络犯罪分子都对其十分熟悉。结果是,不更改的默认凭据可能会被忽视,从而为攻击者提供容易利用的切入点。由于这些设备也缺乏强制用户更改密码的策略,可能会被长期遗忘,进一步形成攻击者更易利用的入口。
单因素认证系统(Single-Factor Authentication Systems)
暴力破解(brute force)攻击可以多么轻易地实施,生动地表明仅依赖基于密码的认证时代已经结束。没有额外的认证方式时,一旦密码被泄露,攻击者就能立刻获得完整访问权限。实际上,单因素系统还更容易受到其他攻击方式的影响,例如凭证填充(credential stuffing)以及 密码喷洒(password spraying)。如今,许多保险公司要求必须部署多因素认证解决方案(MFA),才能符合网络保险的投保条件。同时,这也正逐渐成为越来越多合规法规的要求。
预防与缓解策略
要防止暴力破解(brute force)攻击,需要在个人层面和组织层面都采取主动措施。下面是个人可以尽到的职责:
- 创建至少 14 个字符长的强密码和密码短语
- 混合使用大写字母和小写字母、数字以及符号
- 避免使用常见单词、短语或容易被猜到的信息
- 不要使用个人信息,例如出生日期或宠物名字
- 不要在多个账户之间重复使用密码
由于为每个账号都维护一套独一无二、冗长且复杂的密码可能很困难,密码管理器提供了一种生成并保存密码的方法,从而便于轻松检索和使用。
组织的安全策略
作为组织网络安全的第一线,员工往往是最容易暴露于潜在威胁的人群,因此应将网络安全培训视为必不可少的措施,以提升他们的安全意识,并增强其识别与应对安全风险的能力。受过教育的用户是对抗暴力破解攻击(brute force attacks)最有力的工具之一。开展定期的安全意识培训,并务必说明糟糕的密码习惯所带来的风险。随着威胁不断演化,应定期更新培训内容。
如前所述,组织应实施需要额外验证因素的 MFA,例如生物特征、一次性验证码或 FIDO 密钥。为防止无限次的登录尝试,组织应在失败达到一定次数后实施账号锁定,或使用 CAPTCHA 挑战来阻止自动化攻击。
要想保障几乎任何事物的安全,能见度(Visibility)都至关重要。通过实施实时威胁检测系统,组织可以持续监控网络活动和用户行为。这使得 IT 和安全团队能够快速识别并响应潜在的安全事件。
关于暴力破解攻击的常见问题
一个常见问题是:攻击者需要多久才能通过暴力破解攻击成功攻破密码?当然,答案取决于具体情况。例如,仅 6 个字符的密码不管有多复杂,都可能在几分钟内被破解。然而,当密码长度达到 8 个字符时,复杂度开始显著影响攻击持续时间。仅由字母组成的 8 位密码可能在几秒钟内被破解;而包含大小写混合、数字和符号的 8 位密码则可能需要数年时间。对于包含大小写字母、数字和符号混合的 16 位密码,使用暴力破解进行破解由于可能组合数量巨大,可能需要超过一个世纪。
你可能会想,暴力破解攻击是否违法。这里取决于攻击的动机。组织会定期聘请安全团队,在其自身企业环境中实施攻击,以识别漏洞并加强防御。作为漏洞赏金(bounty)计划的一部分,授权的道德黑客可以测试系统的稳健性。
当暴力破解攻击用于获取对系统、网络或个人数据的未授权访问时,通常是违法的。例如在美国,Computer Fraud and Abuse Act (CFAA) 将对计算机系统的未授权访问定为刑事犯罪。还有一些法规要求组织对自身防护负责,以抵御此类攻击。例如,欧盟的 General Data Protection Regulation (GDPR) 要求组织对防范数据泄露、保护用户数据承担责任。
结论
暴力破解攻击由于其简单性和潜在有效性,仍然是一项重大威胁。事实是,这类攻击可以由技术专长很少的个人使用现成可用的工具来执行。然而,组织可以采取直接有效的防御措施,例如为员工定期开展安全意识培训,实施强密码策略和账户锁定策略,并同时部署 MFA(多因素认证)。再配合一些现代化的监控与审计工具,任何组织都能针对大多数类型的密码攻击建立更具韧性的防御体系,从而显著提升整体网络安全态势。
常见问题解答(FAQs)
哪种攻击类型允许攻击者采用暴力破解(brute-force)方式?
暴力破解(brute-force)攻击方法依赖于“试错”过程。最典型的例子是:攻击者使用某种自动化工具,不断向目标账户尝试所有可能的密码组合,直到找到正确的密码为止。其他例子包括字典攻击(dictionary attacks)、反向暴力破解(reverse brute force attacks)以及凭据填充(credential stuffing)。
什么是暴力破解(brute force attack)?
暴力破解攻击是一种系统性的方法,攻击者会尝试所有可能的组合,以发现密码、加密密钥或登录凭据。它类似于窃贼在锁上有条不紊地逐一测试每一种可能的组合,直到找到能够打开的那一个为止。
暴力破解攻击有哪些著名的例子?
暴力破解攻击的两个著名例子是 2012 年的 LinkedIn 攻击以及 2015 年发生的 Dunkin Donuts 事件。LinkedIn 遭遇了一起攻击:网络犯罪分子使用暴力破解技术,未授权访问了该平台的用户数据库,导致数百万用户账户受到影响。Dunkin’ Donuts 面临类似威胁:攻击者采用暴力破解方法,在短短五天内渗透了近 20,000 个用户账户。此次 Dunkin’ Donuts 泄露事件导致从被入侵账户中被盗走了数万美元的奖励现金。
密码攻击与暴力破解攻击有什么区别?
密码攻击是一大类以窃取/破坏用户凭据为目标的网络攻击,既可以使用多种技术手段,也可以使用非技术手段。暴力破解攻击是密码攻击的一种特定类型,它通过系统性的试错来猜测密码。该攻击方法采用自动化工具,并依赖计算能力,而不是通过社会工程手段进行操纵。
暴力破解攻击还有什么别称?
暴力破解攻击也可称为“穷举搜索攻击”,因为它会以有条不紊的方式尝试所有可能的组合以找到正确解。与暴力破解攻击相关的其他术语(尽管可能使用略有不同的策略)还包括字典攻击、密码破解以及凭据填充(credential stuffing)。
暴力破解攻击有哪些迹象?
暴力破解攻击的迹象通常包括异常的活动模式,以及在系统或网络中出现的特定指示。以下是一些需要重点关注的关键迹象:
- 在短时间内,同一 IP 地址或同一用户账号出现大量登录失败
- 从单一来源尝试访问多个账户
- 服务器活动或带宽使用量出现异常激增
- 来自陌生或意外地点的登录尝试
- 在处于休眠状态或很少使用的账户上出现可疑活动
Netwrix Password Secure
分享到
了解更多
关于作者
Dirk Schrader
安全研究高级副总裁(VP)
Dirk Schrader 是 Netwrix 的常驻 CISO(EMEA)以及安全研究高级副总裁(VP)。他拥有 CISSP(ISC²)和 CISM(ISACA)等资质,是一位在 IT 安全领域拥有 25 年经验的老兵。Dirk 致力于以现代化的方式应对网络威胁,从而推动网络韧性的发展。Dirk 曾参与全球范围内的网络安全项目:职业初期从技术与支持岗位做起,随后在大型跨国公司和小型初创企业中分别担任销售、市场与产品管理等职务。他已发表大量文章,强调为实现网络韧性,需要重视变更管理与漏洞管理。