hacktricks/network-services-pentesting/pentesting-631-internet-printing-protocol-ipp.md

3.7 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Protocolo de Impressão da Internet IPP

O Protocolo de Impressão da Internet (IPP), conforme especificado na RFC2910 e RFC2911, serve como base para impressão pela internet. Sua capacidade de ser estendido é demonstrada por desenvolvimentos como IPP Everywhere, que visa padronizar impressão móvel e em nuvem, e a introdução de extensões para impressão 3D.

Aproveitando o protocolo HTTP, o IPP se beneficia de práticas de segurança estabelecidas, incluindo autenticação básica/digest e criptografia SSL/TLS. Ações como enviar um trabalho de impressão ou consultar o status da impressora são realizadas através de requisições HTTP POST direcionadas ao servidor IPP, que opera na porta 631/tcp.

Uma implementação bem conhecida do IPP é o CUPS, um sistema de impressão de código aberto prevalente em várias distribuições Linux e OS X. Apesar de sua utilidade, o IPP, assim como o LPD, pode ser explorado para transmitir conteúdo malicioso através de arquivos PostScript ou PJL, destacando um potencial risco de segurança.

# Example of sending an IPP request using Python
import requests

url = "http://printer.example.com:631/ipp/print"
headers = {"Content-Type": "application/ipp"}
data = b"..."  # IPP request data goes here

response = requests.post(url, headers=headers, data=data, verify=True)
print(response.status_code)

Se você quiser aprender mais sobre hackeando impressoras, leia esta página.

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}