ImageMagick Security
Reading time: 4 minutes
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Check further details in https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html
Το ImageMagick, μια πολυδιάστατη βιβλιοθήκη επεξεργασίας εικόνας, παρουσιάζει μια πρόκληση στην παραμετροποίηση της πολιτικής ασφαλείας του λόγω των εκτενών επιλογών του και της έλλειψης λεπτομερούς διαδικτυακής τεκμηρίωσης. Οι χρήστες συχνά δημιουργούν πολιτικές βασισμένες σε αποσπασματικές πηγές του διαδικτύου, οδηγώντας σε πιθανές κακοδιαχειρίσεις. Η βιβλιοθήκη υποστηρίζει μια τεράστια γκάμα άνω των 100 μορφών εικόνας, καθεμία από τις οποίες συμβάλλει στην πολυπλοκότητα και το προφίλ ευπάθειας της, όπως αποδεικνύεται από ιστορικά περιστατικά ασφαλείας.
Towards Safer Policies
Για να αντιμετωπιστούν αυτές οι προκλήσεις, έχει αναπτυχθεί ένα εργαλείο για να βοηθήσει στο σχεδιασμό και την επιθεώρηση των πολιτικών ασφαλείας του ImageMagick. Αυτό το εργαλείο βασίζεται σε εκτενή έρευνα και στοχεύει να διασφαλίσει ότι οι πολιτικές είναι όχι μόνο ανθεκτικές αλλά και χωρίς παραθυράκια που θα μπορούσαν να εκμεταλλευτούν.
Allowlist vs Denylist Approach
Ιστορικά, οι πολιτικές του ImageMagick βασίζονταν σε μια προσέγγιση denylist, όπου συγκεκριμένοι κωδικοποιητές αποκλείονταν. Ωστόσο, οι αλλαγές στο ImageMagick 6.9.7-7 άλλαξαν αυτό το παράδειγμα, επιτρέποντας μια προσέγγιση allowlist. Αυτή η προσέγγιση πρώτα αποκλείει όλους τους κωδικοποιητές και στη συνέχεια επιλεκτικά παραχωρεί πρόσβαση σε αξιόπιστους, ενισχύοντας τη θέση ασφαλείας.
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...
Ευαισθησία Περίπτωσης σε Πολιτικές
Είναι κρίσιμο να σημειωθεί ότι τα πρότυπα πολιτικής στο ImageMagick είναι ευαίσθητα σε περίπτωση. Ως εκ τούτου, η διασφάλιση ότι οι προγραμματιστές και τα modules είναι σωστά γραμμένα με κεφαλαία στις πολιτικές είναι ζωτικής σημασίας για την αποφυγή ακούσιων δικαιωμάτων.
Όρια Πόρων
Το ImageMagick είναι επιρρεπές σε επιθέσεις άρνησης υπηρεσίας αν δεν έχει ρυθμιστεί σωστά. Η ρύθμιση ρητών ορίων πόρων στην πολιτική είναι απαραίτητη για την αποφυγή τέτοιων ευπαθειών.
Κατακερματισμός Πολιτικής
Οι πολιτικές μπορεί να είναι κατακερματισμένες σε διάφορες εγκαταστάσεις του ImageMagick, οδηγώντας σε πιθανούς συγκρούσεις ή υπερκαλύψεις. Συνιστάται να εντοπίσετε και να επαληθεύσετε τα ενεργά αρχεία πολιτικής χρησιμοποιώντας εντολές όπως:
$ find / -iname policy.xml
Μια Αρχική, Περιοριστική Πολιτική
Ένα πρότυπο περιοριστικής πολιτικής έχει προταθεί, εστιάζοντας σε αυστηρούς περιορισμούς πόρων και ελέγχους πρόσβασης. Αυτό το πρότυπο χρησιμεύει ως βάση για την ανάπτυξη προσαρμοσμένων πολιτικών που ευθυγραμμίζονται με τις συγκεκριμένες απαιτήσεις της εφαρμογής.
Η αποτελεσματικότητα μιας πολιτικής ασφάλειας μπορεί να επιβεβαιωθεί χρησιμοποιώντας την εντολή identify -list policy
στο ImageMagick. Επιπλέον, το evaluator tool που αναφέρθηκε νωρίτερα μπορεί να χρησιμοποιηθεί για την βελτίωση της πολιτικής με βάση τις ατομικές ανάγκες.
Αναφορές
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.