介绍
双因子身份验证 (2FA) 或多因子身份验证 (MFA) 是一种通过需要至少两个识别证明的服务进行身份验证的方法。
如今,大多数云服务都要求典型用户使用 2FA 方法,例如 Google、Microsoft、Okta 和 AWS(有一些例外)。
实现 2FA 的最简单方法是使用一次性密码 (OTP)。OTP 可以通过多种方式交付:
-
短信
-
物理 OTP 设备(带有不断变化的令牌的小显示器)
-
身份验证器应用程序——例如 Google 身份验证器
-
物理设备——具有特定私钥(256 个字符长)的卡,例如 YubiKey
现在各行业非常信任 MFA,但它并非万无一失。多年来,有许多绕过此解决方案的真实攻击案例,而现在看到的比以往任何时候都多,此篇整理所有绕过方式方法。
绕过短信 2FA
对于想要快速响应时间并且没有访问令牌或其他物理设备的用户来说,SMS 身份验证曾经被认为是最安全的方式之一。但是,一些高级持续性威胁 (APT) 组已轻松绕过此保护。
受损设备
一些更高级的 APT 组织已经用窃取信息的恶意软件感染了受害者的智能手机,然后该恶意软件会访问从云身份验证平台收到的 2FA SMS 消息。
民族国家 APT 组织 Rampant Kitten 创建了一个恶意应用程序,该应用程序从受害者那里窃取 SMS 消息。
恶意应用程序的屏幕截图
该应用程序记录所有双因素 SMS 消息并将消息转发到攻击者控制的服务器。
通信协议脆弱攻击 – SS7 攻击
信令系统 7 (SS7) 是 1975 年开发的电信通信协议,用于 2G 和 3G 网络。
2008 年,安全研究人员发现了 SS7 协议中的一个漏洞,使他们能够对任何电话号码进行地理定位。此漏洞要求攻击者获得对 SS7 网络的访问权限。
2014 年,发现了一个新漏洞,通过要求每个呼叫者的运营商在记录通信后释放临时加密密钥来解锁手机通信(短信和电话),可以窃听手机通信。
第一个利用 SS7 网络绕过 MFA 的直接证据是在 2018 年。一家德国移动服务提供商证实,攻击者利用此 SS7 漏洞绕过多个银行账户的双因素身份验证,从而允许他们取款。攻击者使用银行木马获取受害者的初始凭证,并在登录后使用 SS7 漏洞接收提款金额确认并转移资金。
SS7 漏洞仍然是一个问题吗?绝对是。
尽管最新版本的电信(4G 和 5G)已经实施了多项安全措施来防止漏洞,但它们必须与 2G 和 3G 传统技术互操作。
2021 年,全球移动通信系统(GSMA) 估计,目前 30% 的电信仍在使用 2G 和 3G 网络。只要这些网络是相关的,SS7 攻击就是一种风险。
电信供应商脆弱攻击——Sim-Swapping
由于实施诸如 SS7 漏洞利用之类的电信黑客攻击可能非常复杂,因此许多最近的黑客甚至都懒得利用这些漏洞——它们是可追踪且易于识别的。
Sim-swapping 是一种攻击者可以访问电信提供商的攻击。
一种方法是对提供商的工作人员进行社会工程,将电话号码更改为攻击者的 SIM 卡。或者,攻击者可以更改内部平台,并将所有通信从合法电话号码重定向到攻击者控制的 sim 卡。
由于受感染的受害者不知道这种攻击,并且攻击者可以将任何电话号码重定向到所需的位置,因此这种方法对于 sim-swappers 来说是最流行的。
LAPSSUS$ 是一个发布微软、Nvidia 和三星等主要软件公司内部信息的网络犯罪组织,它使用这种方法通过 SMS 重定向绕过 2FA 登录。泄露的对话显示,该组织获得了 T-Mobile 内部工具的访问权限,并专门针对该公司的员工,以访问内部平台进行此类 sim 交换。
LAPSUS$ 领导者“White”/“Lapsus Jobs”在 T-Mobile 的内部 Atlas 系统中查看国防部。
Atlas 系统是 T-Mobile 的内部工具,被网络犯罪集团用于 sim 交换。
随着对 SIM 卡交换的需求不断增长,暗网/Clearnet 市场出现了将 sim 卡交换作为一种服务进行销售:
取自用于 sim-swappers 的电报市场
取自俄罗斯某市场
取自某俄罗斯市场,翻译自谷歌翻译:
我做任何美国运营商的 Sim Swap
我只为提取加密货币而进行交换,仅此而已,用于银行和其他目的 我不进行交换
我正在寻找有日志或账户的人,我工作 50 到 50
对于交换,您只需要一个数字和所有
Kidals(骗子?)在树林里
在 LS(PM?)扔(发送?)您的 Telegram 帐户
绕过 OTP 2FA(身份验证应用程序/物理令牌)
SMS 2FA 身份验证方法是最容易绕过的,话虽如此
,绕过其他方法有点复杂,但肯定是可行的。
网络钓鱼 – 老方法新用
网络钓鱼等旧方法无法按原样绕过 2FA。这导致攻击者发展并创建新方法来绕过其网络钓鱼站点上的 2FA。
新的攻击称为“RealTimePhishing”。使用这种方法,攻击者将凭据和 2FA 代码中继到指定服务器,然后该服务器实时向合法服务(服务器)发送请求以进行身份验证。
“实时网络钓鱼”
攻击流程如下:
1. 受害者将用户名和密码凭据输入钓鱼站点
2. 钓鱼服务器使用受害者的凭据向合法站点发送合法请求
3. 合法站点向受害者发送 2FA 代码
4. 受害者输入钓鱼站点 2FA
5. 2FA 被转发到合法站点
6. 合法站点向攻击者发送会话 cookie
此方法仅在流程流畅且合法站点不会阻止来自恶意服务器的请求时才有效。
自动绕过 2FA — 网络钓鱼
与网络安全中的每个概念一样,此类操作的自动化已经建立。
其中一种自动化称为Evilngix2,这是一种用于创建自动 2FA 绕过网络钓鱼模板的工具。
服务器被配置为模仿合法的登录站点,例如:
-
领英
-
Okta
-
office 365
-
还有很多
用户设置所需的只是一个有效的注册域名(example.com),如果可能,它将在站点上启用 SSL。
在 docker 中运行该工具
该工具将创建一个选择的子域,并托管所需合法站点的网络钓鱼模板(或 phishlet)。
网络钓鱼站点将尝试通过使用用户的凭据和 OTP 来窃取令牌 (cookie) 来进行身份验证。
物理旁路
物理 2FA 身份验证设备是保护数据隐私的最安全方式,因为用户在未连接时无权访问。
不管这层安全性如何,研究人员在 2021 年发现了 Yubikey 和 Google Titan 等 2FA 提供商的物理漏洞,然后他们能够使用侧信道攻击复制密钥的精确副本。
什么是侧信道攻击?
“侧信道攻击不会直接针对程序或其代码。相反,侧信道攻击试图通过测量或利用系统或其硬件的间接影响来收集信息或影响系统的程序执行。简而言之,侧信道攻击通过利用系统无意中泄露的信息来破坏密码学。一个这样的例子是 van-Eck phreaking 攻击,它也被称为瞬态电磁脉冲发射标准 (TEMPEST)。这种攻击监视计算机屏幕发出的电磁场 (EMF) 辐射,以便在加密之前查看信息。” — Rambus 电子
这类攻击非常复杂,研究人员撰写了一份关于这次攻击的 60 页报告,并解释说它需要非常特殊的设备,包括实验室环境。
研究中使用的实验室
这种攻击方式不太可能发生,但依然是一个值得考虑的漏洞。
无密码登录
主要的安全问题基本上是密码被传递,最终落入坏人之手。
FIDO 联盟是包括谷歌、微软、Meta (Facebook) 和苹果在内的主要软件公司之间的一项协议,它已采取措施解决这些问题,推出一种新的身份验证方法,该方法将要求用户将手机用作物理令牌。
身份验证是通过对用户身份的物理确认来进行的。物理确认可以通过两种主要的安全方法来实现:
-
人脸识别
-
指纹
使用这种方法,用户本身是不可信的,但他们的生物特征是——这种方法完全消除了身份验证的人为因素(目前是身份验证的最薄弱环节……)。
原文始发于微信公众号(军机故阁):多因素身份验证绕过方法