# Segurança do ImageMagick

<details>

<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

Outras formas de apoiar o HackTricks:

* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.

</details>

Verifique mais detalhes em [**https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)

O ImageMagick, uma biblioteca versátil de processamento de imagens, apresenta um desafio na configuração de sua política de segurança devido às suas extensas opções e à falta de documentação online detalhada. Os usuários frequentemente criam políticas com base em fontes de internet fragmentadas, levando a possíveis configurações incorretas. A biblioteca suporta uma vasta gama de mais de 100 formatos de imagem, cada um contribuindo para sua complexidade e perfil de vulnerabilidade, como demonstrado por incidentes de segurança históricos.

## Rumo a Políticas Mais Seguras
Para enfrentar esses desafios, uma [ferramenta foi desenvolvida](https://imagemagick-secevaluator.doyensec.com/) para auxiliar no design e auditoria das políticas de segurança do ImageMagick. Esta ferramenta é baseada em extensa pesquisa e tem como objetivo garantir que as políticas sejam não apenas robustas, mas também livres de brechas que poderiam ser exploradas.

## Abordagem de Lista de Permissões vs Lista de Bloqueios
Historicamente, as políticas do ImageMagick dependiam de uma abordagem de lista de bloqueios, onde codificadores específicos tinham o acesso negado. No entanto, mudanças no ImageMagick 6.9.7-7 alteraram esse paradigma, permitindo uma abordagem de lista de permissões. Esta abordagem primeiro nega o acesso a todos os codificadores e, em seguida, concede seletivamente acesso aos confiáveis, aprimorando a postura de segurança.
```xml
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...
```
## Sensibilidade a Maiúsculas nas Políticas
É crucial notar que os padrões de políticas no ImageMagick são sensíveis a maiúsculas. Portanto, garantir que os codificadores e módulos estejam corretamente em maiúsculas nas políticas é vital para evitar permissões não intencionais.

## Limites de Recursos
O ImageMagick é propenso a ataques de negação de serviço se não estiver configurado corretamente. Definir limites de recursos explícitos na política é essencial para prevenir tais vulnerabilidades.

## Fragmentação de Políticas
As políticas podem estar fragmentadas em diferentes instalações do ImageMagick, levando a conflitos ou substituições potenciais. É recomendado localizar e verificar os arquivos de políticas ativas usando comandos como:
```shell
$ find / -iname policy.xml
```
## Uma Política Inicial Restritiva
Foi proposto um modelo de política restritiva, focando em limitações rigorosas de recursos e controles de acesso. Este modelo serve como base para o desenvolvimento de políticas personalizadas que estejam alinhadas com requisitos específicos de aplicativos.

A eficácia de uma política de segurança pode ser confirmada usando o comando `identify -list policy` no ImageMagick. Além disso, a [ferramenta de avaliação](https://imagemagick-secevaluator.doyensec.com/) mencionada anteriormente pode ser usada para refinar a política com base em necessidades individuais.

## Referências
* [https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)