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

4.6 KiB

Seguridad de ImageMagick

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Consulta más detalles en 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 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.

...
<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:

$ 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 mencionada anteriormente se puede utilizar para refinar la política según las necesidades individuales.

Referencias