导语:Check Point研究小组揭示NTLM Hash泄漏可以通过PDF文件来实现,无需用户交互。
就在报道说恶意行为者可以利用MS outlook using OLE中的漏洞来窃取Windows用户的NTLM Hash后几天,Check Point研究小组还揭示NTLM Hash泄漏也可以通过PDF文件来实现,无需用户交互。
据Check Point的研究人员称,攻击者不是利用Microsoft Word files 中的漏洞或Outlook处理RTF文件时的漏洞,而是利用允许在PDF文件中嵌入远程文档和文件的功能。然后,攻击者可以使用它将恶意内容注入到PDF中,因此当打开该PDF时,目标会自动以NTLM Hash形式泄漏凭证。
PDF背景
PDF文件主要由对象、文档结构、文件结构和内容流组成。有八种基本类型的对象:
· 布尔值
· 整数和实数
· 字符串
· 名称
· 数组
· 流
· 空对象
· 字典
字典对象是一个包含对象对的表,称为条目。每个条目的第一个元素是键,第二个元素是值。键必须是名称,值可以是任何类型的对象,包括其他字典。文档的页面由称为页面对象的字典对象表示。页面对象由几个必需和可选的条目组成。
PoC
· AA条目是一个可选条目,用于定义页面打开(/ O条目)或关闭(/ C条目)时要执行的操作。 / O(/ C)条目包含一个操作字典。操作字典由3个必需的条目组成:/ S,/ F和/ D:
· S条目:描述要执行的操作的类型。GoTo操作将视图更改到文档中的指定目标。GoToR(Go To Remote)和GoToE(Go To Embedded)都易受攻击,跳转到另一个PDF文件中的目标。
· F条目:存在于GoToR和GoToE中,每个条目的含义略有不同。在这两种情况下,它都描述了另一个PDF中的位置。它的类型是文件规范。
· D条目:描述文档中的位置。
通过注入恶意条目(通过/ F使用上述字段以及SMB服务器详细信息),攻击者可以诱骗任意目标打开构造的PDF文件,然后自动泄漏他们的NTLM Hash、Challenge、用户名、主机名和域的详细信息。
图1: PoC – 注入GoToE
另外,从目标角度来看,没有证据或攻击者活动的任何安全警报,这使得他不可能注意到异常行为。
图2: 构造的PDF 文件没有攻击者操作的痕迹
NTLM详细信息通过SMB流量泄露并发送到攻击者的服务器,该服务器可进一步用于各种SMB中继攻击。
图3: 构造的PDF 打开后泄露的NTLM
受影响的产品和缓解措施
我们的调查结论:所有Windows PDF Viewer都容易受到此安全漏洞的攻击,并且会显示NTLM凭据。
披露
该问题已向Adobe披露,如下所示,该漏洞无需分配任何CVE或修复漏洞:
“感谢你检查此事。微软在去年年底发布了一项可选的安全增强功能[0],该功能使客户能够禁用NTLM SSO身份验证。通过为客户提供这种缓解措施,我们不打算对Acrobat进行更改。“
[0] https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV170014