<summary><strong>Aprende a hackear AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Los peligros de las actualizaciones de firmware maliciosas son bien conocidos y se han discutido anteriormente por [\[1\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-1) y [\[2\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-2). A diferencia de otros dispositivos en red, **es común que las impresoras implementen actualizaciones de firmware como trabajos de impresión ordinarios**. Esto abre una amplia puerta para los atacantes porque el acceso a la funcionalidad de impresión suele ser un obstáculo bajo. Solo se puede especular sobre la motivación de tales decisiones de diseño inseguras, pero parece lógico que razones históricas jueguen un papel: las impresoras solían estar conectadas por cable paralelo o USB. Sin conectividad de red, la seguridad era menos importante y sin un servidor web protegido por contraseña o funcionalidades similares, el canal de impresión era la única forma de enviar datos al dispositivo.
Los ataques de modificación de firmware contra impresoras de red han sido demostrados por [\[3\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-cui2011print-3) para dispositivos HP, por [\[4\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-jordon2014wrestling-4) para la serie Canon PIXMA y por [\[5\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-heiland2011patched-5) y [\[6\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-weidenbach2016pwn-6) para varios modelos de Xerox. Como contramedida, los fabricantes de impresoras comenzaron a firmar digitalmente su firmware [\[7\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-hp2012rfu-7).
Para dar una visión general de los procedimientos de implementación de firmware, se han descargado y categorizado sistemáticamente 1,400 archivos de firmware de los 10 principales fabricantes de impresoras por [\[8\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-8). Los resultados son los siguientes.
El firmware se puede descargar desde [support.hp.com](http://support.hp.com/) o directamente desde [ftp.hp.com](ftp://ftp.hp.com/pub/networking/software/pfirmware/) vía FTP. Se pueden obtener 419 archivos en el formato tradicional de actualización de firmware remoto de HP \(`.rfu`\) y 206 binarios más nuevos de ‘HP FutureSmart’ \(`.bdl`\). Los archivos `.rfu` contienen comandos PJL propietarios como `@PJL UPGRADE SIZE=…`, indicando que las actualizaciones de firmware se implementan como trabajos de impresión normales. Esto ha sido demostrado por [\[3\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-cui2011print-3) y causó que HP firmara digitalmente todo su firmware de impresora desde marzo de 2012 [\[7\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-hp2012rfu-7).
El firmware está disponible en [www.canon.com/support](http://www.canon.com/support/). Sin embargo, Canon requiere un número de serie válido del dispositivo para descargar cualquier firmware. Según [\[4\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-jordon2014wrestling-4), quienes pudieron modificar el firmware para la serie Canon PIXMA, ‘no hay firma \(la forma correcta de hacerlo\) pero sí tiene un cifrado muy débil’. Según la correspondencia por correo electrónico con un representante de soporte técnico de Canon, ‘el firmware tiene que estar firmado digitalmente por Canon para que sea aceptado por la impresora’.
### Epson
El firmware se puede descargar desde [epson.com](http://epson.com/) y vía FTP desde [download.epson-europe.com](ftp://download.epson-europe.com/). Los archivos vienen como archivos autoextraíbles WinZip `.exe` y se pueden desempaquetar usando unp[\[9\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-9). Los archivos `.efu` contenidos se pueden analizar usando Binwalk[\[10\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-10) que extrae el firmware real. Se pueden obtener 49 archivos `.rcx` de formato desconocido \(‘SEIKO EPSON EpsonNet Form’\) y nueve archivos `.prn` que contienen comandos PJL \(`@PJL ENTER LANGUAGE=DOWNLOAD`\). Epson no ha publicado ninguna información sobre mecanismos de protección. El firmware lanzado antes de 2016 no aplicaba la firma de código y podía ser manipulado como se muestra en [\[11\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-11). Ellos ‘creen que enormes cantidades de dispositivos producidos desde 1999 \[…\] podrían ser vulnerables’.
### Dell
El firmware se puede obtener desde [downloads.dell.com](http://downloads.dell.com/) y desde [ftp.us.dell.com/printer](ftp://ftp.us.dell.com/printer). Los archivos se pueden desempaquetar usando unp y los archivos `.zip` incluidos se pueden extraer con una variante de unzip. Dell no produce dispositivos de impresión, sino que cambia la marca de los productos de otros fabricantes. Por lo tanto, se encontró una amplia variedad de archivos de firmware, incluyendo 18 archivos `.hd` que contienen `@PJL FIRMWARE=…`, 25 archivos `.prn` que contienen `@PJL ENTER LANGUAGE=DOWNLOAD` y 30 archivos `.fls`/`.fly` que contienen `@PJL LPROGRAMRIP`. En cuanto a mecanismos de protección, Dell no ha publicado ninguna información disponible públicamente.
### Brother
El firmware no se puede descargar fácilmente. En su lugar, se debe ejecutar un binario de Windows que verifica las impresoras disponibles y solicita enlaces de descarga para el firmware más reciente desde un servicio web. Adivinando los parámetros correctos, se pueden obtener los enlaces para 98 archivos. Los archivos de firmware no necesitan ser desempaquetados ya que ya vienen en formato crudo. 79 archivos tienen la extensión `.djf` y contienen `@PJL EXECUTE BRDOWNLOAD`, mientras que 9 archivos `.blf` contienen `@PJL ENTER LANGUAGE=PCL`. Brother no ha publicado ninguna información disponible públicamente sobre mecanismos de protección.
### Lexmark
El firmware está disponible en [support.lexmark.com](http://support.lexmark.com/) y se puede desempaquetar usando unp. Se pudieron obtener 63 archivos `fls` que contienen el encabezado PJL `@PJL LPROGRAMRIP` para instalar el firmware. El libro blanco de seguridad de Lexmark afirma que ‘los paquetes deben estar cifrados con un algoritmo de cifrado simétrico a través de una clave que solo es conocida por Lexmark y está incrustada de forma segura en todos los dispositivos. Sin embargo, la medida de seguridad más fuerte proviene de requerir que todos los paquetes de firmware deben incluir múltiples firmas digitales RSA de 2048 bits de Lexmark. Si estas firmas no son válidas \[...\] el firmware se descarta’ [\[12\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-12).
### Samsung
El firmware se puede descargar desde [www.samsung.com/us/support/download](http://www.samsung.com/us/support/download). Los archivos recuperados vienen ya sea como archivos zip o ejecutables de Windows que se pueden ejecutar en wine y desempaquetar más adelante usando unp. De esta manera, se pudieron obtener 33 archivos `.hd` que comienzan con `@PJL FIRMWARE` y archivos `.prn` asociados que contienen `@PJL DEFAULT SWUPGRADE=ON`. Samsung no ha publicado ninguna información disponible públicamente sobre mecanismos de protección.
### Xerox
El firmware está disponible públicamente en [www.support.xerox.com](http://www.support.xerox.com/). Los archivos descargados vienen en formato zip y se pueden desempaquetar usando unzip. Los archivos de firmware están en diferentes formatos: 16 archivos `.hd` que incluyen `@PJL FIRMWARE=…`, 36 archivos PostScript para dispositivos más antiguos y 35 archivos `.dlm` que es el formato utilizado actualmente por Xerox e incluye firmas digitales. Sin embargo, se encontró un defecto en el proceso de implementación por [\[5\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-heiland2011patched-5) y extendido por [\[6\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-weidenbach2016pwn-6), lo que lleva a la ejecución remota de código: la clave privada y la herramienta utilizada para la firma de código estaban contenidas en el propio firmware.
### Ricoh
El ‘Centro de Descarga de Firmware’ en [support.ricoh.com](https://support.ricoh.com/) no está abierto al público en general. Afortunadamente, la web contiene enlaces directos a un par de páginas de descarga de controladores/firmware, por lo que se pueden obtener 31 archivos de firmware utilizando una simple búsqueda en Google \(`site:support.ricoh.com firmware`\). Los archivos se pueden desempaquetar usando unp. 14 archivos `.bin` contienen `@PJL RSYSTEMUPDATE SIZE=…` mientras que 15 archivos `.brn` están asociados con un `settings.ini`, incluyendo `@PJL FWDOWNLOAD` y `USERID=sysadm, PASSWORD=sysadm`. Ricoh no proporciona ninguna información actualizada sobre mecanismos de protección. En un libro blanco que data de 2007, Ricoh afirma que ‘solo los técnicos de servicio tienen una contraseña y una cuenta dedicada para realizar actualizaciones de firmware’ [\[13\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-13).
### Kyocera
Kyocera no libera firmware a los usuarios finales. Sin embargo, en un foro de distribuidores de Kyocera disponible públicamente, se enlazan descargas de firmware para varios modelos: [ftp.kdaconnect.com](ftp://ftp.kdaconnect.com/). Los archivos se pueden desempaquetar usando unp y contienen imágenes montables cramfs[\[14\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-14) y squashfs[\[15\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-15) así como formatos binarios propietarios. El firmware se implementa como un trabajo de impresión con `!R! UPGR'SYS';EXIT;` antepuesto: el comando de actualización del lenguaje de descripción de página PRESCRIBE [\[16\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-16). Kyocera no ha publicado ninguna información disponible públicamente sobre mecanismos de protección.
### Konica
Aunque no se promociona activamente, el firmware para impresoras Konica Minolta se puede descargar desde [download6.konicaminolta.eu](http://download6.konicaminolta.eu/). Los dispositivos más nuevos conectados a Internet tienen la capacidad de realizar actualizaciones de firmware por sí mismos. Los archivos comprimidos vienen en diferentes formatos y se pueden desempaquetar usando unp, unzip y tar, lo que resulta en 38 archivos binarios propietarios `.bin`, 20 módulos de impresora ‘softload’ basados en PostScript para dispositivos más antiguos y 14 archivos de diferentes extensiones que contienen comandos PJL como `@PJL ENTER LANGUAGE=FIRMUPDATE`. El libro blanco de seguridad de Konica Minolta afirma que el firmware se verifica utilizando un ‘valor hash’ [\[17\]](http://hacking-printers.net/wiki/index.php/Firmware_updates#cite_note-17). Se puede dudar de que tal esquema sea criptográficamente seguro.
## Resultados
De los diez fabricantes analizados, nueve utilizan comandos [PJL](http://hacking-printers.net/wiki/index.php/PJL) para todos o al menos algunos de sus procedimientos de actualización de firmware, lo que es un fuerte indicador de que las actualizaciones se implementan como trabajos de impresión ordinarios. El fabricante restante – Kyocera – aplica el lenguaje de descripción de página PRESCRIBE. Por lo tanto, se puede afirmar que es común en la industria de la impresión instalar nuevo firmware a través del propio canal de impresión y nombrar un **defecto de diseño importante** presente en casi cualquier dispositivo de impresora: **datos y código sobre el mismo canal**. Sin embargo, la explotación de este problema es difícil ya que para la mayoría de los fabricantes no se puede hacer una declaración razonada sobre los mecanismos de protección. Por lo tanto, un análisis en profundidad de los ataques de modificación de firmware debería ser parte de la investigación futura. A continuación se presenta un resumen de encabezados de archivos o tipos para todos los archivos de firmware obtenidos:
| Fabricante | Extensión | Cantidad | Encabezado de archivo o tipo |