hacktricks/network-services-pentesting/pentesting-web/imagemagick-security.md

66 lines
5.6 KiB
Markdown
Raw Normal View History

2024-02-10 21:30:13 +00:00
# ImageMagick 보안
2023-01-16 14:53:23 +00:00
<details>
2024-02-10 21:30:13 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2024-02-03 12:22:53 +00:00
2024-02-10 21:30:13 +00:00
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
* **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github 저장소에 PR을 제출**하세요.
2023-01-16 14:53:23 +00:00
</details>
2024-02-10 21:30:13 +00:00
[**https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)에서 자세한 내용을 확인하세요.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
ImageMagick은 다양한 이미지 처리 라이브러리로, 상세한 온라인 문서가 부족하고 다양한 옵션을 제공하기 때문에 보안 정책을 구성하는 데 어려움을 겪습니다. 사용자들은 종종 단편적인 인터넷 소스를 기반으로 정책을 작성하며, 이로 인해 잠재적인 잘못된 구성이 발생할 수 있습니다. 이 라이브러리는 100개 이상의 이미지 형식을 지원하며, 각각이 복잡성과 취약성을 증가시키는데 기여하며, 이는 과거의 보안 사고로 입증되었습니다.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
## 더 안전한 정책을 위해
이러한 도전에 대응하기 위해 [도구가 개발되었습니다](https://imagemagick-secevaluator.doyensec.com/), 이 도구는 ImageMagick의 보안 정책을 설계하고 감사하는 데 도움을 줍니다. 이 도구는 광범위한 연구에 기반하며, 정책이 견고하고 악용 가능한 구멍이 없도록 보장하는 것을 목표로 합니다.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
## 허용 목록 vs 거부 목록 접근 방식
과거에는 ImageMagick 정책이 특정 코더의 액세스를 거부하는 거부 목록 접근 방식을 사용했습니다. 그러나 ImageMagick 6.9.7-7에서 변경되어 허용 목록 접근 방식이 가능해졌습니다. 이 접근 방식은 먼저 모든 코더의 액세스를 거부한 후 신뢰할 수 있는 코더에게 선택적으로 액세스 권한을 부여하여 보안을 강화합니다.
2023-01-16 14:53:23 +00:00
```xml
2024-02-10 21:30:13 +00:00
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...
2023-01-16 14:53:23 +00:00
```
2024-02-10 21:30:13 +00:00
## 정책에서의 대소문자 구분
ImageMagick의 정책 패턴은 대소문자를 구분하는 것이 중요합니다. 따라서, 정책에서 올바르게 대문자로 표기된 코드와 모듈을 사용하여 의도하지 않은 권한 부여를 방지하는 것이 중요합니다.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
## 자원 제한
ImageMagick은 적절하게 구성되지 않으면 서비스 거부 공격에 취약합니다. 정책에서 명시적인 자원 제한을 설정하는 것은 이러한 취약점을 방지하기 위해 필수적입니다.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
## 정책 분할
정책은 다른 ImageMagick 설치 사이에서 분할될 수 있으며, 이는 잠재적인 충돌이나 무시를 일으킬 수 있습니다. `locate`와 같은 명령을 사용하여 활성 정책 파일을 찾고 확인하는 것이 권장됩니다.
2024-02-04 10:58:49 +00:00
```shell
2023-01-16 14:53:23 +00:00
$ find / -iname policy.xml
```
2024-02-10 21:30:13 +00:00
## 시작용, 제한적인 정책
엄격한 자원 제한과 접근 제어에 초점을 맞춘 제한적인 정책 템플릿이 제안되었습니다. 이 템플릿은 특정 애플리케이션 요구에 맞는 맞춤형 정책을 개발하기 위한 기준으로 사용됩니다.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
보안 정책의 효과는 ImageMagick의 `identify -list policy` 명령을 사용하여 확인할 수 있습니다. 또한, 앞서 언급한 [평가 도구](https://imagemagick-secevaluator.doyensec.com/)를 사용하여 개별적인 요구에 기반하여 정책을 개선할 수 있습니다.
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
## 참고 자료
2024-02-04 10:58:49 +00:00
* [https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
2023-01-16 14:53:23 +00:00
<details>
2024-02-10 21:30:13 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
2023-01-16 14:53:23 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2024-02-03 12:22:53 +00:00
2024-02-10 21:30:13 +00:00
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 구매하세요.
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
2023-01-16 14:53:23 +00:00
</details>