Διανομές botnet διακομιστή P2PInfect χρησιμοποιώντας τη δυνατότητα αναπαραγωγής Redis
Οι φορείς απειλών στοχεύουν ενεργά εκτεθειμένες περιπτώσεις αποθήκευσης δεδομένων ανοικτού κώδικα SSH και Redis Redis με έναν αυτοαναπαραγόμενο ιό τύπου worm peer-to-peer με εκδόσεις τόσο για
Windows
όσο και για Linux που οι δημιουργοί κακόβουλου λογισμικού ονόμασαν P2Pinfect.
Γραπτό στο Rust, το κακόβουλο λογισμικό βασίζεται σε τουλάχιστον δύο μεθόδους για να εδραιωθεί: μια κρίσιμη ευπάθεια που αποκαλύφθηκε και διορθώθηκε πέρυσι και μια δυνατότητα που επιτρέπει την αναπαραγωγή της κύριας βάσης δεδομένων για υψηλή διαθεσιμότητα και την αντιμετώπιση σεναρίων ανακατεύθυνσης.
Εκμετάλλευση της δυνατότητας αναπαραγωγής Redis
Το P2PInfect τεκμηριώθηκε αρχικά από ερευνητές στη Μονάδα 42 της Palo Alto Networks, οι οποίοι διαπίστωσαν ότι εκμεταλλευόταν τη μέγιστη ευπάθεια σοβαρότητας που παρακολουθείται ως CVE-2022-0543.
Το πρόβλημα ασφαλείας είναι μια ευπάθεια διαφυγής LUA sandbox ειδικά για το Debian λόγω ενός προβλήματος συσκευασίας που επιτρέπει την απομακρυσμένη εκτέλεση κώδικα, με βαθμολογία κρίσιμης σοβαρότητας 10 στα 10.
Αφού διακυβεύσει μια ευάλωτη παρουσία του Redis με ένα αρχικό ωφέλιμο φορτίο, το P2PInfect κατεβάζει νέα σενάρια ειδικά για το λειτουργικό σύστημα και κακόβουλα δυαδικά αρχεία και προσθέτει τον διακομιστή στη λίστα με τα μολυσμένα συστήματα.
Στη συνέχεια, το κακόβουλο λογισμικό προσθέτει τον μολυσμένο διακομιστή στο peer-to-peer δίκτυό του, έτσι ώστε οι μελλοντικοί διακομιστές Redis να έχουν πρόσβαση στη δέσμη των κακόβουλων ωφέλιμων φορτίων.
Ερευνητές της εταιρείας εγκληματολογίας
cloud
και αντιμετώπισης περιστατικών Cado
Security
βρήκαν επίσης στο honeypot τους ένα δείγμα P2PInfect, το οποίο περιελάμβανε δυαδικά αρχεία Portable Executable (PE) και ELF, τα οποία υποδηλώνουν συμβατότητα μεταξύ Windows και Linux.
Το δείγμα που ανέλυσαν χρησιμοποίησε επίσης μια διαφορετική αρχική οδό πρόσβασης εκμεταλλευόμενη το
Αντιγραφή Redis
χαρακτηριστικό που επιτρέπει τη δημιουργία ακριβών αντιγράφων της κύριας/επικεφαλής παρουσίας Redis.
“Ένα κοινό μοτίβο επίθεσης κατά του Redis σε περιβάλλοντα cloud είναι η εκμετάλλευση αυτής της δυνατότητας χρησιμοποιώντας μια κακόβουλη παρουσία για να ενεργοποιηθεί η αναπαραγωγή” –
Cado Security
Ένας παράγοντας απειλής μπορεί να το επιτύχει αυτό με τη σύνδεση σε ένα εκτεθειμένο παράδειγμα Redis και την έκδοση ενός συγκεκριμένου,
τεκμηριωμένη εντολή
; ο
μέθοδος
χρονολογείται από το 2018 και έχει χρησιμοποιηθεί σε πολλές καμπάνιες.

