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

3.8 KiB

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Protocolo de Impresión por Internet IPP

El Protocolo de Impresión por Internet (IPP), como se especifica en RFC2910 y RFC2911, sirve como base para la impresión en internet. Su capacidad de ser extendido se muestra en desarrollos como IPP Everywhere, que tiene como objetivo estandarizar la impresión móvil y en la nube, y la introducción de extensiones para la 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 POST HTTP dirigidas al servidor IPP, que opera en el puerto 631/tcp.

Una implementación 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, lo que destaca un riesgo de seguridad potencial.

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

Aprende a hackear AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: