Πρόοδος στη δημιουργία ενός exploit για το OpenSSH 9.1

Η Qualys βρήκε έναν τρόπο να παρακάμψει το malloc και την προστασία διπλής ελεύθερης χρήσης για να ξεκινήσει μια μεταφορά ελέγχου στον κώδικα χρησιμοποιώντας μια ευπάθεια στο OpenSSH 9.1 που προσδιορίστηκε ότι είχε χαμηλό κίνδυνο δημιουργίας ενός λειτουργικού exploit. Ταυτόχρονα, το ενδεχόμενο δημιουργίας ενός workploit παραμένει μεγάλο ερώτημα.

Η ευπάθεια προκαλείται από ένα διπλό δωρεάν έλεγχο ταυτότητας. Για να δημιουργηθούν συνθήκες για να εμφανιστεί η ευπάθεια, αρκεί να αλλάξετε το banner του προγράμματος-πελάτη SSH σε "SSH-2.0-FuTTYSH_9.1p1" (ή άλλο παλιό πρόγραμμα-πελάτη SSH) για να ορίσετε τις σημαίες "SSH_BUG_CURVE25519PAD" και "SSH_OLD_DHGEX". Μετά τη ρύθμιση αυτών των σημαιών, η μνήμη για το buffer "options.kex_algorithms" ελευθερώνεται δύο φορές.

Ερευνητές από την Qualys, ενώ χειραγωγούσαν την ευπάθεια, κατάφεραν να αποκτήσουν τον έλεγχο του καταχωρητή επεξεργαστή "%rip", ο οποίος περιέχει έναν δείκτη για την επόμενη εντολή που θα εκτελεστεί. Η αναπτυγμένη τεχνική εκμετάλλευσης σάς επιτρέπει να μεταφέρετε τον έλεγχο σε οποιοδήποτε σημείο του χώρου διευθύνσεων της διαδικασίας sshd σε ένα μη ενημερωμένο περιβάλλον OpenBSD 7.2, που παρέχεται από προεπιλογή με το OpenSSH 9.1.

Σημειώνεται ότι το προτεινόμενο πρωτότυπο είναι μια υλοποίηση μόνο του πρώτου σταδίου της επίθεσης - για να δημιουργηθεί ένα λειτουργικό exploit, είναι απαραίτητο να παρακάμψουμε τους μηχανισμούς προστασίας ASLR, NX και ROP και να ξεφύγουμε από την απομόνωση sandbox, κάτι που είναι απίθανο. Για να λυθεί το πρόβλημα της παράκαμψης των ASLR, NX και ROP, είναι απαραίτητο να ληφθούν πληροφορίες σχετικά με τις διευθύνσεις, οι οποίες μπορούν να επιτευχθούν με τον εντοπισμό μιας άλλης ευπάθειας που οδηγεί σε διαρροή πληροφοριών. Ένα σφάλμα στην προνομιακή γονική διαδικασία ή στον πυρήνα μπορεί να βοηθήσει στην έξοδο από το sandbox.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο