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