文章

AWS web3 GameDay-凭证填充攻击

一、原理与本质

凭证填充攻击(Credential Stuffing)本质上是“撞库攻击”的一种自动化实现方式。攻击者获知了大批已泄露的用户凭证(通常来自其他网站或渠道的数据泄露),利用脚本批量检测这些凭证能否解锁新目标中的账号,从而“撞”开账户或服务。

关键要素:

  • 靠的是“同一套凭证在多服务大量用户之间的复用现象”(比如大量用户不同网站用的是同一密码)。

  • 攻击并非暴力破解密码,而是通过“已知的正确密码”大规模尝试。


二、技术细节分析

1. 攻击工具和流程

  • 数据源:攻击者购买、收集各种数据泄露库,包括成千万上亿组明文账号和密码。

  • 自动化工具:

    • 常见的撞库工具如Sentry MBA、Snipr、STORM、OpenBullet等可以导入账号密码列表,配置目标站点的登录接口参数,一键启动大规模尝试。

    • 工具支持并发(单线程到上千线程),可以模拟真实用户请求,带 cookie、referer、User-Agent 等参数规避基础检测。

  • 分布式攻击:借助肉鸡/代理池,分布攻击源 IP,逃避目标服务的封锁和反机器人机制。

2. 攻击行为特征

  • 大量来自不同 IP 的登录请求。

  • 每个账号只尝试一两次(和暴力破解单一账号大量爆破区别),但整体请求量很大。

  • 登录间隔和参数模拟人类操作,部分支持验证码识别(OCR、打码平台)。

  • 攻击对象不仅是Web登录页面,也有接口API、移动APP、甚至云服务API。

3. 针对云服务的特点

  • AWS、Azure、阿里云等不仅有控制台登录,还有大量API接口凭证(AccessKey/SecretKey、API Token等)。

  • 攻击者利用自动化批量测试泄漏的一批密钥,看哪些仍有效,或批量检测GitHub等代码泄露资源。

  • 攻击目标几乎不限于“登录”,还包括API授权、重置、权限申请等敏感操作。


三、防护难点

  1. 攻击行为与正常用户相似:凭证是真的、登录行为高度模拟正常操作,很难通过传统WAF规则完全阻断。

  2. 分布式与动态代理逃避封禁:攻击IP不断变化,下线难以追踪。

  3. **验证码、MFA等手段提升了安全性,但易用性与用户体验成为制约。

  4. **企业端API、自动化服务账户往往未启用多因素认证,一旦泄漏风险极大。


四、现实案例分析

【案例1】AWS访问密钥撞库

早期开发者把AWS Key写入代码库并推送GitHub参与开源,攻击者通过搜索关键字(比如AWS_SECRET_KEY)批量扫描并检测密钥有效性,凡能用的被立即用来创建挖矿EC2、S3数据窃取等。

【案例2】大规模撞库引发的网站封停

某知名电商平台,每逢大数据泄漏事件后24小时,发现后台登录失败率突增且IP分布全球,攻击者尝试自动化导入2000万组账号进行测试。导致平台被动封停数万正常用户账号,客服量激增,影响用户体验与品牌声誉。


五、攻防双方手法拆解

1. 攻击方细节

  • 自动化账号健康检测:攻击者不断分析目标接口的返回特征,比如登录是否需要验证码、账户是否被锁定等,攻击脚本自动适配流程,减少无谓尝试,提高效率。

  • 利用已撞开的账号下一步渗透:除了盗用资源,还会进一步做横向移动、收集敏感信息、尝试权限提升或做内网渗透,扩大战果。

2. 防御方细节举措

一)流量/行为层面

  • 速率限制与封禁:对同一IP、同一账号短时间的登录尝试设置阈值超限即封,或者要求进一步验证(如验证码、MFA),但要兼顾误伤正常用户。

  • IP信誉/地理识别:利用黑名单、威胁情报库识别“异常”IP,比如数据中心出口、代理池、已知僵尸网络等。

  • 动态风险评分

    • 对每一次登录尝试,根据行为特征评分(异常设备、IP频繁更换、短时大量尝试等)。

    • 根据风险分值动态调整认证要求,例如高风险自动强制MFA或临时冻结账户。

二)认证和凭证管理

  • 强推多因素认证(MFA):即使攻击者拥有账号密码,无法绕过MFA就大大降低风险。

  • 密码/密钥策略管控:要求密码/密钥定期更换、复杂度强,且密钥不长时间有效,出问题能第一时间轮换。

  • API Key最小权限分割:为不同场景和子系统分发独立的API密钥,每个密钥都应有细粒度的权限与使用场景限制,避免“一个密钥通天下”情况。

  • 凭证泄漏扫描:企业可以使用自动工具定期扫描代码仓库(如GitHub、GitLab等)查找敏感凭证暴露,并自动报警甚至吊销密钥。

三)异常检测与响应

  • 实时监控与告警

    • 自动监控登录失败、API异常调用、资源消耗激增等事件,第一时间通知安全团队处理。

    • 结合机器学习建立用户与系统行为基线,主动发现偏离。

  • 自动化应急处置:可配置为发现异常自动冻结账号、吊销密钥、缩减权限、阻断流量等(如AWS GuardDuty、Azure Sentinel等)。

四)用户教育与制度流程

  • 安全意识培训:让员工了解凭证不应复用、不乱用个人密码、发现异常迅速上报等。

  • 账号管理制度:明确哪些情况必须冻结账户、必须强制改密、必须审核新密钥创建。


六、难点和趋势

  1. 撞库“精准化”:攻击者会将撞库字典细分为“高价值账号字典”,如中国区大站或常用邮箱合集,撞中概率更高。

  2. API和自动化服务泛滥:随着云原生/DevOps普及,企业依赖密钥的API服务剧增,更容易因“人”问题导致凭证外泄。

  3. 模拟正常用户难以区分:攻击脚本愈发成熟,能模拟真实浏览器环境、正当操作,单靠IP过滤和简单验证码难以完全阻挡。

许可协议:  CC BY 4.0