Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Consigue 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 exclusivos**](https://opensea.io/collection/the-peass-family) * **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **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).
**Restablecer** un dispositivo a los valores de fábrica es una funcionalidad crítica de seguridad ya que **sobrescribe mecanismos de protección** como contraseñas establecidas por el usuario. Esto generalmente se puede hacer presionando una **combinación especial de teclas** en el **panel de control** de la impresora. Realizar tal restablecimiento en frío solo toma segundos y, por lo tanto, es un escenario realista para atacantes locales o pentesters, que pueden, por ejemplo, colarse en la sala de copiado a la hora del almuerzo. Sin embargo, el **acceso físico** al dispositivo **no siempre es una opción**. ### SNMP El Printer-MIB define el objeto **prtGeneralReset** (**OID 1.3.6.1.2.1.43.5.1.1.3.1**) que permite a un atacante reiniciar el dispositivo (powerCycleReset(4)), restablecer la configuración de NVRAM (resetToNVRAM(5)) o restaurar los valores de fábrica (resetToFactoryDefaults(6)) utilizando SNMP. Esta característica/ataque es **compatible con una gran variedad de impresoras** y elimina todos los mecanismos de protección como contraseñas establecidas por el usuario para el servidor web integrado. Aunque los mecanismos de protección pueden ser eludidos eficientemente, una desventaja práctica de este enfoque es que toda la configuración de **dirección IP estática se perderá**. **Si no hay servicio DHCP** disponible, el atacante **no** podrá **reconectarse** al dispositivo después de restablecerlo a los valores de fábrica. **Restablecer el dispositivo a los valores de fábrica por defecto** se puede lograr utilizando el comando `snmpset` como se muestra a continuación (necesitas conocer la **cadena de comunidad**, por defecto en la mayoría de los casos es `public`): ```bash snmpset -v1 -c public printer 1.3.6.1.2.1.43.5.1.1.3.1 i 6 ``` ### [PML](./#pml)/[PJL](./#pjl) En muchos escenarios, un atacante no tiene la capacidad de realizar solicitudes SNMP debido a firewalls o cadenas de comunidad SNMP desconocidas. Sin embargo, en **dispositivos HP**, **SNMP** puede transformarse en su **representación PML** e incorporar la solicitud dentro de un trabajo de impresión legítimo. Esto permite que un atacante **reinicie y/o restablezca el dispositivo** a los valores de fábrica dentro de trabajos de impresión ordinarios como se muestra a continuación: ```bash @PJL DMCMD ASCIIHEX="040006020501010301040106" ``` Cualquiera puede reproducir este ataque en impresoras HP, reiniciar o restablecer el dispositivo se puede reproducir fácilmente usando [**PRET**](https://github.com/RUB-NDS/PRET): ```bash ./pret.py -q printer pjl Connection to printer established Welcome to the pret shell. Type help or ? to list commands. printer:/> reset printer:/> restart ``` ### PostScript PostScript ofrece una característica similar: El parámetro del sistema **FactoryDefaults**, 'una bandera que, si se **establece en verdadero** **inmediatamente antes** de que la **impresora se apague**, hace que todos los parámetros no volátiles vuelvan a sus valores **predeterminados de fábrica** en el próximo encendido'. Cabe destacar que **PostScript** también tiene la capacidad de **reiniciar** su **entorno**, pero requiere una **contraseña válida**. \ Sin embargo, el intérprete de PostScript puede entrar en un **bucle infinito**, como se discute en ataques DoS de [procesamiento de documentos](http://hacking-printers.net/wiki/index.php/Document\_processing), lo que obliga al usuario a **reiniciar manualmente** el dispositivo y, por lo tanto, restablecer la contraseña de PostScript. Restablecer los parámetros del sistema PostScript a los valores predeterminados de fábrica: ```bash << /FactoryDefaults true >> setsystemparams ``` Reiniciar el intérprete de PostScript y la memoria virtual: ```bash true 0 startjob systemdict /quit get exec ``` Cualquiera puede reiniciar o restablecer el intérprete PostScript de una impresora, lo cual **puede reproducirse fácilmente utilizando** [**PRET**](https://github.com/RUB-NDS/PRET): ```bash ./pret.py -q printer ps Connection to printer established Welcome to the pret shell. Type help or ? to list commands. printer:/> reset printer:/> restart ``` ### PRESCRIBE Para **dispositivos Kyocera**, los lenguajes de descripción de página **PRESCRIBE** pueden usarse para **restablecer el dispositivo** a los valores de fábrica desde trabajos de impresión ordinarios utilizando uno de los comandos mostrados a continuación: ```bash !R! KSUS "AUIO", "CUSTOM:Admin Password = 'admin00'"; CMMT "Drop the security level, reset password"; !R! ACNT "REST"; CMMT "Reset account code admin password"; !R! EGRE; CMMT "Reset the engine board to factory defaults"; !R! SIOP0,"RESET:0"; CMMT "Reset configuration settings"; ``` Para reproducir este ataque, abre una conexión de red cruda al puerto 9100/tcp de la impresora y **envía los comandos documentados arriba**.
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Consigue 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 **sigue** a **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).