hacktricks/network-services-pentesting/pentesting-printers/software-packages.md

11 KiB
Raw Blame History

从零到英雄学习AWS黑客攻击 htARTE (HackTricks AWS Red Team Expert)

支持HackTricks的其他方式

近年来,打印机供应商开始引入在其设备上安装自定义软件的可能性。这种“打印机应用”的格式是专有的SDK对公众不开放。编写在打印机上运行的自定义软件的功能是有意为之并且是为经销商和承包商保留的而不是为最终用户准备的。因此可以根据公司的特殊需求和业务流程调整打印机群文档解决方案提供商可以轻松将打印机集成到他们的管理软件中。一个流行的例子是NSi AutoStore [1]它可以安装在许多MFP上并自动将扫描或复制的文档上传到预定义的位置。显然在打印机设备上运行自定义代码的功能是潜在的安全威胁。此外固件相比软件包的代码签名可能更难因为软件不仅由打印机制造商编写还由需要拥有秘密密钥以签署其软件的更广泛的开发者编写。因此将秘密密钥包含在仅通过开发者平台独家提供的SDK中是合乎逻辑的。本文是系统收集有关特定于供应商的软件平台/SDK信息的努力。

供应商

以下是主要打印机供应商提供的软件平台的大致概述,这些平台用于扩展其设备的功能。

HP Chai/OXP

HP在1999年推出了他们的Chai Appliance Platform平台用于在LaserJet打印机上运行Java应用程序。虽然一开始SDK对公众开放 [2]但后来访问权限被限制为HP开发者网络的成员。Chai servlets以.jar文件形式出现最初需要经过HP认证和签名才会被打印机设备接受。[3] 发现了部署过程中的一个漏洞通过安装EZloader——一种由HP提供且已经签名的替代加载软件——他们能够上传并运行自己的未签名Java包。看来对于后来的Chai版本HP完全放弃了代码签名[4] 能够编写并执行一个概念验证型打印机恶意软件该恶意软件监听9100端口并在打印它们之前将传入的文档上传到FTP服务器。他们的代码基于[5]他们扩展了设备以支持负载平衡并在他们的演示中包含了所需的SDK文件和专有Java库。有了这些库可以在旧的HP LaserJets上通过上传.jar文件到一个隐藏的URLhttp://printer/hp/device/this.loader 来编译和执行任意Java代码。如果嵌入式Web服务器尚未设置密码则可以执行此攻击。否则必须首先从/dev/rdsk_jdi_cfg0使用PostScript检索密码请参阅文件系统访问)或通过将设备重置为出厂默认设置来绕过。如果受害者当前登录到打印机的嵌入式Web服务器Web攻击者可以使用CSRF上传.jar文件。对于较新的设备HP使用基于Web服务的Open Extensibility PlatformOXP代替Chai没有公开可用的SDK。

Canon MEAP

‘多功能嵌入式应用平台’(MEAP是Canon在2003年为其imageRunner系列引入的基于Java的软件平台并在2010年扩展到Web服务。第三方开发者可以支付$5,000的费用获得MEAP SDK,这显然超出了研究目的的范围。

Xerox/Dell EIP

‘可扩展接口平台’(EIP[6] 在2006年由Xerox为各种MFP宣传。该架构——也得到了一些重新标记的Dell设备的支持——基于Web服务技术。SDK 对注册开发者免费开放。

Brother BSI

Brother解决方案接口BSI是一个基于XML的Web架构于2012年为扫描仪、复印机和打印机推出。SDK 对持有许可的开发者开放。

Lexmark eSF

‘嵌入式解决方案框架’(eSF于2006年为Lexmark MFP推出。开发Java应用程序的SDK仅保留给特别合格的合作伙伴。根据[7] 这些应用程序必须在被采用之前由Lexmark数字签名使用2048位RSA签名。

Samsung XOA

‘可扩展开放架构’(XOA由Samsung在2008年引入有两种形式XOA-E Java虚拟机和基于Web服务的XOA-Web。SDK 仅对Samsung经销商开放。

Ricoh ESA

‘嵌入式软件架构’(ESA[8] 于2004年由Ricoh推出。基于Java的SDK/J 在注册后对开发者开放。

Kyocera/Utax HyPAS

‘高级解决方案混合平台’(HyPAS[9] 由Kyocera在2008年发布。应用程序基于Java或Web服务。SDK 仅对HyPAS开发合作伙伴计划的成员开放应用程序必须得到Kyocera的批准。

Konica Minolta bEST

bizhub扩展解决方案技术bEST[10] 基于Web服务由Konica Minolta在2009年引入。访问SDK 需要在开发者计划中达到‘白金会员级别’,费用为$4,000这超出了独立研究者的范围。

Toshiba e-BRIDGE

e-BRIDGE开放平台e-BRIDGE由Toshiba在2008年发布用于定制基于Web服务技术的高端MFP。SDK对公众不开放。

Sharp OSA

‘开放系统架构’(OSA[11] 由Sharp在2004年宣传。用于开发Web服务的SDK 是基于费用的应用程序需要通过Sharp的验证才能安装在MFP上。

Oki sXP

‘智能可扩展平台’(sXP[12] 基于Web服务由Oki Data在2013年为其MFP设备推出。Oki没有发布任何关于官方开发者计划或公开可用SDK的信息。

结果

在较旧的HP激光打印机上可以执行任意Java字节码[3][4] 所示。安全性基于嵌入式Web服务器的密码可以使用PostScript轻松检索或通过恢复出厂默认设置绕过。由于缺乏对SDK的访问和/或适当的技术文档,很难对其他软件平台的安全性做出合理的陈述。下面给出了平台、应用技术和——已知的——软件包部署程序的比较:

供应商 平台 嵌入式Java Web服务 部署
HP Chai/OXP Web服务器
Xerox/Dell EIP 未知
Canon MEAP 未知
Brother BSI 未知
Lexmark eSF 未知
Samsung XOA Web服务器
Ricoh ESA 未知
Kyocera/Utax HyPAS USB驱动器
Konica Minolta bEST 未知
Toshiba e-Bridge 未知
Sharp OSA 未知
Oki sXP 未知

如何测试这种攻击?

获取SDK并编写您自己的概念验证应用程序或找到一个已经做了您想要的事情的“打印机应用”例如自动将扫描文档上传到FTP。还要检查安装自定义软件到设备上的保护机制。

谁能执行这种攻击?

取决于软件包是如何部署的。

从零到英雄学习AWS黑客攻击 htARTE (HackTricks AWS Red Team Expert)

支持HackTricks的其他方式