利用Azure Front Door WAF窃取凭证的技术分析

本文详细演示了攻击者如何利用Azure Front Door WAF的自定义规则和日志分析功能,通过配置恶意规则捕获经过WAF保护的登录页面中的用户名和密码明文凭证。

利用Azure Front Door WAF窃取凭证

工作原理

Azure Front Door WAF允许创建自定义规则,这些规则可以匹配特定IP、请求头、正文内容和POST参数。通过创建匹配POST参数’username’和’password’的自定义规则,并将规则设置为"仅记录流量",攻击者可以悄悄将用户的用户名和密码发送到日志中。

演示过程

WAF设置

示例展示了受Azure Front Door WAF保护的Acme Computer Company登录页面。该攻击仅适用于Front Door WAF,不适用于Application Gateway WAF。

日志设置

确保日志从Front Door WAF流向Log Analytics工作区。仅需要"FrontDoor WebApplicationFirewallLog"类别。

添加恶意规则

  1. 在Front Door WAF中创建名为"PasswordCapture"的新自定义规则
  2. 设置优先级为5以确保在其他规则之前评估
  3. 配置If条件匹配POST参数’username’和’password'
  4. 设置操作为"仅记录流量"

生成事件

通过浏览器或curl请求模拟正常用户登录,生成包含用户名和密码的POST请求。

获取凭证

在Log Analytics工作区中执行KQL查询,检索匹配"PasswordCapture"规则的流量,在详细信息中可以看到暴露的用户名和密码。

攻击前提条件

  1. Azure Front Door WAF - 仅适用于Front Door WAF
  2. WAF保护登录页面 - 需要捕获有价值的凭证
  3. 修改WAF自定义规则的权限 - 需要Owner、Contributor或Network Contributor角色
  4. 读取Log Analytics工作区的权限 - 需要适当的读取权限

技术细节

  • Front Door WAF日志非常详细,显示匹配模式
  • Application Gateway WAF自定义规则日志仅显示匹配的规则,不显示违规内容
  • 规则设置为"仅记录"时,其他规则仍会被评估
  • 建议管理员使用Azure数据清理功能过滤密码字段

安全建议

此技术不仅限于用户名和密码,还可用于查找API密钥和Bearer令牌。重要的是要谨慎允许谁检查明文网络流量,以及谁有权读取日志。虽然此配置是故意恶意的,但在正常操作中WAF意外捕获密码的情况也很常见。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计