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

68 lines
7.5 KiB
Markdown
Raw Normal View History

# ImageMagick Security
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 %}
2023-01-16 14:53:23 +00:00
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)
2023-01-16 14:53:23 +00:00
Το ImageMagick, μια πολυδιάστατη βιβλιοθήκη επεξεργασίας εικόνας, παρουσιάζει μια πρόκληση στη διαμόρφωση της πολιτικής ασφάλειας λόγω των εκτενών επιλογών του και της έλλειψης λεπτομερούς διαδικτυακής τεκμηρίωσης. Οι χρήστες συχνά δημιουργούν πολιτικές βασισμένες σε αποσπασματικές πηγές στο διαδίκτυο, οδηγώντας σε πιθανές κακοδιαμορφώσεις. Η βιβλιοθήκη υποστηρίζει μια τεράστια γκάμα άνω των 100 μορφών εικόνας, καθεμία από τις οποίες συμβάλλει στην πολυπλοκότητα και το προφίλ ευπάθειας της, όπως αποδεικνύεται από ιστορικά περιστατικά ασφάλειας.
2023-01-16 14:53:23 +00:00
## Towards Safer Policies
Για να αντιμετωπιστούν αυτές οι προκλήσεις, έχει αναπτυχθεί ένα [εργαλείο](https://imagemagick-secevaluator.doyensec.com/) για να βοηθήσει στο σχεδιασμό και την επιθεώρηση των πολιτικών ασφάλειας του ImageMagick. Αυτό το εργαλείο βασίζεται σε εκτενή έρευνα και στοχεύει να διασφαλίσει ότι οι πολιτικές είναι όχι μόνο ισχυρές αλλά και χωρίς παραθυράκια που θα μπορούσαν να εκμεταλλευτούν.
2023-01-16 14:53:23 +00:00
## Allowlist vs Denylist Approach
Ιστορικά, οι πολιτικές του ImageMagick βασίζονταν σε μια προσέγγιση denylist, όπου συγκεκριμένοι κωδικοποιητές αποκλείονταν. Ωστόσο, οι αλλαγές στο ImageMagick 6.9.7-7 άλλαξαν αυτό το παράδειγμα, επιτρέποντας μια προσέγγιση allowlist. Αυτή η προσέγγιση πρώτα αποκλείει όλους τους κωδικοποιητές και στη συνέχεια επιλεκτικά παραχωρεί πρόσβαση σε αξιόπιστους, ενισχύοντας τη στάση ασφάλειας.
2023-01-16 14:53:23 +00:00
```xml
2024-02-10 22:40:18 +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
```
## Case Sensitivity in Policies
Είναι κρίσιμο να σημειωθεί ότι τα πρότυπα πολιτικής στο ImageMagick είναι ευαίσθητα σε πεζά και κεφαλαία. Ως εκ τούτου, η διασφάλιση ότι οι προγραμματιστές και τα modules είναι σωστά γραμμένα με κεφαλαία στις πολιτικές είναι ζωτικής σημασίας για την αποφυγή ακούσιων δικαιωμάτων.
2023-01-16 14:53:23 +00:00
## Resource Limits
Το ImageMagick είναι επιρρεπές σε επιθέσεις άρνησης υπηρεσίας αν δεν έχει ρυθμιστεί σωστά. Η ρύθμιση ρητών ορίων πόρων στην πολιτική είναι απαραίτητη για την αποφυγή τέτοιων ευπαθειών.
2023-01-16 14:53:23 +00:00
## Policy Fragmentation
Οι πολιτικές μπορεί να είναι κατακερματισμένες σε διάφορες εγκαταστάσεις του 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
Η αποτελεσματικότητα μιας πολιτικής ασφάλειας μπορεί να επιβεβαιωθεί χρησιμοποιώντας την εντολή `identify -list policy` στο ImageMagick. Επιπλέον, το [εργαλείο αξιολόγησης](https://imagemagick-secevaluator.doyensec.com/) που αναφέρθηκε νωρίτερα μπορεί να χρησιμοποιηθεί για την βελτίωση της πολιτικής με βάση τις ατομικές ανάγκες.
2023-01-16 14:53:23 +00:00
2024-02-10 22:40:18 +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 %}