Segurança do ImageMagick

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

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

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 detalhada online. Os usuários frequentemente criam políticas com base em fontes fragmentadas da internet, 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 para ajudar no design e auditoria das políticas de segurança do ImageMagick. Esta ferramenta é baseada em extensa pesquisa e visa garantir que as políticas não sejam apenas robustas, mas também livres de brechas que possam ser exploradas.

Abordagem de Lista de Permissão vs Lista de Negação

Historicamente, as políticas do ImageMagick dependiam de uma abordagem de lista de negação, onde codificadores específicos eram negados acesso. No entanto, mudanças no ImageMagick 6.9.7-7 mudaram esse paradigma, permitindo uma abordagem de lista de permissão. Essa abordagem primeiro nega todos os codificadores e, em seguida, concede acesso seletivamente aos confiáveis, melhorando 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 em Políticas

É crucial notar que os padrões de política no ImageMagick são sensíveis a maiúsculas. Assim, garantir que os codificadores e módulos estejam corretamente escritos em maiúsculas nas políticas é vital para evitar permissões indesejadas.

Limites de Recursos

O ImageMagick é suscetível 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 potenciais conflitos ou substituições. É recomendável localizar e verificar os arquivos de política ativos usando comandos como:

shell
$ find / -iname policy.xml

Uma Política Restritiva para Iniciantes

Um modelo de política restritiva foi proposto, focando em limitações rigorosas de recursos e controles de acesso. Este modelo serve como uma base para desenvolver políticas personalizadas que se alinhem com os requisitos específicos da aplicação.

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 avaliadora mencionada anteriormente pode ser usada para refinar a política com base nas necessidades individuais.

Referências

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks