
Détecter les images qui exploitent probablement CVE-2022-44268
cve-2022-44268-detector est un programme Go qui consomme des PNG et indique s'ils semblent être des images malveillantes générées par une exploitation de CVE-2022-44268, une vulnérabilité d'ImageMagick qui permet à des attaquants de lire le contenu de fichiers arbitraires à l'aide d'images spécialement conçues.
Pour installer cve-2022-44268-detector, utilisez go install :
$ go install github.com/jnschaeffer/cve-2022-44268-detector@latest
Soyez prudent lorsque vous travaillez avec des données non fiables. Un attaquant peut créer un chunk png pouvant contenir des données non-zlib (comme un script shell, ou du code qui exploite un bug dans votre flux de détection). Écrire accidentellement du code fourni par un attaquant dans un terminal ou un shell peut entraîner l'exécution de code malveillant. Il est fortement recommandé d'exécuter le détecteur dans une machine virtuelle ou un environnement de calcul isolé pour atténuer ces défaillances de sécurité.
cve-2022-44268-detector est une application en ligne de commande. Vous pouvez l'exécuter comme suit :
$ cve-2022-44268-detector -filename image.png
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
Les utilisateurs peuvent éventuellement afficher le contenu de chaque chunk exfiltré sur stdout
en fournissant l'argument -print. Veuillez noter que la valeur de chaque chunk est
probablement des données binaires compressées en zlib (c'est-à-dire non lisibles par un humain). Il est
fortement conseillé aux utilisateurs de rediriger ces données vers un fichier.
Remarque : soyez très prudent lorsque vous utilisez -print. Des pngs non fiables peuvent contenir des données
qui, si elles sont exposées à un terminal ou à un shell, pourraient être interprétées comme du code
exécutable. Veuillez prendre les mesures de précaution appropriées lors de l'utilisation de cette fonctionnalité.
L'argument -print accepte les valeurs suivantes :
raw - Écrit la valeur du chunk telle quelle sur stdoutdecompress - Décompresse la valeur du chunk avant de l'écrire sur stdoutdecompress-hexdecode - Décompresse et décode en hexadécimal la valeur du chunk
avant de l'écrire sur stdout. ImageMagick semble d'abord encoder en hexadécimal
puis compresser les données à l'aide de la compression zlib$ cve-2022-44268-detector -filename image.png -print raw > /tmp/out
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
$ hexdump -C /tmp/out