从Chrome拖拽泄露NTLM哈希:通过文件URL实现凭据窃取
捕获哈希的DragonHash技术
Chromium内核浏览器具有特殊的拖放功能集,不仅可用于点击劫持攻击中的"输入模拟"(如本博客所示),还能让Web应用像真正的文件处理器一样工作。例如,用户可以将文件从Web应用拖拽到桌面。
社会工程师可能利用此功能诱骗用户将文件复制到计算机上。Web应用可以提示用户将图像拖到桌面,当用户释放图像时,实际上可以将任意文件写入目标位置——甚至是二进制文件。
利用文件URL进行哈希捕获
关键问题在于:如果使用文件URL会发生什么?当这些操作在Windows系统上执行时,系统会执行其常规行为——通常是发送哈希值等敏感信息。
通过以下JavaScript代码可以实现攻击:
|
|
当用户被诱骗将此图像从Web应用拖到Windows桌面时,首次尝试可能失败,但用户通常会重复尝试。此时Chrome会允许Windows执行其默认行为,从而触发NTLM哈希捕获。
增强攻击隐蔽性
为了降低用户怀疑,可以添加额外JavaScript代码下载实际文件:
|
|
需要注意的是:
- 此技术需要浏览器启用"自动下载到文件夹"功能
- 文件下载会保存到配置的下载文件夹,而非用户拖放的目标位置
- 如果认为不传输文件更不易引起怀疑,可以跳过文件下载步骤,仍能获取NTLM哈希
自行测试
您可以使用在线工具自行测试(需运行Responder服务器): https://www.dragonhash.fun
演示代码仓库: https://github.com/hoodoer/DragonHash
本文揭示了浏览器功能与操作系统交互时产生的安全边界问题,提醒安全团队需要重新评估客户端交互带来的凭据泄露风险。