Modern technology gives us many things.

Το KeePass exploit βοηθά στην ανάκτηση του κύριου κωδικού πρόσβασης καθαρού κειμένου, ο οποίος θα διορθωθεί σύντομα

0 9

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

Το ζήτημα ανακαλύφθηκε από έναν ερευνητή ασφαλείας γνωστό ως «vdohney», ο οποίος δημοσίευσε ένα εργαλείο απόδειξης της ιδέας επιτρέποντας στους εισβολείς να εξαγάγουν τον κύριο κωδικό πρόσβασης KeePass από τη μνήμη ως απόδειξη της ιδέας (PoC).

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

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

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

Μια νέα ευπάθεια KeePass παρακολουθείται ως CVE-2023-3278 καθιστά δυνατή την ανάκτηση του κύριου κωδικού πρόσβασης του KeePass, εκτός από τον πρώτο ή δύο χαρακτήρες, σε μορφή καθαρού κειμένου, ανεξάρτητα από το αν ο χώρος εργασίας του KeePass είναι κλειδωμένος ή, ενδεχομένως, ακόμη και αν το πρόγραμμα είναι κλειστό.

“Το KeePass Master Password Dumper είναι ένα απλό εργαλείο proof-of-concept που χρησιμοποιείται για την απόρριψη του κύριου κωδικού πρόσβασης από τη μνήμη του KeePass. Εκτός από τον πρώτο χαρακτήρα κωδικού πρόσβασης, είναι συνήθως σε θέση να ανακτήσει τον κωδικό πρόσβασης σε απλό κείμενο”, προειδοποιεί ο ερευνητής ασφαλείας στο GitHub. σελίδα για το εργαλείο εκμετάλλευσης.

“Δεν απαιτείται εκτέλεση κώδικα στο σύστημα προορισμού, απλώς μια ένδειξη μνήμης. Δεν έχει σημασία από πού προέρχεται η μνήμη – μπορεί να είναι dump διαδικασίας, αρχείο ανταλλαγής (pagefile.sys), αρχείο αδρανοποίησης (hiberfil.sys) ή ένδειξη μνήμης RAM ολόκληρου του συστήματος. Δεν έχει σημασία αν ο χώρος εργασίας είναι κλειδωμένος ή όχι.”

Το ελάττωμα υπάρχει επειδή το λογισμικό χρησιμοποιεί ένα προσαρμοσμένο πλαίσιο εισαγωγής κωδικού πρόσβασης που ονομάζεται “SecureTextBoxEx”, το οποίο αφήνει ίχνη από κάθε χαρακτήρα που πληκτρολογεί ο χρήστης στη μνήμη.

“Το KeePass 2.X χρησιμοποιεί ένα προσαρμοσμένο πλαίσιο κειμένου για την εισαγωγή κωδικού πρόσβασης, το SecureTextBoxEx. Αυτό το πλαίσιο κειμένου δεν χρησιμοποιείται μόνο για την εισαγωγή κύριου κωδικού πρόσβασης, αλλά και σε άλλα σημεία στο KeePass, όπως κουτιά επεξεργασίας κωδικού πρόσβασης (έτσι η επίθεση μπορεί επίσης να να χρησιμοποιηθούν για την ανάκτηση του περιεχομένου τους),» εξηγεί η vdohney.

Η ευπάθεια επηρεάζει την πιο πρόσφατη έκδοση του KeePass, 2.53.1, και καθώς το πρόγραμμα είναι ανοιχτού κώδικα, είναι πιθανό να επηρεαστούν τυχόν διχάλες έργου.

Τα KeePass 1.X, KeePassXC και Strongbox δεν φαίνεται να επηρεάζονται από το CVE-2023-32784, σύμφωνα με τον προγραμματιστή του εργαλείου απόρριψης κωδικών πρόσβασης.

Επίσης, ενώ το PoC δοκιμάστηκε στα Windows, το exploit θα πρέπει να λειτουργεί και για Linux και macOS, με ορισμένες τροποποιήσεις, καθώς το πρόβλημα δεν αφορά συγκεκριμένα το λειτουργικό σύστημα, αλλά τον τρόπο με τον οποίο το KeePass χειρίζεται την εισαγωγή των χρηστών.

Ανατρεπόμενο κωδικό πρόσβασης
Το εργαλείο απόρριψης κωδικών πρόσβασης KeePass σε δράση
Πηγή: vdohney

Εύκολο στην εκμετάλλευση

Εφόσον πρέπει να ανακτηθούν τα στοιχεία αποθήκευσης μνήμης για την ανάκτηση του κύριου κωδικού πρόσβασης KeePass, η εκμετάλλευση του CVE-2023-32784 απαιτεί φυσική πρόσβαση ή μόλυνση από κακόβουλο λογισμικό στον υπολογιστή-στόχο.

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

Το BleepingComputer δοκίμασε το εργαλείο «keepass-password-dumper» της vdohney εγκαθιστώντας το KeePass σε μια δοκιμαστική συσκευή και δημιουργώντας μια νέα βάση δεδομένων με τον κύριο κωδικό πρόσβασης «password123», όπως φαίνεται παρακάτω.

Δημιουργία δοκιμαστικής βάσης δεδομένων KeePass
Δημιουργία δοκιμαστικής βάσης δεδομένων KeePass
Πηγή: BleepingComputer

