
Rileva immagini che probabilmente sfruttano CVE-2022-44268
cve-2022-44268-detector è un programma Go che analizza PNG e segnala se sembrano essere immagini malevole generate da un exploit per CVE-2022-44268, una vulnerabilità di ImageMagick che consente agli attaccanti di leggere contenuti arbitrari di file utilizzando immagini appositamente create.
Per installare cve-2022-44268-detector, usa go install:
$ go install github.com/jnschaeffer/cve-2022-44268-detector@latest
Presta molta attenzione quando lavori con dati non fidati. Un attaccante può creare un chunk png che potrebbe contenere dati non zlib (come uno script shell o codice che sfrutta un bug nel tuo flusso di rilevamento). Scrivere accidentalmente codice fornito dall'attaccante in un terminale o in una shell può portare all'esecuzione di codice malevolo. Si consiglia vivamente di eseguire il rilevatore in una macchina virtuale o in un ambiente di calcolo isolato per mitigare tali fallimenti di sicurezza.
cve-2022-44268-detector è un'applicazione a riga di comando. Puoi eseguirla come segue:
$ cve-2022-44268-detector -filename image.png
***POTENZIALE INDICATORE DI COMPROMISSIONE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
Gli utenti possono opzionalmente inviare a stdout il contenuto di ogni chunk esfiltrato fornendo l'argomento -print. Si prega di notare che il valore di ogni chunk è probabilmente dati binari compressi con zlib (cioè non leggibili dall'uomo). Si consiglia vivamente di reindirizzare questi dati a un file.
Nota: fai molta attenzione quando usi -print. PNG non fidati possono contenere dati che, se esposti a un terminale o a una shell, potrebbero essere interpretati come codice eseguibile. Si prega di prendere le opportune precauzioni quando si utilizza questa funzionalità.
L'argomento -print accetta i seguenti valori:
raw - Scrive il valore del chunk così com'è su stdoutdecompress - Decomprime il valore del chunk prima di scriverlo su stdoutdecompress-hexdecode - Decomprime e decodifica esadecimalmente il valore del chunk prima di scriverlo su stdout. ImageMagick sembra prima codificare in esadecimale e poi comprimere i dati usando la compressione zlib$ cve-2022-44268-detector -filename image.png -print raw > /tmp/out
***POTENZIALE INDICATORE DI COMPROMISSIONE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
$ hexdump -C /tmp/out