hacktricks/network-services-pentesting/pentesting-web/imagemagick-security.md
2024-02-10 21:30:13 +00:00

5.6 KiB

ImageMagick 보안

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html에서 자세한 내용을 확인하세요.

ImageMagick은 다양한 이미지 처리 라이브러리로, 상세한 온라인 문서가 부족하고 다양한 옵션을 제공하기 때문에 보안 정책을 구성하는 데 어려움을 겪습니다. 사용자들은 종종 단편적인 인터넷 소스를 기반으로 정책을 작성하며, 이로 인해 잠재적인 잘못된 구성이 발생할 수 있습니다. 이 라이브러리는 100개 이상의 이미지 형식을 지원하며, 각각이 복잡성과 취약성을 증가시키는데 기여하며, 이는 과거의 보안 사고로 입증되었습니다.

더 안전한 정책을 위해

이러한 도전에 대응하기 위해 도구가 개발되었습니다, 이 도구는 ImageMagick의 보안 정책을 설계하고 감사하는 데 도움을 줍니다. 이 도구는 광범위한 연구에 기반하며, 정책이 견고하고 악용 가능한 구멍이 없도록 보장하는 것을 목표로 합니다.

허용 목록 vs 거부 목록 접근 방식

과거에는 ImageMagick 정책이 특정 코더의 액세스를 거부하는 거부 목록 접근 방식을 사용했습니다. 그러나 ImageMagick 6.9.7-7에서 변경되어 허용 목록 접근 방식이 가능해졌습니다. 이 접근 방식은 먼저 모든 코더의 액세스를 거부한 후 신뢰할 수 있는 코더에게 선택적으로 액세스 권한을 부여하여 보안을 강화합니다.

...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...

정책에서의 대소문자 구분

ImageMagick의 정책 패턴은 대소문자를 구분하는 것이 중요합니다. 따라서, 정책에서 올바르게 대문자로 표기된 코드와 모듈을 사용하여 의도하지 않은 권한 부여를 방지하는 것이 중요합니다.

자원 제한

ImageMagick은 적절하게 구성되지 않으면 서비스 거부 공격에 취약합니다. 정책에서 명시적인 자원 제한을 설정하는 것은 이러한 취약점을 방지하기 위해 필수적입니다.

정책 분할

정책은 다른 ImageMagick 설치 사이에서 분할될 수 있으며, 이는 잠재적인 충돌이나 무시를 일으킬 수 있습니다. locate와 같은 명령을 사용하여 활성 정책 파일을 찾고 확인하는 것이 권장됩니다.

$ find / -iname policy.xml

시작용, 제한적인 정책

엄격한 자원 제한과 접근 제어에 초점을 맞춘 제한적인 정책 템플릿이 제안되었습니다. 이 템플릿은 특정 애플리케이션 요구에 맞는 맞춤형 정책을 개발하기 위한 기준으로 사용됩니다.

보안 정책의 효과는 ImageMagick의 identify -list policy 명령을 사용하여 확인할 수 있습니다. 또한, 앞서 언급한 평가 도구를 사용하여 개별적인 요구에 기반하여 정책을 개선할 수 있습니다.

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법: