12 KiB
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFT收藏品The PEASS Family
-
加入💬 Discord群组 或 电报群组 或 关注我在Twitter上的🐦@carlospolopm.
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享你的黑客技巧。
近年来,打印机供应商开始引入在其设备上安装自定义软件的可能性。这种“打印机应用程序”的格式是专有的,SDK不对公众开放。编写在打印机上运行的定制软件的功能是为经销商和承包商而设计的,而不是为最终用户设计的。通过这种方式,打印机群可以根据公司的特殊需求和业务流程进行调整;文档解决方案提供商可以轻松将打印机集成到其管理软件中。一个常见的例子是NSi AutoStore [1],它可以安装在许多多功能一体机上,并自动将扫描或复制的文档上传到预定义的位置。显然,在打印机设备上运行自定义代码是一个潜在的安全威胁。此外,与固件相比,软件包的代码签名可能更加困难,因为软件不仅由打印机制造商编写,还由更广泛的开发人员编写,这些开发人员需要拥有签署其软件的秘密密钥。因此,将秘密密钥包含在SDK中是合乎逻辑的,这些SDK通过仅从开发者平台提供独占访问权限来保护。本文旨在系统地收集有关供应商特定软件平台/SDK的信息。
供应商
以下是主要打印机供应商提供的扩展其设备功能的软件平台的大致概述。
HP(Chai/OXP)
HP于1999年推出了他们的“Chai Appliance Platform”平台,用于在LaserJet打印机上运行Java应用程序。虽然最初向公众开放了一个SDK [2],但后来访问权限被限制为HP开发者网络的成员。Chai servlet以.jar
文件的形式提供,最初需要由HP进行认证和签名,然后才能被打印机设备接受。[3]在部署过程中发现了一个缺陷:通过安装HP提供的另一种已经签名的替代加载程序软件EZloader,他们能够上传和运行自己的未签名的Java软件包。看起来,HP在后来的Chai版本中完全放弃了代码签名:[4]能够编写并执行一个监听端口9100并将传入的文档上传到FTP服务器后打印的概念验证打印机恶意软件。他们的代码基于[5],后者扩展了设备以支持负载均衡,并在演示中包含了所需的SDK文件和专有Java库。使用这些库,可以通过将.jar
文件上传到“隐藏”的URL:http://printer/hp/device/this.loader
在旧版HP LaserJets上编译和执行任意Java代码。如果嵌入式Web服务器尚未设置密码,则可以执行此攻击。否则,必须首先通过PostScript从/dev/rdsk_jdi_cfg0
检索密码(参见文件系统访问)或通过将设备重置为出厂默认设置来绕过密码。如果受害者当前已登录到打印机的嵌入式Web服务器,则Web攻击者可以使用CSRF上传.jar
文件。对于较新的设备,HP使用基于Web服务的“Open Extensibility Platform” (OXP)代替Chai,但没有公开可用的SDK。
Canon(MEAP)
“多功能嵌入式应用平台” (MEAP)是佳能于2003年推出的基于Java的软件平台,用于其imageRunner系列,并于2010年扩展到Web服务。第三方开发人员可以以5000美元的费用获得MEAP SDK,这显然超出了研究目的的范围。
Xerox/Dell EIP
‘可扩展接口平台’(EIP)[6]是由Xerox于2006年为各种多功能打印机推出的。这种架构也被一些改装的Dell设备支持,基于Web服务技术。SDK可供注册开发人员免费使用。
Brother BSI
‘Brother解决方案接口’(BSI)是一种基于XML的Web架构,于2012年推出,用于扫描仪、复印机和打印机。许可开发人员可以访问SDK。
Lexmark eSF
‘嵌入式解决方案框架’(eSF)于2006年为Lexmark多功能打印机推出。用于开发Java应用程序的SDK仅对‘特别合格的合作伙伴’开放。根据[7],‘这些应用程序在采用之前必须由Lexmark进行数字签名’,使用2048位RSA签名。
Samsung XOA
‘可扩展开放架构’(XOA)由三星于2008年推出,有两种版本:基于Java的XOA-E虚拟机和基于Web服务的XOA-Web。SDK仅对三星经销商开放。
Ricoh ESA
‘嵌入式软件架构’(ESA)[8]由理光于2004年推出。基于Java的SDK/J可供开发人员在注册后使用。
Kyocera/Utax HyPAS
‘高级解决方案混合平台’(HyPAS)[9]由京瓷于2008年发布。应用程序基于Java或Web服务。SDK仅对‘HyPAS开发合作伙伴计划’的成员开放,并且应用程序必须经过京瓷的批准。
Konica Minolta bEST
‘bizhub扩展解决方案技术’(bEST)[10]基于Web服务,由柯尼卡美能达于2009年推出。访问SDK需要支付4000美元的‘白金会员级别’开发人员计划费用,这对独立研究人员来说超出了范围。
Toshiba e-BRIDGE
‘e-BRIDGE开放平台’(e-BRIDGE)于2008年由东芝发布,用于定制基于Web服务技术的高端多功能打印机。一般公众无法获得SDK。
Sharp OSA
‘开放系统架构’(OSA)[11]由夏普于2004年推出。用于开发Web服务的SDK需要付费,并且应用程序在安装到多功能打印机之前需要经过夏普的验证。
Oki sXP
‘智能可扩展平台’(sXP)[12]基于Web服务,由Oki Data于2013年为其多功能打印机设备推出。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)。还要检查设备上存在哪些保护机制来安装自定义软件。
谁可以执行这种攻击?
取决于软件包的部署方式。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一个网络安全公司工作吗?想要在HackTricks中看到你的公司广告吗?或者想要获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFT收藏品The PEASS Family
-
加入💬 Discord群组或电报群组,或者关注我在Twitter上的🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享你的黑客技巧。