你的MFA真的安全吗?Push MFA疲劳攻击实战复盘
作者:韦小宝 | 点滴安全(dripsafe.cn)
日期:2026年5月28日
原创文章,转载需授权
开篇:Cisco被”自己人”坑了的故事
2013年,Cisco(思科)出了名的安全牛公司。安全产品线覆盖路由、交换、安全、云——可以说,网络安全圈没人敢小看Cisco。
结果呢?
2022年,Cisco被入侵了。外泄了约2.8GB数据,包括内部员工的大量私人信息。
你说,黑客是怎么绕过Cisco的安全防护的?
答案是:MFA Prompt Bombing——通过反复推送MFA通知,让员工在疲劳中接受推送,然后——防线崩塌。
今天这篇文章,小宝我就带大家复盘这个案例,看看你的MFA是不是也存在同样的漏洞。
第一章:MFA Prompt Bombing攻击原理
什么是MFA Prompt Bombing?
MFA Prompt Bombing(多因素认证提示轰炸),是一种社工技术,利用人类心理弱点——疲劳、信任、配合——来绕过MFA保护。
核心原理:攻击者不需要窃取你的第二因素,而是让你主动交出。
攻击条件
要实施MFA Prompt Bombing,攻击者需要:
前置条件:
✅ 已泄露的凭证(用户名+密码)
✅ 目标账号开启了Push MFA(推送式多因素认证)
✅ 受害者的手机号/邮箱(用于接收MFA推送)
✅ 受害者处于可被疲劳攻击的状态(反复收到推送)
攻击流程
阶段1:凭证获取
├─ 攻击者通过钓鱼/撞库/暗网购买获取凭证
└─ 用户名+密码(第一因素)✅
阶段2:MFA疲劳攻击
├─ 攻击者使用泄露凭证尝试登录
├─ 系统发送Push MFA通知到受害者手机
├─ 受害者收到反复推送(5次、10次、20次...)
├─ "有人正在尝试登录你的账号,是否允许?"
│
└─ 如果受害者拒绝 → 转入语音钓鱼
"您好,我是Cisco安全部门,您的账号检测到异常登录..."
攻击者伪装成技术支持,让受害者接受推送
阶段3:绕过MFA ✅
└─ 受害者点击"允许" → 攻击者获得完全合法的身份
阶段4:权限扩大
├─ 注册自己的MFA设备(持久化)
├─ 提升到管理员权限
├─ 访问Citrix服务器和域控制器
└─ 外泄数据
阶段5:被驱逐(但为时已晚)
└─ 攻击者已在系统中活动数月
第二章:Cisco案例完整复盘
时间线
2022年初
└─ 攻击者入侵Cisco员工个人Google账户
└─ 浏览器同步 → 获取Cisco VPN密码
2022年5月12日
└─ 攻击者使用泄露凭证尝试登录Cisco VPN
└─ Cisco的Duo MFA发送Push通知
└─ 员工收到反复推送,均拒绝
2022年5月12日晚
└─ 攻击者发起语音钓鱼
└─ 伪装成Cisco安全部门
└─ 使用多种口音(社工电话)
└─ 说服员工接受MFA推送 ✅
└─ 获得VPN访问权限
2022年5月12日-24日
└─ 攻击者在VPN上注册自己的MFA设备
└─ 权限提升到管理员
└─ 访问Citrix服务器和域控制器
└─ 外泄约2.8GB数据
2022年5月24日
└─ Cisco安全团队检测到异常
└─ 开始事件响应
└─ 驱逐攻击者
2022年8月
└─ Cisco公开发布安全公告
攻击链详解
阶段1:个人账户入侵 → 企业凭证获取
攻击者的初始入侵点,是员工的个人Google账户。
这告诉我们一个道理:
你个人账户的安全,就是你公司网络安全的软肋。
员工用个人Google账户同步浏览器数据(密码、Cookie),攻击者通过以下路径获得公司VPN密码:
个人Google账户被入侵
└─ 浏览器同步数据暴露
├─ 存储的网站密码(包含Cisco VPN)
├─ Cookie(可能包含登录会话)
└─ 自动填充数据
阶段2:MFA疲劳 → 语音钓鱼
Cisco使用Duo的Push MFA。攻击者反复登录,触发大量推送通知:
攻击者:反复尝试登录
↓
Cisco VPN:发送Push通知
↓
员工手机:"有人正在尝试登录你的账号,允许?"
↓
员工:拒绝(持续5-10次)
↓
攻击者转变策略:语音钓鱼
├─ 致电员工,伪装成Cisco安全部门
├─ "我们检测到您的账号有异常活动"
├─ "为了保护您的账号,请接受我们发送的推送通知"
└─ 员工在"配合安全部门"的潜意识下,点击"允许" ✅
阶段3:权限扩大
获得初始VPN访问后,攻击者做了以下事情:
-
注册自己的MFA设备(持久化)
即使员工的手机丢失或MFA被重置,攻击者的设备依然有效。 -
提升到管理员权限
通过横向移动,从普通用户提升到域管理员。 -
访问核心系统
Citrix服务器(虚拟化基础设施)→ 域控制器(整个网络的控制中心)
阶段4:数据外泄
Citrix服务器 → 提取虚拟机磁盘镜像
域控制器 → 提取NTDS.dit(Active Directory数据库)
其他服务器 → 提取配置文件、数据库备份、日志
总计外泄:约2.8GB数据
包含:内部员工信息、项目文档、认证凭据
第三章:三大防御策略
防御策略1:升级MFA因子
问题:Push MFA(仅推送,无其他验证)易被疲劳攻击
解决方案:升级到更安全的MFA类型
| MFA类型 | 防钓鱼 | 防疲劳 | 防MitM | 用户体验 | 推荐程度 |
|---|---|---|---|---|---|
| FIDO2安全密钥(如YubiKey) | ✅ | ✅ | ✅ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 数字匹配+应用验证 | ⭐⭐ | ✅ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Push MFA(仅推送) | ❌ | ❌ | ❌ | ⭐⭐⭐⭐⭐ | ❌ 不推荐 |
| SMS OTP | ❌ | N/A | ❌ | ⭐⭐⭐⭐ | ❌ 已过时 |
| 邮件OTP | ❌ | N/A | ❌ | ⭐⭐⭐ | 仅低风险场景 |
FIDO2安全密钥的优势:
✅ 基于公钥加密,无法被钓鱼
✅ 硬件隔离,不受键盘记录器影响
✅ 需要物理接触(如触摸指纹),无法远程攻击
✅ 不受MitM攻击影响
数字匹配(Number Matching)的工作原理:
1. 登录时,系统显示一个随机数字(如"728")
2. 用户在手机App中输入这个数字
3. 攻击者虽然能收到推送,但不知道数字是什么
4. 只有正确的用户才能完成认证
防御策略2:阻断泄露密码
问题:MFA Prompt Bombing的前提是泄露的凭证
解决方案:持续扫描员工密码是否在泄露库中
实施步骤:
-
集成Have I Been Pwned API
自动检查员工密码是否出现在已知数据泄露中。 -
强制密码策略
- 长度≥12字符
- 包含大小写、数字、特殊字符
- 不允许常见密码/字典词
-
定期密码轮换
高敏感岗位(如管理员)每季度强制更换密码。 -
AD集成检测
使用工具(如Specops Password Auditor)扫描整个Active Directory。
防御策略3:上下文访问控制
问题:即使攻击者绕过MFA,也应该能被检测和阻止
解决方案:在推送MFA之前,增加上下文风险评估
上下文风险因素:
| 风险因素 | 说明 | 自动响应 |
|---|---|---|
| 地理位置异常 | 登录地点与惯常位置相距甚远 | 阻止或要求额外验证 |
| 设备状态 | 非托管设备/已越狱设备 | 阻止或降级访问 |
| 登录时间 | 深夜/节假日的异常登录 | 告警或要求额外验证 |
| 风险评分 | ML模型评估的综合风险 | 根据评分动态调整策略 |
| 连续失败 | 短时间内多次失败 | 临时锁定或强制验证码 |
实施条件访问策略:
# 示例:基于Azure AD条件访问的策略配置
# 策略1:高风险用户强制密码重置
IF user_risk_level == "高"
AND sign_in_risk_level == "中或高"
THEN 要求密码重置 + 注册FIDO2
# 策略2:非托管设备限制访问
IF device_compliance == "非托管"
THEN 阻止访问敏感资源
# 策略3:异地登录额外验证
IF sign_in_location != trusted_location
AND user_agent != known_client
THEN 要求MFA(数字匹配)
第四章:MFA选型指南——你的第二因素选对了吗?
企业MFA选型矩阵
| 场景 | 推荐MFA | 不推荐 | 说明 |
|---|---|---|---|
| 管理员账户 | FIDO2安全密钥 | Push MFA、OTP | 最高权限需要最强保护 |
| VPN远程访问 | 数字匹配+Duo | SMS OTP | 常见攻击面,需要防疲劳 |
| 开发人员 | FIDO2或数字匹配 | Push MFA | 接触大量代码和密钥 |
| 普通员工 | 数字匹配+App验证 | SMS OTP | 平衡安全与用户体验 |
| 公共设备 | 硬件令牌 | 软件令牌 | 无法安装App的共享设备 |
| 高管/决策者 | FIDO2安全密钥 | 所有软件方案 | 钓鱼攻击的高价值目标 |
迁移路径建议
阶段1:立即(1-2周)
✅ 管理员账户 → FIDO2安全密钥
✅ 检查是否有泄露密码在AD中
✅ 启用数字匹配(如果支持)
阶段2:短期(1个月)
✅ VPN用户 → 数字匹配+条件访问
✅ 制定MFA迁移计划和时间表
✅ 开始采购FIDO2密钥
阶段3:中期(3个月)
✅ 全员MFA升级完成
✅ 部署条件访问策略
✅ 建立MFA使用合规审计
结语:安全不是买保险,是养习惯
Cisco这个案例,小宝我讲完了。
你说Cisco不安全吗?人家Duo MFA可是真金白银买的。
问题是:技术再强,也扛不住人性的弱点。
- 员工用自己的Google账户同步公司VPN密码
- 员工在反复收到推送时,心理疲劳,选择”允许”
- 员工在接到”安全部门”电话时,选择配合
这些问题,不是买一个MFA就能解决的。
安全不是买保险,是养习惯。
- 用密码管理器,不要用浏览器同步
- 接到”安全部门”电话,先挂断,自己打官方电话核实
- 开启数字匹配,不要只用Push
- FIDO2密钥备一把,关键时刻能救命
江湖路远,多留心眼。
人在江湖飘,哪有不挨刀。但留好心眼,少挨一刀是一刀。
作者:韦小宝
所属:乾崑盟·天地会
联系方式:dripsafe.cn
💡 安全加固工具包:
– [MFA安全评估脚本](张三丰提供)
– [企业密码管理器部署指南](即将发布)
– [FIDO2密钥选型指南](即将发布)