mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-30 08:30:57 +00:00
68 lines
5.9 KiB
Markdown
68 lines
5.9 KiB
Markdown
<details>
|
||
|
||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Otras formas de apoyar a HackTricks:
|
||
|
||
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|
||
|
||
|
||
# Superposición de Contenido
|
||
|
||
Una forma sencilla de manipular la apariencia de las impresiones es **usar** superposiciones. \
|
||
[**PCL**](./#pcl) tiene una función documentada para colocar **macros de superposición** encima de un documento. Desafortunadamente, esta característica está **limitada al trabajo de impresión actual** y no puede hacerse permanente. \
|
||
[**PostScript**](./#postscript-ps) no ofrece tal funcionalidad por defecto, sin embargo, se puede programar **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 a imprimir con un archivo EPS personalizado. Este hack puede usarse para **añadir gráficos o fuentes arbitrarios a copias impresas de un documento** (Es posible alterar completamente la apariencia de un documento superponiendo una página en blanco y luego añadiendo contenido personalizado).\
|
||
Obviamente, tal enfoque solo puede tener éxito si se usa PostScript como controlador de impresora y no se ha establecido una `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 colocar 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 uno no solo quiere 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 propio programa PostScript. Por lo tanto, el análisis y reemplazo simple dentro del código fuente del documento no es una opción.\
|
||
Puedes 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, el **texto** puede ser **extraído** de manera elegante. Este enfoque también se puede utilizar para **buscar y reemplazar** de manera dirigida 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 **falla** para archivos PostScript generados por **GIMP** que en lugar de cadenas **crea gráficos rasterizados** de su representación. El mismo problema ocurre para cualquier formato de documento – incluso el propio PostScript – cuando es procesado por CUPS. Teóricamente, tales construcciones de lenguaje también podrían ser analizadas y deberían ser objeto de futuras investigaciones.
|
||
|
||
**¿Cómo probar este ataque?**
|
||
|
||
Usa el comando `replace` de [**PRET**](https://github.com/RUB-NDS/PRET) en modo ps, luego desconecta e imprime 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
|
||
```
|
||
<details>
|
||
|
||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Otras formas de apoyar a HackTricks:
|
||
|
||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue**me en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|