☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! - Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) - Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) - **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** - **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
# Contenido de superposición Una forma sencilla de manipular la apariencia de las impresiones es **usando superposiciones**. \ [**PCL**](./#pcl) tiene una función documentada para poner **macros de superposición** encima de un documento. Desafortunadamente, esta función está **limitada al trabajo de impresión actual** y no se puede hacer permanente. \ [**PostScript**](./#postscript-ps) no ofrece tal funcionalidad por defecto, sin embargo, se puede programar en él **redefiniendo el operador showpage** que se encuentra en cada documento PostScript para imprimir la página actual. El atacante puede **engancharse allí**, ejecutar su propio código y luego llamar a la versión original del operador.\ Por lo tanto, puede superponer todas las páginas que se van a imprimir con un archivo EPS personalizado. Este hack se puede utilizar para **añadir gráficos o fuentes arbitrarias a las copias impresas de un documento** (es posible alterar por completo la apariencia de un documento superponiendo una página en blanco y luego añadiendo contenido personalizado).\ Obviamente, tal enfoque sólo puede tener éxito si se utiliza PostScript como controlador de impresora y no se establece ninguna `StartJobPassword`. ![](http://hacking-printers.net/wiki/images/thumb/9/93/Overlay.jpg/300px-Overlay.jpg) **¿Cómo probar este ataque?** Usa los comandos `cross` o `overlay` de [**PRET**](https://github.com/RUB-NDS/PRET) en modo ps, luego desconéctate e imprime un documento arbitrario: ``` ./pret.py -q printer ps Connection to printer established Welcome to the pret shell. Type help or ? to list commands. printer:/> overlay overlays/smiley.eps printer:/> cross whoa "HACKED" printer:/> exit ``` # Reemplazo de contenido Incluso si un atacante puede poner una superposición sobre documentos existentes, no podrá **alterar valores específicos** en el documento original a menos que se conozca su estructura exacta. A veces, no solo se desea agregar contenido personalizado, sino **analizar y reemplazar partes** del documento existente. \ El problema de reemplazar texto en archivos PostScript se puede reducir al **problema de extraer cadenas** del documento renderizado. Esto no es trivial, porque las cadenas pueden ser construidas dinámicamente por el programa PostScript en sí mismo. Por lo tanto, el análisis y reemplazo simple dentro del código fuente del documento no es una opción. \ Se puede usar un **operador `show` redefinido**. El operador show acepta una cadena como entrada, que se pinta en una ubicación determinada de la página actual. Al redefinir el operador, se puede **extraer** el **texto** de manera elegante. Este enfoque también se puede utilizar para la **búsqueda y reemplazo** dirigidos en cadenas inmediatamente **antes** de que sean **pintadas**. \ El enfoque es **exitoso** para documentos PostScript basados en **LaTeX** que se envían directamente a la impresora, mientras que **falla** para archivos PostScript generados por **GIMP** que en lugar de cadenas **crean gráficos rasterizados** de su representación. El mismo problema ocurre para cualquier formato de documento, incluso PostScript en sí, cuando se procesa mediante CUPS. Teóricamente, dichas construcciones de lenguaje también podrían ser analizadas y deberían ser objeto de investigación adicional. **¿Cómo probar este ataque?** Use el comando `replace` de **PRET** en modo ps, luego desconéctese e imprima un documento PostScript que contenga 'DEF': ``` ./pret.py -q printer ps Connection to printer established Welcome to the pret shell. Type help or ? to list commands. printer:/> replace "ABC" "DEF" printer:/> exit ```
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! - Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) - Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) - **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** - **Comparte tus trucos de hacking enviando PRs al repositorio [hacktricks](https://github.com/carlospolop/hacktricks) y al repositorio [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.