在今天的文章中,我将讨论在私人漏洞赏金计划中发现的最新成果。在此期间,我发现了Tibco WebFOCUS报表服务器和Epson ePOS打印机中的多个XML外部实体(XXE)和服务器端请求伪造(SSRF)漏洞。这些缺陷使我能够通过盲SSRF和XXE攻击窃取敏感信息,如NTLM哈希。我还将解释如何利用这些漏洞通过Epson ePOS打印机模块打印敏感系统文件。
在测试过程中,我发现该应用程序使用WebFOCUS服务器,其中包含连接组织的Salesforce账户或环境并导入数据的选项。然而,在Salesforce数据库连接器模块中发现了一个漏洞。该模块设计用于从Salesforce实例获取数据,但缺乏适当的URL验证,并且未能将请求限制在Salesforce域内。因此,它允许向任何服务器(包括内部IP)发出HTTP请求,使其容易受到服务器端请求伪造(SSRF)攻击。
该漏洞仅限于盲SSRF,服务器仅发送带外DNS查询。这使我能够验证内部服务器是否运行HTTP服务,但由于漏洞的性质,影响非常有限。我发现应用程序在后端运行在Windows服务器上,这促使我尝试使用Responder工具,看看是否可以从服务器窃取NTLM哈希。
什么是Responder?
Responder是一种流行的开源网络利用工具,尤其在Windows环境中。它设计用于拦截和操纵网络流量以捕获敏感数据,如NTLM哈希,这些数据可用于进一步的攻击,如哈希传递或离线密码破解。
GitHub — SpiderLabs/Responder:Responder是一种LLMNR、NBT-NS和MDNS毒化工具,内置HTTP/SMB/MSSQL/FTP/LDAP恶意认证服务器...
(WebFOCUS Salesforce数据库连接器)
(服务器哈希)
后来,我还观察到机器尝试执行基本身份验证,这泄露了Salesforce SOAP API凭据。
(SOAP API凭据)
在报表服务器中,有一个选项可以通过“获取模块”功能从XML文件导入数据。在测试过程中,我还发现该应用程序容易受到XXE攻击,但在盲利用方面提出了独特的挑战。最初,我尝试了经典的XXE方法定义外部实体,但应用程序返回“实体未定义”错误。后来,我观察到错误是因为我在有效载荷中遗漏了DOCTYPE声明。
我成功定义了外部实体。但由于是盲XXE,我无法直接在响应中查看任何内部实体——它仅进行DNS查询。我尝试通过DNS窃取数据,但内部数据文件中的新行阻止了我这样做。虽然我可以声明外部实体并加载DTD文件,但即使通过DTD加载,也没有数据被窃取。
知道应用程序运行在Windows服务器上,我决定再次使用Responder,并采用以下有效载荷:
(有效载荷)
(服务器哈希)
该应用程序包含一个模块,用于使用Epson ePOS打印机打印抽屉的最终余额,该模块依赖XML数据打印抽屉状态。在测试过程中,发现该应用程序允许用户声明外部实体,使攻击者能够利用XXE漏洞打印系统文件。
(Epson ePOS打印机文档)
根据Epson ePOS打印机文档,如果外部实体包含在文档打印的HTTP请求中,它也会接受外部实体并打印数据。
(Epson ePOS打印机文档第48页)
为了打印内部系统文件,我准备了以下有效载荷:
(有效载荷)
该有效载荷成功使我能够打印服务器的内部文件。
这些发现突显了忽视盲漏洞所带来的关键风险。Tibco WebFOCUS报表服务器和EPSON ePOS打印机容易受到盲XXE和SSRF攻击,这可能暴露NTLM哈希并允许未经授权访问敏感系统文件。
在本文中,我展示了带外技术和创造性利用方法如何将看似次要的漏洞转化为有效的攻击向量。
感谢阅读。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。