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

68 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
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2023-01-16 14:53:23 +00:00
<details>
2023-01-16 14:53:23 +00:00
<summary>HackTricks 지원하기</summary>
2024-02-03 12:22:53 +00:00
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
2023-01-16 14:53:23 +00:00
</details>
{% endhint %}
2023-01-16 14:53:23 +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
다재다능한 이미지 처리 라이브러리인 ImageMagick은 방대한 옵션과 상세한 온라인 문서의 부족으로 인해 보안 정책 구성에 어려움을 겪고 있습니다. 사용자들은 종종 단편적인 인터넷 소스를 기반으로 정책을 생성하여 잠재적인 잘못된 구성을 초래합니다. 이 라이브러리는 100개 이상의 이미지 형식을 지원하며, 각 형식은 복잡성과 취약성 프로필에 기여하며, 이는 역사적인 보안 사건에 의해 입증되었습니다.
2023-01-16 14:53:23 +00:00
## 더 안전한 정책을 향하여
이러한 문제를 해결하기 위해 [도구가 개발되었습니다](https://imagemagick-secevaluator.doyensec.com/) ImageMagick의 보안 정책 설계 및 감사에 도움을 주기 위해. 이 도구는 광범위한 연구에 기반하고 있으며, 정책이 강력할 뿐만 아니라 악용될 수 있는 허점이 없도록 하는 것을 목표로 합니다.
2023-01-16 14:53:23 +00:00
## 허용 목록 대 거부 목록 접근 방식
역사적으로 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
```
## 정책의 대소문자 구분
ImageMagick의 정책 패턴은 대소문자를 구분한다는 점을 주의해야 한다. 따라서, 정책에서 코더와 모듈이 올바르게 대문자로 설정되어 있는지 확인하는 것이 의도하지 않은 권한을 방지하는 데 중요하다.
2023-01-16 14:53:23 +00:00
## 리소스 제한
ImageMagick은 적절하게 구성되지 않으면 서비스 거부 공격에 취약하다. 이러한 취약점을 방지하기 위해 정책에서 명시적인 리소스 제한을 설정하는 것이 필수적이다.
2023-01-16 14:53:23 +00:00
## 정책 단편화
정책이 서로 다른 ImageMagick 설치 간에 단편화될 수 있어 잠재적인 충돌이나 덮어쓰기가 발생할 수 있다. 다음과 같은 명령을 사용하여 활성 정책 파일을 찾고 확인하는 것이 권장된다:
2024-02-04 10:58:49 +00:00
```shell
2023-01-16 14:53:23 +00:00
$ find / -iname policy.xml
```
## 시작, 제한적인 정책
제한적인 정책 템플릿이 제안되었으며, 이는 엄격한 자원 제한 및 접근 제어에 중점을 두고 있습니다. 이 템플릿은 특정 애플리케이션 요구 사항에 맞춘 맞춤형 정책 개발을 위한 기준선 역할을 합니다.
2023-01-16 14:53:23 +00:00
보안 정책의 효과는 ImageMagick에서 `identify -list policy` 명령어를 사용하여 확인할 수 있습니다. 또한, 앞서 언급한 [evaluator tool](https://imagemagick-secevaluator.doyensec.com/)을 사용하여 개별 요구 사항에 따라 정책을 개선할 수 있습니다.
2023-01-16 14:53:23 +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
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2023-01-16 14:53:23 +00:00
<details>
2023-01-16 14:53:23 +00:00
<summary>Support HackTricks</summary>
2024-02-03 12:22:53 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2023-01-16 14:53:23 +00:00
</details>
{% endhint %}