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

67 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ImageMagick Security
{% 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 %}
Check further 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, μια πολυδιάστατη βιβλιοθήκη επεξεργασίας εικόνας, παρουσιάζει μια πρόκληση στη διαμόρφωση της πολιτικής ασφάλειας λόγω των εκτενών επιλογών του και της έλλειψης λεπτομερούς διαδικτυακής τεκμηρίωσης. Οι χρήστες συχνά δημιουργούν πολιτικές βασισμένες σε αποσπασματικές πηγές στο διαδίκτυο, οδηγώντας σε πιθανές κακοδιαμορφώσεις. Η βιβλιοθήκη υποστηρίζει μια τεράστια γκάμα άνω των 100 μορφών εικόνας, καθεμία από τις οποίες συμβάλλει στην πολυπλοκότητα και το προφίλ ευπάθειας της, όπως αποδεικνύεται από ιστορικά περιστατικά ασφάλειας.
## Towards Safer Policies
Για να αντιμετωπιστούν αυτές οι προκλήσεις, έχει αναπτυχθεί ένα [εργαλείο](https://imagemagick-secevaluator.doyensec.com/) για να βοηθήσει στο σχεδιασμό και την επιθεώρηση των πολιτικών ασφάλειας του ImageMagick. Αυτό το εργαλείο βασίζεται σε εκτενή έρευνα και στοχεύει να διασφαλίσει ότι οι πολιτικές είναι όχι μόνο ισχυρές αλλά και χωρίς παραθυράκια που θα μπορούσαν να εκμεταλλευτούν.
## Allowlist vs Denylist Approach
Ιστορικά, οι πολιτικές του ImageMagick βασίζονταν σε μια προσέγγιση denylist, όπου συγκεκριμένοι κωδικοποιητές αποκλείονταν. Ωστόσο, οι αλλαγές στο ImageMagick 6.9.7-7 άλλαξαν αυτό το παράδειγμα, επιτρέποντας μια προσέγγιση allowlist. Αυτή η προσέγγιση πρώτα αποκλείει όλους τους κωδικοποιητές και στη συνέχεια επιλεκτικά παραχωρεί πρόσβαση σε αξιόπιστους, ενισχύοντας τη στάση ασφάλειας.
```xml
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...
```
## Case Sensitivity in Policies
Είναι κρίσιμο να σημειωθεί ότι τα πρότυπα πολιτικής στο ImageMagick είναι ευαίσθητα σε πεζά και κεφαλαία. Ως εκ τούτου, η διασφάλιση ότι οι προγραμματιστές και τα modules είναι σωστά γραμμένα με κεφαλαία στις πολιτικές είναι ζωτικής σημασίας για την αποφυγή ακούσιων δικαιωμάτων.
## Resource Limits
Το ImageMagick είναι επιρρεπές σε επιθέσεις άρνησης υπηρεσίας αν δεν έχει ρυθμιστεί σωστά. Η ρύθμιση ρητών ορίων πόρων στην πολιτική είναι απαραίτητη για την αποφυγή τέτοιων ευπαθειών.
## Policy Fragmentation
Οι πολιτικές μπορεί να είναι κατακερματισμένες σε διάφορες εγκαταστάσεις του ImageMagick, οδηγώντας σε πιθανούς συγκρούσεις ή υπερκαλύψεις. Συνιστάται να εντοπίσετε και να επαληθεύσετε τα ενεργά αρχεία πολιτικής χρησιμοποιώντας εντολές όπως:
```shell
$ find / -iname policy.xml
```
## Μια Αρχική, Περιοριστική Πολιτική
Ένα πρότυπο περιοριστικής πολιτικής έχει προταθεί, εστιάζοντας σε αυστηρούς περιορισμούς πόρων και ελέγχους πρόσβασης. Αυτό το πρότυπο χρησιμεύει ως βάση για την ανάπτυξη προσαρμοσμένων πολιτικών που ευθυγραμμίζονται με τις συγκεκριμένες απαιτήσεις της εφαρμογής.
Η αποτελεσματικότητα μιας πολιτικής ασφάλειας μπορεί να επιβεβαιωθεί χρησιμοποιώντας την εντολή `identify -list policy` στο ImageMagick. Επιπλέον, το [εργαλείο αξιολόγησης](https://imagemagick-secevaluator.doyensec.com/) που αναφέρθηκε νωρίτερα μπορεί να χρησιμοποιηθεί για την βελτίωση της πολιτικής με βάση τις ατομικές ανάγκες.
## Αναφορές
* [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 %}