Σας έχουμε μιλήσει και στο παρελθόν για τα malware που ουσιαστικά “απενεργοποιούν” τα μέτρα ενίσχυσης της ασφάλειας που έχουν θεσπιστεί είτε χειροκίνητα από τον κάτοχο είτε μέσω της χρήσης ενός plugin ασφαλείας που έχει εγκατασταθεί στο WordPress. Εκεί που οι επιτιθέμενοι μπορεί να συναντήσουν πρόβλημα είναι στο ότι ένα security plugin συνήθως παρακολουθεί τα αρχεία και αν εντοπίσει οποιεσδήποτε αλλαγές, ειδοποιεί τον κάτοχο είτε μέσω email ή μέσω του πίνακα ελέγχου του WordPress.
Δυστυχώς, ένα “PHP malware” λύνει το παραπάνω πρόβλημα του εισβολέα απενεργοποιώντας τα security plugins που χρησιμοποιούνται πιο συχνά και αποτρέπει την επανενεργοποίηση τους από τον πίνακα ελέγχου του WordPress.
Εύρεση και απενεργοποίηση των security plugins
Αυτό το GIF εμφανίζει μια εγκατάσταση WordPress με έναν αριθμό ενεργοποιημένων plugin,
τέσσερα από τα οποία είναι δημοφιλή security plugins και τα άλλα δύο όχι. Το GIF καταδεικνύει με σαφήνεια πώς τα plugin που δεν είναι ασφαλείας δεν επηρεάζονται από το κακόβουλο λογισμικό PHP, αλλά τα υπόλοιπα που είναι plugin ασφαλείας απενεργοποιούνται.
Windows 10 τέλος, απομένει μόλις ένας χρόνος υποστήριξης
Κομήτης θα κάνει μια θεαματική προσέγγιση τον Οκτώβριο
Εκτόξευση του Europa Clipper για ανίχνευση ζωής στην Ευρώπη!
Εάν ένας χρήστης προσπαθήσει να ενεργοποιήσει εκ νέου ένα από τα απενεργοποιημένα plugin ασφαλείας, θα εμφανιστεί στιγμιαία ότι ενεργοποιείται και αμέσως μετά το malware θα το απενεργοποιήσει ξανά. Αυτή η συμπεριφορά θα συνεχίζεται έως ότου το malware να αφαιρεθεί πλήρως από το παραβιασμένο περιβάλλον, καθιστώντας πιο δύσκολη την ανίχνευση κακόβουλης συμπεριφοράς στον ιστότοπο.
Πως δουλεύει
Το malware εντοπίστηκε στο κακόβουλο αρχείο ./wp-includes/IXR/class-IXR-cache.php. Ξεκινά εκχωρώντας το root directory του ιστότοπου στο DIZIN για να σας βοηθήσει να αποκρύψετε τη φόρτωση του βασικού αρχείου WordPress wp-load.php:
Η χρήση του require_once για τη φόρτωση του wp-load.php επιτρέπει στον εισβολέα να χρησιμοποιεί hooks και μεταβλητές κωδικοποίησης WordPress για να απενεργοποιεί τα security plugins. Πρώτον, ο εισβολέας καθορίζει τη συνάρτηση findinSecurity που χρησιμοποιείται αργότερα για να ταξινομήσει τον πίνακα που περιέχει τα plugins.
Μια άλλη λειτουργία που ορίζει ο εισβολέας είναι το secList που περιέχει έναν πίνακα από τα στοχευμένα plugins που θα αναζητηθούν στα υπάρχοντα plugins και θα απενεργοποιηθούν.
Οι δύο συναρτήσεις findinSecurity και secList στη συνέχεια χρησιμοποιούνται στην κύρια συνάρτηση active_plugins που χρησιμοποιεί το WordPress hook get_option (‘active_plugins’) για να αποκτήσει μια λίστα με όλα τα ενεργά plugins από τη βάση δεδομένων του WordPress. Στη συνέχεια, χρησιμοποιεί το findinSecurity μαζί με τη λίστα των στοχευμένων security plugins από το SecList για να αναζητήσει τα ενεργά plugin και να τα απενεργοποιήσει χρησιμοποιώντας το WordPress hook deactivate_plugins.
Λοιπόν, πώς το κακόβουλο λογισμικό απενεργοποιεί αυτόματα τα στοχευμένα plugin ασφαλείας σε περίπτωση που κάποιος προσπαθήσει να τα επανενεργοποιήσει; Αυτό το κάνει εισάγοντας malware στο κάτω μέρος του αρχείου wp-load.php.
Το injection αναγκάζει το wp-load.php να φορτώσει το κακόβουλο αρχείο ./wp-includes/IXR/class-IXR-cache.php μέσω της χρήσης του require_once. Δεδομένου ότι το wp-load.php εκτελείται σε κάθε φόρτωση σελίδας σε έναν ιστότοπο WordPress, τυχόν plugins που επανενεργοποιήθηκαν θα απενεργοποιηθούν αυτόματα κατά την επόμενη φόρτωση της σελίδας – ανεξάρτητα από το εάν προέρχεται από τον ίδιο χρήστη ή από έναν νέο επισκέπτη στην αρχική σελίδα του ιστότοπου.