Το wp-vcd malware είναι ένα νέο είδος malware το οποίο στοχεύει ιστοσελίδες που τρέχουν στο WordPress και προσθέτει loopholes σε ανημέρωτα plugins και themes. Δημιουργεί επίσης backdoors προσθέτοντας νέους κρυφούς λογαριασμούς με διαχειριστικά δικαιώματα.
Η σημερινή μέρα ήταν ιδιαίτερα περιπετιώδης θα έλεγα. Όλα ξεκίνησαν όταν εγκατέστησα το Manjaro Linux και αποφάσισα να ρίξω μια ματιά στο Inkstory μέσω της Linux διανομής για να δω πως φαίνεται το blog με διαφορετική γραμματοσειρά. Με το που έκανα το πρώτο κλικ, κατευθείαν με μετέφερε σε διαφορετική ιστοσελίδα με διαφημίσεις. Προφανώς έμεινα με το στόμα ανοιχτό, καθώς όχι απλά το Linux δεν περιλαμβάνει ιούς, ήταν και νέα φρέσκια εγκατάσταση, οπότε ήμουν κατευθείαν σίγουρος πως το πρόβλημα ερχόταν από το Inkstory. Σε δευτερόλεπτα έκανα επανεκκίνηση το laptop, μπήκα με Windows, άνοιξα το Inkstory και δεν μου άνοιξε καμιά διαφήμιση, δεν με μετέφερε πουθενά και όλα φαινόντουσαν φυσιολογικά.
Προφανώς, εμπιστεύομαι το Linux πολύ περισσότερο απ’ ότι τα Windows, οπότε ήμουν σίγουρος πως κάτι περίεργο συνέβαινε. Ξανά μπήκα με Linux λοιπόν και ξανά τα ίδια, διαφημιστικές ιστοσελίδες παντού με το πρώτο κλικ που έκανα. Κατευθείαν ήξερα ότι πρόκειται για κάποιο malware το οποίο επηρέασε την ιστοσελίδα.
Για να μην χάνω χρόνο, εγκατέστησα κατευθείαν το Wordfence στο Inkstory και ξεκίνησα την πρώτη σάρωση της ιστοσελίδας. Το Wordfence γνωρίζω πως είναι ένα εξαιρετικό (αλλά ιδιαίτερα βαρύ) plugin το οποίο εμφανίζει όλα τα αρχεία του WordPress που είτε είναι περίεργα, είτε έχουν malware.
Η σάρωση κατευθείαν μου εμφάνισε ότι υπάρχει malware κώδικας μέσα σε διαφορετικά αρχεία, συμπεριλαμβανομένων και στο functions.php, το οποίο είναι το βασικό αρχείο για κάθε WordPress theme. Ο κώδικας μπήκε και σε άλλα αρχεία, όπως στο wp-feed.php και έφτιαξε και νέα αρχεία με ονομασίες όπως wp-tmp.php και wp-vcd.php.
Το πρόβλημα με το συγκεκριμένο malware δεν είναι το γεγονός πως κατάφερε να εισχωρήσει σε μια ιστοσελίδα, αλλά πως κρύβεται αρκετά καλά από τους διαχειριστές. Δεν μου πήρε πολύ ώρα για να καταλάβω πως είχα ένα πρόσφατο και καινούργιο malware το οποίο δεν εμφανιζόταν όσο ήμουν συνδεδεμένος ως διαχειριστής στο blog, παρά μόνο όταν έμπαινα σαν αναγνώστης και δεν με καταλάβαινε. Γι ‘αυτό και στα Windows τα έβλεπα όλα κανονικά, ενώ από Linux μου εμφάνιζε τις διαφημίσεις.
Ενημέρωση: Την ώρα που έγραφα το άρθρο, το ίδιο malware κόλλησε και μια πελάτισσα μου. Μίλησα επίσης και με άλλους bloggers και βρήκαν είχαν κολλήσει και αυτοί το συγκεκριμένο malware, ακόμα και άνθρωποι που φιλοξενούν τα blogs τους σε τεράστιες εταιρείες.
Τι είναι το wp-vcd Malware;
Το wp-vcd malware είναι ένα νέο είδος malware το οποίο στοχεύει ιστοσελίδες που τρέχουν στο WordPress και προσθέτει loopholes σε ανημέρωτα plugins και themes. Δημιουργεί επίσης backdoors προσθέτοντας νέους κρυφούς λογαριασμούς με διαχειριστικά δικαιώματα.
- Malware – Επικίνδυνος κώδικας που μπαίνει μέσα σε διάφορα αρχεία
- Loopholes – Λόγο κακής ασφάλειας από κάποιο plugin ή theme, επιτρέπουν σε malwares να εισχωρήσουν σε μια ιστοσελίδα.
- Backdoors – Επιτρέπουν στους hackers να μπουν ως διαχειριστές σε μια ιστοσελίδα και στα πιο σημαντικά της αρχεία.
Τι ακριβώς κάνει το wp-vcd Malware;
- Το wp-vcd malware δημιουργεί spam URLs στην ιστοσελίδα (γνωστό και ως URL Injection).
- Το malware δημιουργεί μια backdoor (πίσω πόρτα) η οποία επιτρέπει στους hackers να έχουν πρόσβαση στην ιστοσελίδα.
- Οι hackers στη συνέχεια προσθέτουν περισσότερο malware σε διάφορα αρχεία του WordPress ώστε να σιγουρευτούν πως θα έχουν στάνταρ πρόσβαση.
- Μόλις δημιουργήσουν αρκετά backdoors και loopholes, οι hackers προσθέτουν κακόβουλες διαφημίσεις στην ιστοσελίδα για να βγάλουν χρήματα.
Λόγοι για τους οποίους μια ιστοσελίδα κολλάει τον wp-vcd malware
Υπάρχουν αρκετοί τρόποι για να σε χακάρουν ή για να προσθέσουν malware στην ιστοσελίδα σου, αλλά το συγκεκριμένο malware συχνά εισχωρεί σε μια WordPress ιστοσελίδα εξαιτίας των παρακάτω λόγων:
- Ο πιο συχνός λόγος είναι επειδή η ιστοσελίδα χρησιμοποιεί nulled κρακαρισμένα themes ή plugins. Στις περισσότερες περιπτώσεις, το wp-vcd malware υπάρχει προ-εγκατεστημένο μέσα στα nulled themes και plugins.
- Η ιστοσελίδα σου έχει αρκετά ανημέρωτα plugins και themes. Ή ακόμα χειρότερα, όπως και στην δική μου περίπτωση, έχει plugins τα οποία αφαιρέθηκαν από τη βιβλιοθήκη του WordPress.org και σταμάτησαν να αναπτύσσονται από τους προγραμματιστές τους.
- Δεν υπάρχει καλή ασφάλεια για να μπλοκάρει όλες τις φορές που προσπαθεί κάποιος να συνδεθεί στην ιστοσελίδα σου με διαφορετικούς τρόπους και τεχνικές.
Πως να καταλάβεις αν η ιστοσελίδα έχει το wp-vcd malware
Υπάρχουν αρκετοί τρόποι με τους οποίους μπορείς να καταλάβεις αν η ιστοσελίδα σου έχει το vcd-malware, αλλά έχε πάντα κατά νου πως ακόμα και τα malwares εξελίσσονται και γίνονται κάθε φορά και καλύτερα. Άλλωστε, το συγκεκριμένο malware κάποτε φαινόταν ακόμα και στους διαχειριστές, ενώ στην δική μου περίπτωση, ήταν αρκετά πιο έξυπνο.
- Δημιουργήθηκε νέος χρήστης με διαχειριστικά δικαιώματα χωρίς να το γνωρίζεις.
- Η web hosting εταιρεία στην οποία φιλοξενείς το blog σου, έχει κάνει suspended την ιστοσελίδα σου λόγο malware επίθεσης.
- Υπάρχει άγνωστος JavaScript κώδικας σε διάφορα αρχεία του WordPress.
- Διάφορες σελίδες του blog σου μεταφέρουν αυτόματα τους αναγνώστες σε κακόβουλες ή περίεργες ιστοσελίδες.
- Υπάρχουν άγνωστα PHP αρχεία στο wp-includes φάκελο τα οποία δεν υπάρχουν στα αρχεία του WordPress στο GitHub.
- Υπάρχουν άγνωστα PHP αρχεία στο wp-content/uploads και σε άλλους υποφακέλους.
Πως να αφαιρέσεις το wp-vcd malware από το WordPress
Πρώτα απ’ όλα, είναι πολύ σημαντικό να επικοινωνήσεις με έναν τεχνικό ή ειδικό επί του θέματος για να σιγουρευτεί σε ποια σημεία έχει εξαπλωθεί το malware και πόσα backdoors και loopholes υπάρχουν. Από μόνος σου, ωστόσο, μπορείς να ακολουθήσεις μια γρήγορη και εύκολη διαδικασία.
- Αρχικά, εγκατέστησε το Wordfence plugin και ενεργοποίησε το.
- Από το αριστερό μενού του WordPress, πάνε στο Wordfence και πάνε στην καρτέλα Scan.
- Ξεκίνα ένα νέο scan και περίμενε έως ότου ολοκληρωθεί.
- Μόλις ολοκληρωθεί το scan, θα σου εμφανίσει όλα τα αρχεία που έχουν είτε κακόβουλο κώδικα, είτε malware, είτε δεν ανήκουν στο WordPress.
Στην παρακάτω φωτογραφία, μπορείς να δεις τα αποτελέσματα από το πρώτο scan που έκανα με το Wordfence στο Inkstory. Τα πράγματα δεν είναι καθόλου καλά.
Εκτός από την τελευταία επιλογή, η οποία ουσιαστικά ήταν από ένα σχόλιο που υπήρχε στο blog με έναν κακόβουλο σύνδεσμο, όλα τα άλλα αρχεία περιλάμβαναν JavaScript και PHP κώδικα από το malware.
Βρήκα αρκετούς κώδικες σε διάφορα αρχεία, όπως ο παρακάτω ο οποίος υπήρχε στο functions.php αρχείο:
<?php if (file_exists(dirname(__FILE__) . '/class.theme-modules.php')) include_once(dirname(__FILE__) . '/class.theme-modules.php'); ?>
Ο παρακάτω βρέθηκε στο class.theme-modules.php το οποίο ουσιαστικά έκανε και την εγκατάσταση του wp-vcd malware μέσα σε όλα τα υπόλοιπα themes που υπήρχαν (ενεργοποιημένα και απενεργοποιημένα) και δημιούργησε όλα τα υπόλοιπα αρχεία:
<?php //install_code1 error_reporting(0); ini_set('display_errors', 0); DEFINE('MAX_LEVEL', 2); DEFINE('MAX_ITERATION', 50); DEFINE('P', $_SERVER['DOCUMENT_ROOT']); $GLOBALS['WP_CD_CODE'] = 'PD9waHANCmVycm9y...(base64-encoded string of PHP code) ...
if (!file_exists(ABSPATH . 'wp-includes/wp-tmp.php')) { @file_put_contents(get_template_directory() . '/wp-tmp.php', $tmpcontent); if (!file_exists(get_template_directory() . '/wp-tmp.php')) { @file_put_contents('wp-tmp.php', $tmpcontent); } }
Για να “καθαρίσω” ολόκληρη την ιστοσελίδα από το malware έπρεπε ουσιαστικά να αφαιρέσω όλο τον κώδικα από κάθε αρχείο. Αλλά επειδή δεν είχα ούτε την όρεξη αλλά ούτε και τον χρόνο να κοιτάξω σε κάθε αρχείο για JavaScript κώδικα και για το που μπορεί να βρίσκεται το κάθε PHP αρχείο, τελικά χρησιμοποίησα το Wordfence και διέγραψα όλα τα αρχεία που μου εμφάνισε στο πρώτο scan.
Όταν όμως διαγράφηκαν τα αρχεία, το blog έμοιαζε έτσι:
Αυτό έγινε επειδή το Wordfence διέγραψε και το αρχείο functions.php του theme, στο οποίο φυσικά υπήρχε και ένα μικρό κομμάτι κώδικα από το malware. Το άφησα όμως έτσι και κατευθείαν προχώρησα στην πλήρη επανεγκατάσταση του WordPress. Αν υπήρχε κάποιο αρχείο που μου ξέφυγε, θα αντικαθιστόταν από την επανεγκατάσταση. Η επανεγκατάσταση του WordPress μπορεί να γίνει με δύο τρόπους:
- Πηγαίνοντας Πίνακας Ελέγχου -> Ενημερώσεις -> Επανεγκατάσταση τώρα.
- Κατεβάζεις το WordPress από το WordPress.org και ανεβάζεις όλα τα αρχεία στον server αντικαθιστόντας τα παλιά. Εδώ θέλει προσοχή βέβαια καθώς θα χρειαστεί να αλλάξεις από ορισμένα αρχεία τα στοιχεία για να μπορεί να συνδεθεί με την βάση δεδομένων.
Μόλις έκανα επανεγκατάσταση το WordPress, κατέβασα το theme, το ξανά ανέβασα και αντικατέστησα όλα τα αρχεία του. Το blog κατευθείαν έστρωσε και επανήλθε στον κανονικό του σχεδιασμό.
Έλεγξα στη συνέχεια αν υπήρχαν άλλα αρχεία επιρρεασμένα από το malware κάνοντας ξανά ένα scan με το Wordfence και ελέγχοντας με χειροκίνητο τρόπο τα πιο σημαντικά αρχεία του blog και του WordPress.
Το wp-vcd malware συχνά επηρεάζει τα παρακάτω αρχεία:
- wp-includes/wp-vcd.php
- wp-includes/wp-tmp.php
- wp-content/themes/*/functions.php (όλα τα themes που υπάρχουν στον server, άσχετα αν είναι ενεργοποιημένα ή απενεργοποιημένα)
- class.theme-modules.php
- class.wp.php
- admin.txt
- codexc.txt
- code1.php
- class.theme-modules.php (μέσα στον φάκελο του theme)
Έλεγξε επίσης για string patterns:
- tmpcontentx
- function wp_temp_setupx
- wp-tmp.php
- derna.top/code.php
- stripos($tmpcontent, $wp_auth_key)
Όταν σιγουρεύτηκα πως το malware έχει αφαιρεθεί εντελώς, άφησα το Wordfence να τρέχει και μέσα από το Plesk Control Panel έλεγξα επίσης την ασφάλεια της WordPress εγκατάστασης για να αποτρέψω την δημιουργία ή επεξεργασία ορισμένων βασικών αρχείων από τρίτους.
Προς το παρόν όλα φαίνονται μια χαρά, αλλά αν υπάρξει κάποια αλλαγή, θα ανανεώσω το άρθρο.
Ενημερώσεις άρθρου:
Φαίνεται πως οι περισσότερες ιστοσελίδες οι οποίες κόλλησαν το συγκεκριμένο malware ήταν εξαιτίας του Social Warfare, ένα αρκετά δημοφιλής WordPress plugin με πάνω από 70 χιλιάδες ενεργές εγκαταστάσεις. Είμαι ένας από τους top beta testers για το Social Warfare και ενημερώθηκα πως το πρόβλημα διορθώθηκε (οπότε αν το έχεις ενημέρωσε το οπωσδήποτε). Το Wordfence έβγαλε και ανακοίνωση στο επίσημο blog του για το συγκεκριμένο θέμα. Το Social Warfare διόρθωσε το πρόβλημα με νέα ενημέρωση μέσα σε μόλις μια ώρα.
Το δικό σου blog έχει κολλήσει ποτέ malware; Μήπως στο έχουν χακάρει ποτέ; Τι μέτρα έχεις πάρει για να σιγουρευτείς πως η ασφάλεια είναι όσο το δυνατόν πιο καλή γίνεται; Θα χαρώ να ακούσω τις απόψεις σου στα σχόλια παρακάτω.
Featured Image Credits: Φωτογραφία από Fatos Bytyqi στο Unsplash.