5.9 KiB
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
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!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.
Superposición de Contenido
Una forma sencilla de manipular la apariencia de las impresiones es usar superposiciones.
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 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
.
¿Cómo probar este ataque?
Usa los comandos cross
o overlay
de 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 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
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
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!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sigueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github HackTricks y HackTricks Cloud.