
Detecta imagens que provavelmente exploram CVE-2022-44268
cve-2022-44268-detector é um programa em Go que consome PNGs e informa se eles aparentam ser imagens maliciosas geradas por um exploit para CVE-2022-44268, uma vulnerabilidade do ImageMagick que permite que atacantes leiam conteúdos arbitrários de arquivos usando imagens especialmente criadas.
Para instalar o cve-2022-44268-detector, use go install:
$ go install github.com/jnschaeffer/cve-2022-44268-detector@latest
Por favor, tenha cuidado ao trabalhar com dados não confiáveis. Um atacante pode criar um chunk png que pode conter dados não-zlib (como um script shell, ou código que explora um bug no seu fluxo de detecção). Escrever acidentalmente código fornecido pelo atacante em um terminal ou shell pode resultar na execução de código malicioso. É fortemente recomendado que o detector seja executado em uma máquina virtual ou ambiente de computação isolado para ajudar a mitigar tais falhas de segurança.
cve-2022-44268-detector é uma aplicação de linha de comando. Você pode executá-la da seguinte forma:
$ cve-2022-44268-detector -filename image.png
***POTENCIAL INDICADOR DE COMPROMETIMENTO*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
Os usuários podem, opcionalmente, exibir o conteúdo de cada chunk exfiltrado na saída padrão
fornecendo o argumento -print. Observe que o valor de cada chunk é
provavelmente dados binários compactados com zlib (ou seja, não legíveis por humanos). Os usuários são
fortemente aconselhados a redirecionar esses dados para um arquivo.
Nota: Tenha muito cuidado ao usar -print. PNGs não confiáveis podem conter dados
que, se expostos a um terminal ou shell, podem ser interpretados como código
executável. Por favor, tome as devidas precauções ao usar este recurso.
O argumento -print aceita os seguintes valores:
raw - Escreve o valor do chunk como está na saída padrãodecompress - Descompacta o valor do chunk antes de escrevê-lo na saída padrãodecompress-hexdecode - Descompacta e decodifica hexadecimal o valor do chunk
antes de escrevê-lo na saída padrão. O ImageMagick parece primeiro codificar em hexadecimal
e depois compactar os dados usando compressão zlib$ cve-2022-44268-detector -filename image.png -print raw > /tmp/out
***POTENCIAL INDICADOR DE COMPROMETIMENTO*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
$ hexdump -C /tmp/out