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

13 KiB
Raw Blame History

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

En los últimos años, los fabricantes de impresoras han comenzado a introducir la posibilidad de instalar software personalizado en sus dispositivos. El formato de tales 'aplicaciones de impresora' es propietario y los SDK no están disponibles para el público. La característica de escribir software personalizado que se ejecuta en impresoras fue pensada y está reservada para revendedores y contratistas, no para usuarios finales. De esta manera, una flota de impresoras puede adaptarse a las necesidades especiales y procesos de negocio de una empresa; los proveedores de soluciones de documentos pueden integrar fácilmente impresoras en su software de gestión. Un ejemplo popular es NSi AutoStore [1] que se puede instalar en muchos MFPs y sube automáticamente documentos escaneados o copiados a ubicaciones predefinidas. Obviamente, la característica de ejecutar código personalizado en un dispositivo de impresora es una amenaza potencial de seguridad. Además, la firma de código de paquetes de software es potencialmente más difícil que para firmware ya que el software no solo es escrito por el fabricante de la impresora sino por un rango más amplio de desarrolladores que necesitan poseer la clave secreta para firmar su software. Por lo tanto, es lógico incluir la clave secreta en los SDK que están protegidos por estar exclusivamente disponibles desde plataformas de desarrolladores. Este artículo es un esfuerzo para recopilar sistemáticamente información sobre plataformas de software específicas de los proveedores/SDKs.

Proveedores

A continuación se ofrece un esbozo general sobre las plataformas de software proporcionadas por los principales fabricantes de impresoras para extender la funcionalidad de sus dispositivos.

HP Chai/OXP

HP introdujo su plataforma 'Chai Appliance Platform' en 1999 para ejecutar aplicaciones Java en impresoras LaserJet. Mientras que un SDK había estado abierto al público al principio [2], el acceso fue más tarde restringido a miembros de la red de desarrolladores de HP. Los servlets de Chai, que vienen como archivos .jar que originalmente necesitaban ser certificados y firmados por HP antes de que fueran aceptados por un dispositivo de impresora. [3] descubrió una falla en el proceso de despliegue: al instalar EZloader un software de carga alternativo proporcionado por HP que ya había sido firmado pudieron subir y ejecutar sus propios paquetes Java no firmados. Al parecer, HP abandonó completamente la firma de código para versiones posteriores de Chai: [4] pudieron escribir y ejecutar un malware de impresora de prueba de concepto que escucha en el puerto 9100 y sube documentos entrantes a un servidor FTP antes de imprimirlos. Su código se basa en [5] quien extendió el dispositivo para soportar balanceo de carga e incluyó los archivos SDK y bibliotecas Java propietarias requeridas en su demostración. Con las bibliotecas, se puede compilar y ejecutar código Java arbitrario en HP LaserJets antiguas subiendo los archivos .jar a una URL 'oculta': http://printer/hp/device/this.loader. Este ataque se puede llevar a cabo si aún no se ha establecido una contraseña para el servidor web embebido. De lo contrario, la contraseña debe ser recuperada primero de /dev/rdsk_jdi_cfg0 con PostScript ver [acceso al sistema de archivos](http://hacking-printers.net/wiki/index.php/File_system_access) o evitada restableciendo el dispositivo a valores de fábrica. Un atacante web puede subir el archivo .jar usando CSRF si la víctima está actualmente registrada en el servidor web embebido de la impresora. Para dispositivos más nuevos, HP utiliza la plataforma basada en servicios web 'Open Extensibility Platform' [OXP](https://developers.hp.com/oxp/) en lugar de Chai para la cual no hay SDK disponible públicamente.

Canon MEAP

