当心黑客可以使用Chrome远程窃取你的Windows密码
但为什么你的Windows PC会自动将你的凭据移交给服务器?
DefenseCode的研究员博斯科·斯坦科维奇(Bosko Stankovic)发现,只要访问一个包含恶意SCF文件的网站,受害者就可以在不知不觉中通过Chrome和SMB协议与黑客共享其计算机的登录凭据。
这项技术并不是新技术,而是由树桩网— 一个专门设计用来摧毁伊朗核计划的强大恶意软件,使用Windows快捷方式LNK文件破坏系统。
与其他攻击不同的是,这种SMB身份验证相关的攻击是继IE和Edge之后首次在Google Chrome上公开展示的。
Chrome+SCF+SMB=窃取Windows凭据
SCF(Shell Command File)快捷方式文件格式的工作原理与LNK文件类似,旨在支持一组有限的Windows资源管理器命令,帮助定义桌面上的图标,例如“我的电脑”和“回收站”。
斯坦科维奇在一篇描述该漏洞的博客文章中写道:“目前,攻击者只需诱使受害者(使用完全更新的谷歌Chrome和Windows)访问他的网站,就可以继续使用受害者的身份验证凭据”。
基本上,桌面上的快捷链接是一个文本文件,具有特定的shell代码语法,用于定义图标/缩略图的位置、应用程序的名称及其位置。
由于Chrome信任Windows SCF文件,攻击者可以诱使受害者访问其网站,其中包含恶意创建的快捷方式文件,该文件会自动下载到目标系统上,而无需提示用户确认。
一旦用户打开包含下载文件的文件夹,无论是立即打开还是稍后打开,该文件都会自动运行以检索图标,而无需用户单击它。
但是,攻击者创建的恶意SCF文件没有设置图标图像的位置,而是包含远程SMB服务器的位置(由攻击者控制)。
因此,一旦SCF文件试图检索图标图像,它就会通过SMB协议与攻击者控制的远程服务器进行自动身份验证,交出受害者的用户名和哈希密码版本,允许攻击者使用您的凭据对您的个人计算机或网络资源进行身份验证。
斯坦科维奇说:“在远程SMB服务器上设置图标位置是一个已知的攻击向量,它在访问远程文件共享之类的服务时滥用Windows自动认证功能。
但在Stuxnet攻击之后,微软强迫LNK文件仅从本地资源加载图标,这样它们就不会再容易受到此类攻击的攻击,从而从外部服务器加载恶意代码。
然而,SCF文件被单独留下。
通过SCF文件利用LM/NTLM哈希身份验证
图片来源:SANS
如果您不知道,这就是通过服务器消息块(SMB)协议与NTLM质询/响应身份验证机制结合使用的方式。
简而言之,LM/NTLM身份验证分为4个步骤:
- Windows用户(客户端)尝试登录到服务器。
- 服务器用质询值进行响应,要求用户使用其哈希密码加密质询值并将其发送回。
- Windows通过向服务器发送客户端的用户名和密码的哈希版本来处理SCF请求。
- 然后,如果客户端的哈希密码正确,服务器将捕获该响应并批准身份验证。
现在,在Stankovic详细阐述的SCF攻击场景中,Windows将尝试通过向服务器提供受害者的用户名和NTLMv2密码哈希(个人计算机或网络资源),自动向恶意SMB服务器进行身份验证,如上述步骤3所述。
如果用户是公司网络的一部分,则其公司的系统管理员分配给该用户的网络凭据将发送给攻击者。
如果受害者是家庭用户,受害者的Windows用户名和密码将被发送给攻击者。
[*] SMB Captured - 2017-05-15 13:10:44 +0200
从173.203.29.182:62521-173.203.29.182捕获的NTLMv2响应
用户:Bosko域:主操作系统:LM:
LMHASH:禁用
LM_客户端_挑战:已禁用
NTHASH:98daf39c3a253bbe4a289e7a746d4b24
NT_客户_挑战:010100000000000E5F83E06FCDD201CCF26D91CD9E326E000000000200000000000
00000000000
Bosko::Master:112233455667788:98daf39c3a253bbe4a289e7a746d4b24:010100000000000E5F83E06FCDD201CCF26D91CD9E326E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
毫无疑问,这些凭证是加密的,但可以在以后“强制”以明文形式检索原始登录密码。
“值得一提的是,无论文件和文件夹设置如何,SCF文件都将在Windows资源管理器中显示为无扩展文件,”研究人员说。“因此,名为picture.jpg.scf的文件将在Windows资源管理器中显示为picture.jpg。这增加了使用scf文件进行攻击的不明显性。”
有时不需要解密密码
由于许多Microsoft服务接受哈希形式的密码,攻击者甚至可以使用加密密码登录到OneDrive Outlook.com、Office 365、Office Online、Skype、Xbox Live和其他Microsoft服务,因此不需要解密。
据研究人员称,此类漏洞还可能对大型组织构成严重威胁,因为它们使攻击者能够模拟其成员之一,使攻击者能够立即重用获得的特权,进一步升级访问权限,获得对其IT资源的访问和控制,并对其他成员进行攻击。
如何防止此类SMB身份验证相关攻击
简单地说,通过防火墙阻止从本地网络到WAN的出站SMB连接(TCP端口139和445),这样本地计算机就无法查询远程SMB服务器。
斯坦科维奇还建议用户考虑通过谷歌浏览器来禁用自动下载。设置→显示高级设置→然后检查“下载前询问每个文件的保存位置”选项
此更改将允许您手动批准每次下载尝试,这将显著降低使用SCF文件进行凭据盗窃攻击的风险。
谷歌已经意识到了这个漏洞,据说正在开发一个补丁,但没有给出何时向用户提供补丁的时间表。