Το P2PInfect παίρνει τον έλεγχο μέσω της δυνατότητας αναπαραγωγής Redis
πηγή:
Cado Security
Προετοιμασία για αφομοίωση botnet
Σύμφωνα με την Cado Security, το κύριο ωφέλιμο φορτίο είναι ένα δυαδικό ELF «γραμμένο σε συνδυασμό C και Rust» που τελικά εκτελεί το στοιχείο Rust του ωφέλιμου φορτίου.
Μετά την εκτέλεση, το δυαδικό σύστημα ενημερώνει τη διαμόρφωση SSH του κεντρικού υπολογιστή και τροποποιεί τη διαμόρφωση του διακομιστή OpenSSH «σε σχεδόν προεπιλεγμένη κατάσταση» που επιτρέπει στον εισβολέα να συνδεθεί στον διακομιστή μέσω του πρωτοκόλλου ασφαλούς κελύφους (SSH) και επιτρέπει τον έλεγχο ταυτότητας με κωδικό πρόσβασης.
Το Cado Security λέει ότι ο παράγοντας απειλής στη συνέχεια επανεκκινεί την υπηρεσία SSH και πρόσθεσε ένα κλειδί SSH στη λίστα των εξουσιοδοτημένων κλειδιών για τον τρέχοντα χρήστη.
Στο επόμενο βήμα, ο εισβολέας χρησιμοποιεί ένα σενάριο bash για να τροποποιήσει τα ονόματα για το
wget
και
μπούκλα
δυαδικά, ελέγχει την παρουσία συγκεκριμένων βοηθητικών προγραμμάτων και τα εγκαθιστά εάν δεν είναι διαθέσιμα.
Η παρακάτω λίστα δείχνει μερικές από τις ενέργειες που προκύπτουν από την εκτέλεση του σεναρίου:
- Μετονομάζει τα δυαδικά αρχεία wget και curl σε wgbtx και clbtx αντίστοιχα. Αυτό είναι πιθανώς μια προσπάθεια να εμποδίσει τους ανταποκριτές σε περιστατικά να τα χρησιμοποιήσουν για να κατεβάσουν τα εγκληματολογικά εργαλεία, καθώς και να αποτρέψουν τις λύσεις EDR από τον εντοπισμό της χρήσης της εντολής. Αυτό είναι ένα κοινό TTP για τους φορείς απειλών cloud.
- Ελέγχει για την εντολή iptables και την εγκαθιστά εάν δεν βρεθεί. Έχει πολλές εντολές ειδικά για μεμονωμένους διαχειριστές πακέτων, επομένως μπορεί να εγκατασταθεί ανεξάρτητα από τη διανομή Linux που χρησιμοποιείται.
- Ελέγχει για την εντολή awk και την εγκαθιστά εάν δεν βρεθεί. Όπως και η προηγούμενη εντολή, θα προσπαθήσει να χρησιμοποιήσει αρκετούς διαχειριστές πακέτων.
- Ελέγχει για την εντολή netstat και την εγκαθιστά εάν δεν βρεθεί. Όπως και οι προηγούμενες εντολές, θα προσπαθήσει να χρησιμοποιήσει αρκετούς διαχειριστές πακέτων.
- Χρησιμοποιεί το netstat και το awk για να συλλέξει μια λίστα με όλες τις IP που είναι συνδεδεμένες αυτήν τη στιγμή στον διακομιστή Redis που εκτελείται στον κεντρικό υπολογιστή προορισμού.
- Προσθέτει έναν κανόνα iptables για να επιτρέπεται η κυκλοφορία από καθεμία από αυτές τις IP στον διακομιστή Redis.
- Προσθέτει έναν κανόνα iptables για να αρνηθεί κάθε άλλη κίνηση στον διακομιστή Redis.
- Προσθέτει έναν κανόνα iptables για να επιτρέπεται όλη η κίνηση σε μια τυχαία επιλεγμένη θύρα που ακούει το κύριο ωφέλιμο φορτίο για επικοινωνίες botnet.
Οι ερευνητές εξηγούν ότι η χρήση του
iptables
μπορεί να αποτρέψει άλλους εισβολείς από το να παραβιάσουν τον ευάλωτο διακομιστή Redis. Προσθέτουν ότι το κακόβουλο λογισμικό δημιουργεί επίσης επιμονή στον παραβιασμένο κεντρικό υπολογιστή.
Μετά από αυτό το βήμα, ο μολυσμένος διακομιστής λαμβάνει τουλάχιστον ένα δυαδικό αρχείο που μπορεί να σαρώσει
/proc
και ανοίγει το
stat
για κάθε διαδικασία εκεί. Μπορεί επίσης να παρακολουθεί την
/proc
κατάλογο για αλλαγές.
Επιπλέον, το δυαδικό αρχείο μπορεί να αναβαθμίσει το κύριο δυαδικό αρχείο του κακόβουλου λογισμικού και να το εκτελέσει εάν η υπογραφή του δεν ταιριάζει με αυτή που έχει τραβηχτεί από το botnet.
Οι ερευνητές λένε ότι το P2PInfect αντιμετωπίζει κάθε παραβιασμένο διακομιστή Redis ως κόμβο, μετατρέποντας το δίκτυο σε ένα peer-to-peer botnet που μπορεί να λάβει οδηγίες χωρίς την ανάγκη για κεντρικό διακομιστή εντολών και ελέγχου (C2).
«Υποτίθεται ότι οι εντολές εκδίδονται με τη διάδοση υπογεγραμμένων μηνυμάτων σε όλο το δίκτυο», λένε οι ερευνητές της Cado Security.
Ένας απλός διακομιστής HTTP επιτρέπει την επικοινωνία μεταξύ ομοτίμων μέσω μιας τυχαίας θύρας μεταξύ 60100 και 60150, καθώς και λήψη ορισμένων ωφέλιμων φορτίων. Ωστόσο, ο συντονισμός botnet γίνεται μέσω HTTPS χρησιμοποιώντας ένα πιστοποιητικό με σκληρό κώδικα.
Με βάση αυτό το πιστοποιητικό, η Cado Security εκτιμά ότι η καμπάνια ξεκίνησε «στις ή μετά τις 29 Ιουνίου».
Εύρεση ευάλωτων διακομιστών
Η μόλυνση περισσότερων κεντρικών υπολογιστών πραγματοποιείται μετά τον έλεγχο του ιστορικού bash για την εξαγωγή διαθέσιμων IP, χρηστών και κλειδιών SSH για εξαίρεση από την αναζήτηση.
Το κακόβουλο λογισμικό επιλέγει ένα τυχαίο πρόθεμα δικτύου /16 και ξεκινά τη σάρωση για εκτεθειμένους διακομιστές SSH και Redis. Έχει πρόσβαση σε ασθενώς προστατευμένους κεντρικούς υπολογιστές χρησιμοποιώντας μια λίστα κωδικών πρόσβασης για προσπάθειες ωμής βίας.
Με τους διακομιστές Redis, το P2PInfect θα προσπαθήσει να εκμεταλλευτεί το CVE-2022-0543 ή τη δυνατότητα αναπαραγωγής για να φορτώσει κακόβουλες μονάδες στον κεντρικό υπολογιστή.
Οι ερευνητές του Palo Alto Networks είπαν ότι κατά τη στιγμή της έρευνάς τους υπήρχαν περισσότερες από 307.000 περιπτώσεις Redis προσβάσιμες μέσω του δημόσιου Διαδικτύου. Αν και μπορεί να μην είναι όλα ευάλωτα, το P2PInfect είναι πιθανό να τα δοκιμάσει για αδυναμίες ή τρωτά σημεία και να τα διακυβεύσει.
Αυτή τη στιγμή ο σκοπός του P2PInfect παραμένει ασαφής. Ούτε οι ερευνητές της Palo Alto Networks ούτε της Cado Security μπόρεσαν να προσδιορίσουν τον λόγο πίσω από τη μόλυνση των διακομιστών Redis.
Μια πιθανή ένδειξη για τον σκοπό του P2PInfect είναι η παρουσία ενός δυαδικού που ονομάζεται “miner”, το οποίο θα μπορούσε να υποδεικνύει δραστηριότητα εξόρυξης κρυπτονομισμάτων.
Ωστόσο, η Cado Security παρατήρησε ότι το αρχείο εκτελέστηκε και στη συνέχεια διαγράφηκε, αλλά δεν υπήρχαν στοιχεία κρυπτοεξόρυξης. Αντίθετα, συνέχισε να κάνει τον ύπνο syscall, που δεν κάνει τίποτα.
Αυτό μπορεί να είναι μόνο το αρχικό στάδιο της καμπάνιας και θα προστεθεί πρόσθετη λειτουργικότητα, πιθανώς cryptomining, αφού παραβιαστεί επαρκής αριθμός παρουσιών Redis.