La 'Plataforma de Aplicaciones Embebidas Multifuncionales' [MEAP](http://www.developersupport.canon.com/faq/335#t335n18) es una plataforma de software basada en Java introducida por Canon en 2003 para su serie imageRunner y extendida a servicios web en 2010. Los desarrolladores de terceros pueden obtener el MEAP SDK por una tarifa de $5,000 que ciertamente está fuera del alcance para fines de investigación.

Xerox/Dell EIP

La 'Plataforma de Interfaz Extensible' [EIP](http://www.office.xerox.com/eip/enus.html) [6] fue anunciada en 2006 por Xerox para varios MFPs. La arquitectura que también es soportada por algunos dispositivos de Dell con marca compartida se basa en tecnología de servicios web. El SDK está libremente disponible para desarrolladores registrados.

Brother BSI

La 'Interfaz de Soluciones Brother' [BSI](https://www.brother-usa.com/lp/civ/bsi.aspx) es una arquitectura web basada en XML lanzada en 2012 para escáneres, copiadoras e impresoras. El acceso al SDK está disponible para desarrolladores con licencia.

Lexmark eSF

El 'Marco de Solución Embebida' [eSF](http://www.lexmark-emea.com/usa/BSD_solution_catalouge.pdf) fue lanzado en 2006 para MFPs de Lexmark. El SDK para desarrollar aplicaciones Java está reservado para 'socios especialmente calificados'. Según [7] 'estas aplicaciones deben ser firmadas digitalmente por Lexmark antes de ser adoptadas' usando firmas RSA de 2048 bits.

Samsung XOA

La 'Arquitectura Abierta Extensible' [XOA](http://samsungprintingsolutions.com/2015/02/can-samsungs-extensible-open-architecture-xoa/) fue introducida por Samsung en 2008 y viene en dos sabores: la máquina virtual Java XOA-E y los servicios web basados en XOA-Web. El SDK solo está disponible para revendedores de Samsung.

Ricoh ESA

La 'Arquitectura de Software Embebido' [ESA](https://www.ricoh.com/esa/) [8] fue lanzada por Ricoh en 2004. El SDK/J basado en Java está disponible para desarrolladores después de un registro.

Kyocera/Utax HyPAS

La 'Plataforma Híbrida para Soluciones Avanzadas' [HyPAS](http://usa.kyoceradocumentsolutions.com/americas/jsp/Kyocera/hypas_overview.jsp) [9] ha sido lanzada por Kyocera en 2008. Las aplicaciones se basan ya sea en Java o en servicios web. El SDK solo está disponible para miembros del 'Programa de Socios de Desarrollo HyPAS' y las aplicaciones tienen que ser aprobadas por Kyocera.

Konica Minolta bEST

La 'Tecnología de Solución Extendida bizhub' [bEST](https://best.kmbs.us/) [10] que se basa en servicios web fue introducida por Konica Minolta en 2009. El acceso al SDK requiere 'nivel de membresía platino' en el programa de desarrolladores por una tarifa de $4,000 que está fuera del alcance para investigadores independientes.

Toshiba e-BRIDGE

La 'Plataforma Abierta e-BRIDGE' [e-BRIDGE](http://www.estudio.com.sg/solutions_ebridge.aspx) fue lanzada por Toshiba en 2008 para personalizar sus MFPs de alta gama basados en tecnología de servicios web. Un SDK no está disponible para el público en general.

Sharp OSA

La 'Arquitectura de Sistemas Abiertos' [OSA](http://siica.sharpusa.com/Document-Systems/Sharp-OSA) [11] fue anunciada por Sharp en 2004. El SDK utilizado para desarrollar servicios web es de pago y las aplicaciones necesitan ser validadas por Sharp antes de que puedan ser instaladas en un MFP.

Oki sXP

La 'Plataforma Extensible Inteligente' [sXP](http://www.oki.com/en/press/2014/09/z14053e.html) [12] que se basa en servicios web fue lanzada por Oki Data en 2013 para sus dispositivos MFP. Oki no publica ninguna información respecto a un programa oficial de desarrolladores o SDK disponible públicamente.

Resultados

En impresoras láser HP antiguas, se puede ejecutar bytecode Java arbitrario como demostraron [3] y [4]. La seguridad se basa en la contraseña del servidor web embebido que se puede recuperar fácilmente con PostScript o evitada restaurando los valores de fábrica. Es difícil hacer una declaración razonada sobre la seguridad de otras plataformas de software debido a la falta de acceso al SDK y/o documentación técnica adecuada. A continuación se presenta una comparación de plataformas, tecnologías aplicadas y donde se conoce procedimientos de despliegue de paquetes de software:

Proveedor Plataforma Java Embebido Servicios Web Despliegue
HP Chai/OXP servidor web
Xerox/Dell EIP desconocido
Canon MEAP desconocido
Brother BSI desconocido
Lexmark eSF desconocido
Samsung XOA servidor web
Ricoh ESA desconocido
Kyocera/Utax HyPAS unidad USB
Konica Minolta bEST desconocido
Toshiba e-Bridge desconocido
Sharp OSA desconocido
Oki sXP desconocido

¿Cómo probar este ataque?

Obtén un SDK y escribe tu propia aplicación de prueba de concepto o encuentra una 'aplicación de impresora' que ya haga lo que quieres por ejemplo, subir automáticamente documentos escaneados a FTP. También verifica qué mecanismos de protección existen para instalar software personalizado en el dispositivo.

¿Quién puede realizar este ataque?

Dependiendo de cómo se desplieguen los paquetes de software.

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: