
CVE-2022-44268을 악용할 가능성이 있는 이미지를 탐지합니다.
cve-2022-44268-detector는 PNG를 입력받아 CVE-2022-44268 악용으로 생성된 악성 이미지로 보이는지 여부를 보고하는 Go 프로그램입니다. CVE-2022-44268은 특수하게 제작된 이미지를 사용해 공격자가 임의의 파일 내용을 읽을 수 있게 하는 ImageMagick 취약점입니다.
cve-2022-44268-detector를 설치하려면 go install을 사용하세요:
$ go install github.com/jnschaeffer/cve-2022-44268-detector@latest
신뢰할 수 없는 데이터를 다룰 때는 주의하십시오. 공격자는 zlib 데이터가 아닌 내용(예: 셸 스크립트 또는 탐지 워크플로의 버그를 악용하는 코드)을 포함할 수 있는 png 청크를 조작할 수 있습니다. 공격자가 제공한 코드를 실수로 터미널이나 셸에 쓰게 되면 악성 코드가 실행될 수 있습니다. 이러한 보안 실패를 완화하려면 탐지기를 가상 머신이나 격리된 컴퓨팅 환경에서 실행할 것을 강력히 권장합니다.
cve-2022-44268-detector는 명령줄 애플리케이션입니다. 다음과 같이 실행할 수 있습니다:
$ cve-2022-44268-detector -filename image.png
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
사용자는 선택적으로 -print 인수를 지정하여 각 유출 청크의 내용을 stdout으로
출력할 수 있습니다. 유의하세요 각 청크의 값은
이진, zlib 압축 데이터일 가능성이 높습니다(즉, 사람이 읽을 수 있는 형태가 아님). 사용자는
이 데이터를 파일로 리다이렉트할 것을 강력히 권장합니다.
참고: -print 사용 시 매우 주의하십시오. 신뢰할 수 없는 png에는 터미널이나 셸에
노출될 경우 실행 가능한 코드로 해석될 수 있는 데이터가 포함될 수 있습니다.
이 기능을 사용할 때는 적절한 예방 조치를 취하십시오.
-print 인수는 다음 값을 허용합니다:
raw - 청크의 값을 그대로 stdout에 씁니다decompress - 청크의 값을 stdout에 쓰기 전에 압축 해제합니다decompress-hexdecode - 청크의 값을 압축 해제하고 hex 디코딩한 후
stdout에 씁니다. ImageMagick은 먼저 hex 인코딩을 수행한 다음
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