631 - Internet Printing Protocol(IPP)

Support HackTricks

Protocolo de Impresión de Internet (IPP)

El Protocolo de Impresión de Internet (IPP), como se especifica en RFC2910 y RFC2911, sirve como base para la impresión a través de internet. Su capacidad de ser extendido se muestra en desarrollos como IPP Everywhere, que busca estandarizar la impresión móvil y en la nube, y la introducción de extensiones para impresión 3D.

Aprovechando el protocolo HTTP, IPP se beneficia de prácticas de seguridad establecidas que incluyen autenticación básica/digest y cifrado SSL/TLS. Acciones como enviar un trabajo de impresión o consultar el estado de la impresora se realizan a través de solicitudes HTTP POST dirigidas al servidor IPP, que opera en puerto 631/tcp.

Una implementación bien conocida de IPP es CUPS, un sistema de impresión de código abierto prevalente en varias distribuciones de Linux y OS X. A pesar de su utilidad, IPP, al igual que LPD, puede ser explotado para transmitir contenido malicioso a través de archivos PostScript o PJL, destacando un posible riesgo de seguridad.

# 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)

Si quieres aprender más sobre hackear impresoras, lee esta página.

Apoya a HackTricks

Last updated