hacktricks/network-services-pentesting/pentesting-web/imagemagick-security.md

49 lines
4.6 KiB
Markdown

# Seguridad de ImageMagick
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto 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 deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
Consulta más detalles en [**https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
ImageMagick, una versátil biblioteca de procesamiento de imágenes, presenta un desafío en la configuración de su política de seguridad debido a sus extensas opciones y la falta de documentación detallada en línea. Los usuarios a menudo crean políticas basadas en fuentes de internet fragmentadas, lo que puede llevar a posibles configuraciones incorrectas. La biblioteca admite una amplia gama de más de 100 formatos de imagen, lo que contribuye a su complejidad y perfil de vulnerabilidad, como lo demuestran incidentes de seguridad históricos.
## Hacia Políticas Más Seguras
Para abordar estos desafíos, se ha desarrollado una [herramienta](https://imagemagick-secevaluator.doyensec.com/) para ayudar en el diseño y auditoría de las políticas de seguridad de ImageMagick. Esta herramienta se basa en una investigación extensa y tiene como objetivo garantizar que las políticas no solo sean sólidas, sino también libres de lagunas que podrían ser explotadas.
## Enfoque de Lista de Permitidos vs Lista de Denegados
Históricamente, las políticas de ImageMagick se basaban en un enfoque de lista de denegados, donde se denegaba el acceso a codificadores específicos. Sin embargo, los cambios en ImageMagick 6.9.7-7 cambiaron este paradigma, permitiendo un enfoque de lista de permitidos. Este enfoque primero niega el acceso a todos los codificadores y luego otorga selectivamente acceso a los confiables, mejorando la postura de seguridad.
```xml
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...
```
## Sensibilidad a mayúsculas en las políticas
Es crucial tener en cuenta que los patrones de políticas en ImageMagick distinguen entre mayúsculas y minúsculas. Por lo tanto, es vital asegurarse de que los codificadores y módulos estén correctamente en mayúsculas en las políticas para evitar permisos no deseados.
## Límites de recursos
ImageMagick es propenso a ataques de denegación de servicio si no se configura correctamente. Establecer límites de recursos explícitos en la política es esencial para prevenir tales vulnerabilidades.
## Fragmentación de políticas
Las políticas pueden estar fragmentadas en diferentes instalaciones de ImageMagick, lo que puede provocar conflictos o anulaciones potenciales. Se recomienda localizar y verificar los archivos de políticas activos utilizando comandos como:
```shell
$ find / -iname policy.xml
```
## Una política inicial restrictiva
Se ha propuesto una plantilla de política restrictiva, centrándose en limitaciones estrictas de recursos y controles de acceso. Esta plantilla sirve como base para desarrollar políticas personalizadas que se alineen con los requisitos específicos de la aplicación.
La efectividad de una política de seguridad se puede confirmar utilizando el comando `identify -list policy` en ImageMagick. Además, la [herramienta de evaluación](https://imagemagick-secevaluator.doyensec.com/) mencionada anteriormente se puede utilizar para refinar la política según las necesidades individuales.
## Referencias
* [https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)