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

67 lines
5.6 KiB
Markdown

# Seguridad de ImageMagick
{% hint style="success" %}
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoya a HackTricks</summary>
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>
{% endhint %}
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 amplias opciones y la falta de documentación detallada en línea. Los usuarios a menudo crean políticas basadas en fuentes fragmentadas de internet, lo que lleva a posibles configuraciones incorrectas. La biblioteca admite una vasta gama de más de 100 formatos de imagen, cada uno contribuyendo a su complejidad y perfil de vulnerabilidad, como lo demuestran los 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 extensa investigación y tiene como objetivo garantizar que las políticas no solo sean robustas, sino también libres de lagunas que puedan ser explotadas.
## Enfoque de Lista Permitida vs Lista Denegada
Históricamente, las políticas de ImageMagick se basaban en un enfoque de lista denegada, donde se negaba el acceso a codificadores específicos. Sin embargo, los cambios en ImageMagick 6.9.7-7 cambiaron este paradigma, permitiendo un enfoque de lista permitida. Este enfoque primero niega el acceso a todos los codificadores y luego otorga acceso selectivamente a los de confianza, 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 Políticas
Es crucial notar que los patrones de políticas en ImageMagick son sensibles a mayúsculas. Como tal, asegurar que los codificadores y módulos estén correctamente en mayúsculas en las políticas es vital para prevenir permisos no intencionados.
## Límites de Recursos
ImageMagick es propenso a ataques de denegación de servicio si no está configurado 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 a través de diferentes instalaciones de ImageMagick, lo que lleva a posibles conflictos o sobrescrituras. 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, centrada en limitaciones de recursos estrictas 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 evaluadora](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)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}