Στη συνέχεια, κλειδώσαμε τον χώρο εργασίας του KeePass, ο οποίος εμποδίζει την πρόσβαση σε αυτόν, εκτός εάν εισαγάγετε ξανά τον κύριο κωδικό πρόσβασης.

Στις δοκιμές μας, μπορείτε να χρησιμοποιήσετε την Εξερεύνηση διεργασιών για την απόρριψη της μνήμης του έργου KeePass, αλλά απαιτεί πλήρη ένδειξη αποθήκευσης μνήμης και όχι minidump για να λειτουργήσει σωστά. Δεν απαιτούνται αυξημένα προνόμια για την απόρριψη της μνήμης των διεργασιών.

Μετά τη μεταγλώττιση του εργαλείου του vdohney χρησιμοποιώντας το Visual Studio, το εκτελέσαμε σε αντίθεση με τη μνήμη μας και ανακτούσε γρήγορα το μεγαλύτερο μέρος του κωδικού πρόσβασης καθαρού κειμένου, χωρίς μόνο τα δύο πρώτα γράμματα.

Εξαγωγή του μεγαλύτερου μέρους του κύριου κωδικού πρόσβασης KeePass
Εξαγωγή του μεγαλύτερου μέρους του κύριου κωδικού πρόσβασης KeePass
Πηγή: BleepingComputer

Αν και αυτός δεν είναι ο πλήρης κωδικός πρόσβασης, ο προσδιορισμός των χαρακτήρων που λείπουν θα ήταν αρκετά εύκολος.

Ο ερευνητής προειδοποιεί επίσης ότι οι κύριοι κωδικοί πρόσβασης που χρησιμοποιήθηκαν στο παρελθόν μπορούν να παραμείνουν στη μνήμη, ώστε να μπορούν να ανακτηθούν ακόμη και αν το KeePass δεν εκτελείται πλέον στον υπολογιστή που έχει παραβιαστεί.

Διόρθωση σύντομα

Ο προγραμματιστής του KeePass, Dominik Reichl, έλαβε την αναφορά σφάλματος και υποσχέθηκε να παρουσιάσει μια επιδιόρθωση για το CVE-2023-32784 στην έκδοση 2.54, που αναμένεται κάποια στιγμή τον Ιούλιο του 2023.

Ωστόσο, ο Reichl είπε στο BleepingComputer ότι η έκδοση 2.54 του KeePass είναι πιο πιθανό να κυκλοφορήσει στους χρήστες σε περίπου δύο εβδομάδες, επομένως θα πρέπει να κυκλοφορήσει στις αρχές Ιουνίου.

Με βάση α συζήτηση όπου ο Reichl ανέπτυξε τις σκέψεις του για το ελάττωμα ασφαλείας και τις πιθανές στρατηγικές μετριασμού, αναφέρονται δύο βελτιώσεις ασφαλείας για την επερχόμενη έκδοση KeePass:

  1. Εκτελέστε άμεσες κλήσεις API για λήψη/ρύθμιση του κειμένου του πλαισίου κειμένου, αποφεύγοντας τη δημιουργία διαχειριζόμενων συμβολοσειρών στη μνήμη που μπορεί να διαρρεύσουν μυστικά.
  2. Δημιουργήστε εικονικά θραύσματα που περιέχουν τυχαίους χαρακτήρες στη μνήμη διεργασίας που θα έχουν περίπου το ίδιο μήκος με τον κύριο κωδικό πρόσβασης του χρήστη, θολώνοντας το πραγματικό κλειδί.

Το KeePass 2.54 για Windows θα έχει και τα δύο, ενώ οι εκδόσεις macOS και Linux θα λάβουν μόνο τη δεύτερη βελτίωση.

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

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

Ακόμη και μετά την κυκλοφορία της νέας έκδοσης, ο κύριος κωδικός πρόσβασης μπορεί να εξακολουθεί να είναι αποθηκευμένος σε αρχεία μνήμης. Ο ερευνητής προειδοποιεί ότι για να είστε 100% ασφαλής ότι δεν κρύβεται στο σύστημα, θα πρέπει να διαγράψετε τα αρχεία ανταλλαγής και αδρανοποίησης του συστήματός σας, να διαμορφώσετε τον σκληρό σας δίσκο χρησιμοποιώντας τη λειτουργία “αντικατάσταση δεδομένων” για να αποτρέψετε την ανάκτηση δεδομένων και να κάνετε μια νέα εγκατάσταση λειτουργικού συστήματος.

Για τους περισσότερους, ωστόσο, η επανεκκίνηση του υπολογιστή, η εκκαθάριση του αρχείου ανταλλαγής και των αρχείων αδρανοποίησης και η μη χρήση του KeePass έως ότου κυκλοφορήσει η νέα έκδοση αποτελούν λογικά μέτρα ασφαλείας προς το παρόν.

Ακόμη και τότε, για την καλύτερη προστασία, να είστε εξαιρετικά προσεκτικοί για να μην κάνετε λήψη προγραμμάτων από μη αξιόπιστους ιστότοπους και να προσέχετε τις επιθέσεις phishing που μπορεί να μολύνουν τις συσκευές σας, παρέχοντας στους παράγοντες απειλής απομακρυσμένη πρόσβαση στη συσκευή σας και στη βάση δεδομένων KeePass.



bleepingcomputer.com

You might also like
Leave A Reply

Your email address will not be published.