mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-03 18:10:07 +00:00
67 lines
5.7 KiB
Markdown
67 lines
5.7 KiB
Markdown
# ImageMagick-Sicherheit
|
|
|
|
{% hint style="success" %}
|
|
Lernen & üben Sie 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">\
|
|
Lernen & üben Sie 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)
|
|
|
|
<details>
|
|
|
|
<summary>Unterstützen Sie HackTricks</summary>
|
|
|
|
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
Überprüfen Sie weitere Details in [**https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
|
|
|
|
ImageMagick, eine vielseitige Bildverarbeitungsbibliothek, stellt eine Herausforderung bei der Konfiguration ihrer Sicherheitsrichtlinien dar, aufgrund ihrer umfangreichen Optionen und des Mangels an detaillierter Online-Dokumentation. Benutzer erstellen oft Richtlinien basierend auf fragmentierten Internetquellen, was zu potenziellen Fehlkonfigurationen führen kann. Die Bibliothek unterstützt eine Vielzahl von über 100 Bildformaten, die jeweils zu ihrer Komplexität und ihrem Schwachstellenprofil beitragen, wie historische Sicherheitsvorfälle zeigen.
|
|
|
|
## Auf dem Weg zu sichereren Richtlinien
|
|
Um diese Herausforderungen anzugehen, wurde ein [Tool entwickelt](https://imagemagick-secevaluator.doyensec.com/), um bei der Gestaltung und Prüfung der Sicherheitsrichtlinien von ImageMagick zu helfen. Dieses Tool basiert auf umfangreicher Forschung und zielt darauf ab, sicherzustellen, dass die Richtlinien nicht nur robust, sondern auch frei von Schlupflöchern sind, die ausgenutzt werden könnten.
|
|
|
|
## Allowlist- vs. Denylist-Ansatz
|
|
Historisch gesehen basierten die ImageMagick-Richtlinien auf einem Denylist-Ansatz, bei dem bestimmten Codierern der Zugang verweigert wurde. Änderungen in ImageMagick 6.9.7-7 verschoben jedoch dieses Paradigma und ermöglichten einen Allowlist-Ansatz. Dieser Ansatz verweigert zunächst allen Codierern den Zugang und gewährt dann selektiv vertrauenswürdigen Codierern Zugang, was die Sicherheitslage verbessert.
|
|
```xml
|
|
...
|
|
<policy domain="coder" rights="none" pattern="*" />
|
|
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
|
|
...
|
|
```
|
|
## Groß- und Kleinschreibung in Richtlinien
|
|
Es ist wichtig zu beachten, dass Richtlinienmuster in ImageMagick groß- und kleinschreibungsempfindlich sind. Daher ist es entscheidend, dass Programmierer und Module in den Richtlinien korrekt großgeschrieben werden, um unbeabsichtigte Berechtigungen zu verhindern.
|
|
|
|
## Ressourcenlimits
|
|
ImageMagick ist anfällig für Denial-of-Service-Angriffe, wenn es nicht richtig konfiguriert ist. Das Festlegen expliziter Ressourcenlimits in der Richtlinie ist entscheidend, um solche Schwachstellen zu verhindern.
|
|
|
|
## Richtlinienfragmentierung
|
|
Richtlinien können über verschiedene ImageMagick-Installationen fragmentiert sein, was zu potenziellen Konflikten oder Überschreibungen führen kann. Es wird empfohlen, die aktiven Richtliniendateien mit Befehlen wie: zu lokalisieren und zu überprüfen:
|
|
```shell
|
|
$ find / -iname policy.xml
|
|
```
|
|
## Eine Einsteiger-, Restriktive Richtlinie
|
|
Eine restriktive Richtlinienevorlage wurde vorgeschlagen, die sich auf strenge Ressourcenbeschränkungen und Zugangskontrollen konzentriert. Diese Vorlage dient als Grundlage für die Entwicklung maßgeschneiderter Richtlinien, die mit den spezifischen Anforderungen der Anwendung übereinstimmen.
|
|
|
|
Die Wirksamkeit einer Sicherheitsrichtlinie kann mit dem Befehl `identify -list policy` in ImageMagick bestätigt werden. Darüber hinaus kann das zuvor erwähnte [evaluator tool](https://imagemagick-secevaluator.doyensec.com/) verwendet werden, um die Richtlinie basierend auf individuellen Bedürfnissen zu verfeinern.
|
|
|
|
## Referenzen
|
|
* [https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
|
|
|
|
|
|
|
|
{% 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)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* 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.
|
|
|
|
</details>
|
|
{% endhint %}
|