- Το RootkitRevealer ανιχνεύει αποκλίσεις μεταξύ των API των Windows και των ακατέργαστων δεδομένων για να αποκαλύψει κρυφά προβλήματα.
- Ερμηνεύει τα αποτελέσματα: μεταδεδομένα NTFS, τύποι ασυμφωνιών μητρώου και συστήματος αρχείων.
- Χρησιμοποιήστε τις επιλογές -a -c -m -r και απομακρυσμένης εκτέλεσης με το PsExec. Απαιτούνται ελάχιστα ψευδώς θετικά αποτελέσματα όταν το σύστημα είναι αδρανές.
- Πρόληψη και αντιμετώπιση: Ασφαλής εκκίνηση/TPM, σαρώσεις εκτός σύνδεσης, εργαλεία anti-rootkit και ελεγχόμενη επαναφορά.

Το RootkitRevealer είναι ένα από αυτά τα θρυλικά βοηθητικά προγράμματα που κάθε επαγγελματίας των Windows πρέπει να γνωρίζει. Δημιουργήθηκε από την ομάδα Sysinternals με επικεφαλής τον Mark Russinovich και, παρόλο που εμφανίστηκε πριν από χρόνια, παραμένει ένα σημείο αναφοράς για την κατανόηση του τρόπου ανίχνευσης των αποκλίσεων που προκαλούνται από τα rootkits μεταξύ αυτού που εμφανίζει το σύστημα και αυτού που υπάρχει στην πραγματικότητα στον δίσκο.
Σε αντίθεση με άλλους σαρωτές, δεν αναζητά υπογραφές ή μοτίβα: συγκρίνει μια προβολή υψηλού επιπέδου του API των Windows με μια ακατέργαστη, χαμηλού επιπέδου ανάγνωση του δίσκου και του Μητρώου. Αυτή η φαινομενικά απλή ιδέα αποκαλύπτει πότε ένα κακόβουλο λογισμικό προσπαθεί να κρύψει αρχεία, κλειδιά ή τιμές χειραγωγώντας κλήσεις συστήματος.
Τι είναι το RootkitRevealer και σε ποια συστήματα λειτουργεί;
Πρόκειται για ένα προηγμένο εργαλείο για την ανίχνευση σημαδιών rootkit τόσο σε λειτουργία χρήστη όσο και σε λειτουργία πυρήνα . Αναπτύχθηκε αρχικά για Windows XP και Windows Server 2003 (32-bit) και συνήθως αναφέρεται ως δωρεάν, στα Αγγλικά, και έχει μέγεθος περίπου 231 KiB. Πολλές καταχωρίσεις ανέφεραν επίσης τη συμβατότητά του με τα Windows NT/2000/XP/Vista εκείνη την εποχή.
Με την πάροδο του χρόνου, η αμιγώς εκδοχή του που χρησιμοποιούνταν μέσω γραμμής εντολών καταργήθηκε επειδή ορισμένοι δημιουργοί κακόβουλου λογισμικού άρχισαν να παρακολουθούν το όνομα του εκτελέσιμου αρχείου. Για να αποφευχθεί αυτό, το πρόγραμμα εκκινείται ως υπηρεσία από ένα τυχαία ονομασμένο αντίγραφο του εαυτού του, γεγονός που καθιστά την ανίχνευση με βάση το όνομα πιο δύσκολη και περιπλέκει την παροχή μιας διεπαφής κονσόλας 100%.
Τι είναι ένα rootkit; Βασικές έννοιες
Ο όρος rootkit αναφέρεται σε τεχνικές και μηχανισμούς που επιτρέπουν σε κακόβουλο λογισμικό (ιούς, Trojans, spyware κ.λπ.) να κρύβεται από τον χρήστη και τα εργαλεία ασφαλείας . Διακρίνονται αρκετές οικογένειες: μόνιμες (επιζώντες επανεκκινήσεις), μόνιμες στη μνήμη (εξαφανιζόμενες κατά την επανεκκίνηση), λειτουργία χρήστη και λειτουργία πυρήνα, μεταξύ άλλων σύγχρονων παραλλαγών.
Ένα rootkit λειτουργίας χρήστη μπορεί να παρεμποδίσει λειτουργίες όπως το FindFirstFile/FindNextFile ή τους εγγενείς απαριθμητές του συστήματος, για να φιλτράρει καταχωρήσεις που θα αποκάλυπταν τα τροποποιημένα αρχεία, τις διεργασίες ή τα κλειδιά μητρώου . Αυτό εμποδίζει την Εξερεύνηση, τη γραμμή εντολών ή τους επεξεργαστές μητρώου να δουν τι υπάρχει στην πραγματικότητα.
Τα rootkit σε λειτουργία πυρήνα προχωρούν ένα βήμα παραπέρα: εκτός από την παρεμπόδιση του εγγενούς API, μπορούν να χειραγωγήσουν άμεσα τις δομές του πυρήνα, για παράδειγμα αφαιρώντας τη διεργασία τους από τη λίστα των ενεργών διεργασιών, έτσι ώστε να μην εμφανίζεται στη Διαχείριση Εργασιών ή στην Εξερεύνηση Διεργασιών παρόλο που εκτελείται.
Υπάρχουν υβριδικά (εν μέρει βασισμένα στον χρήστη και εν μέρει στον πυρήνα), firmware (BIOS/UEFI και άλλα στοιχεία), boot ή bootkit (MBR/UEFI), εικονικά (που τοποθετούν το πραγματικό λειτουργικό σύστημα μέσα σε μια εικονική μηχανή) και bootloaders που βασίζονται στη μνήμη (μη μόνιμα). Τα τελευταία μπορεί να είναι ιδιαίτερα δυσεύρετα, ενώ τα firmware και τα bootloaders παραμένουν ακόμα και μετά από μια καθαρή επανεγκατάσταση του λειτουργικού συστήματος.
Πώς λειτουργεί το RootkitRevealer
Το RKR αντιπαραβάλλει δύο στιγμιότυπα: την προβολή υψηλού επιπέδου του API των Windows και την ακατέργαστη, χαμηλού επιπέδου ανάγνωση των αρχείων υποδέντρου τόμου και μητρώου (hives). Εάν ένα rootkit παραβιάσει κλήσεις υψηλού επιπέδου για να κρύψει κάτι, αυτή η αλλοίωση αποκαλύπτεται επειδή αυτό που υπάρχει στον δίσκο και στο μητρώο δεν ταιριάζει με αυτό που λέει το API ότι υπάρχει εκεί, δημιουργώντας διαγνώσιμες αποκλίσεις.
Θεωρητικά, ένα rootkit θα μπορούσε επίσης να προσπαθήσει να κρυφτεί από το RootkitRevealer αναχαιτίζοντας τις ακατέργαστες αναγνώσεις του και ξαναγράφοντας τα δεδομένα εν κινήσει. Για να επιτευχθεί αυτό, θα χρειαζόταν βαθιά γνώση των μορφών NTFS, FAT και Registry και θα ήταν σε θέση να τροποποιήσει δομές χωρίς να προκαλέσει ασυνέπειες ή προφανείς παρενέργειες - ένα εξαιρετικά περίπλοκο τεχνικό επίτευγμα που σπάνια έχει παρατηρηθεί. Ακόμα και έτσι, δεν υπάρχει αλάνθαστος "καθολικός ανιχνευτής": ακόμη και η εκκίνηση από ένα εξωτερικό περιβάλλον (για παράδειγμα, χρησιμοποιώντας τις καλύτερες διανομές Linux ) θα μπορούσε να σαμποταριστεί από ιδιαίτερα εξελιγμένα και επίμονα αντικείμενα . Στην πράξη, η πιο ισχυρή προσέγγιση είναι να συνδυαστεί η online ανάλυση με την offline επαλήθευση σε αξιόπιστα περιβάλλοντα.
Απαιτήσεις, καλές πρακτικές και εκτέλεση
Για να εκτελεστεί αυτή η σάρωση, ο λογαριασμός χρειάζεται τα δικαιώματα "Δημιουργία αντιγράφων ασφαλείας αρχείων και καταλόγων", "Φόρτωση προγραμμάτων οδήγησης" και "Συντήρηση τόμου" (αυτά εκχωρούνται από προεπιλογή στους διαχειριστές στα Windows XP και νεότερες εκδόσεις). Για την ελαχιστοποίηση των ψευδώς θετικών αποτελεσμάτων, συνιστάται να εκτελείται η σάρωση με το σύστημα σε κατάσταση ηρεμίας και χωρίς ανοιχτές εφαρμογές.
Κατά τη χειροκίνητη εκτέλεση, απλώς πατήστε το κουμπί σάρωσης. Κατά τη διάρκεια της διαδικασίας, το πρόγραμμα θα παρέχει ενημερώσεις προόδου και θα εμφανίζει τυχόν αποκλίσεις. Υπάρχουν δύο σχετικές επιλογές: «Απόκρυψη αρχείων μεταδεδομένων NTFS» (ενεργοποιημένη από προεπιλογή, για να αποφευχθεί η εμφάνιση τυπικών μεταδεδομένων που είναι κρυμμένα από το NTFS) και «Αρχείο καταγραφής σάρωσης» (ενεργοποιημένη από προεπιλογή· η αποεπιλογή της θα παραλείψει τη σάρωση του Μητρώου των Windows ).
Για αυτοματοποίηση, υποστηρίζει παραμέτρους που σας επιτρέπουν να ξεκινήσετε, να συνδεθείτε και να τερματίσετε χωρίς παρέμβαση: rootkitrevealer outputfile]. Η επιλογή -a ξεκινά και τελειώνει αυτόματα· -c εμφανίστε το αποτέλεσμα σε μορφή CSV. -m εμφανίζει μεταδεδομένα NTFS και -r απενεργοποιεί τη σάρωση μητρώου. Το αρχείο εξόδου πρέπει να βρίσκεται σε προσβάσιμος τοπικός τόμος.
Η απομακρυσμένη εκτέλεση είναι δυνατή με το PsExec. Για παράδειγμα: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log. Με -c, η πρόοδος δεν εμφανίζεται και οι αποκλίσεις εκτυπώνονται σε μορφή CSV, διευκολύνοντας την εισαγωγή σε βάσεις δεδομένων ή σενάρια.
Ερμηνεία αποτελεσμάτων και τυπικές αποκλίσεις
Οι αποκλίσεις "Κρυφό από το API των Windows" είναι οι πιο συνηθισμένες όταν ένα rootkit αποκρύπτει καταχωρήσεις. Εάν δεν έχετε ενεργοποιήσει την εμφάνιση μεταδεδομένων NTFS, θα δείτε διαφορές επειδή το NTFS αποκρύπτει τα εσωτερικά του αρχεία, όπως το $MFT ή το $Secure , από το API . Ορισμένα προγράμματα προστασίας από ιούς αποθηκεύουν επίσης δεδομένα σε εναλλακτικές ροές και τα αποκρύπτουν, με αποτέλεσμα παρόμοια σφάλματα.
Αυτά είναι μερικά από τα τυπικά μεταδεδομένα που ορίζονται στο NTFS (Windows Server 2003): $AttrDef, $BadClus, $BadClus:$Bad, $BitMap, $Boot, $LogFile, $Mft, $MftMirr, $Secure, $UpCase, $Volume, $Extend, $Extend\$Reparse, $Extend\$ObjId, $Extend\$UsnJrnl, $Extend\$UsnJrnl:$Max, $Extend\$Quota.
Το RKR συσχετίζει τρεις πηγές στο σύστημα αρχείων: το API των Windows, τον Κύριο Πίνακα Αρχείων (MFT) και τα ευρετήρια καταλόγων στον δίσκο. Ενδέχεται να εμφανιστούν συνδυασμοί όπως "Ορατό στο API αλλά όχι στο ευρετήριο ή στο MFT", "Ορατό στο MFT αλλά όχι στο API" κ.λπ., ειδικά εάν δημιουργηθεί ή διαγραφεί ένα αρχείο κατά την ανάλυση και παράγει ένα παράθυρο προσωρινής ασυνέπειας.
Παράδειγμα δημιουργίας κατά τη σάρωση: C:\newfile.txt, μεγέθους 8 byte, με το μήνυμα «Ορατό στο API, αλλά όχι στο ευρετήριο ή στο MFT». Αυτές οι περιπτώσεις δεν υποδεικνύουν απαραίτητα rootkits, αλλά ταυτόχρονες αλλαγές ενώ εξετάζεται.
Εάν εμφανιστεί το μήνυμα "Access denied", κάτι δεν πάει καλά: Το RootkitRevealer χρησιμοποιεί μηχανισμούς για την πρόσβαση σε οποιοδήποτε αρχείο, κατάλογο ή κλειδί, επομένως αυτό το μήνυμα δεν θα πρέπει να εμφανίζεται υπό κανονικές συνθήκες λειτουργίας.
Στο Μητρώο, υπάρχουν αρκετές ενδιαφέρουσες αποκλίσεις: «Το μήκος του API των Windows δεν είναι συμβατό με τα ανεπεξέργαστα δεδομένα» (πιθανή προσπάθεια απόκρυψης του πραγματικού περιεχομένου), «Ασυμφωνία τύπου» (π.χ., το REG_SZ διαφημίζεται αλλά θα έπρεπε να είναι REG_BINARY), «Το όνομα κλειδιού περιέχει ενσωματωμένες τιμές NULL» (μια γνωστή τεχνική που εκμεταλλεύεται τη διαφορά μεταξύ συμβολοσειρών που τερματίζονται σε NULL και συμβολοσειρών με αριθμούς). Για την τελευταία περίπτωση, το βοηθητικό πρόγραμμα RegDelNull της Sysinternals βοηθά στον καθαρισμό κλειδιών με ενσωματωμένα NULL.
«Ασυμφωνία δεδομένων» μπορεί να προκύψει εάν αλλάξει μια τιμή κατά τη διάρκεια της σάρωσης (π.χ., χρόνοι λειτουργίας του SQL Server, όπως HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc). Πρέπει να επαληθεύσετε ότι η τιμή ανήκει σε νόμιμα στοιχεία που ενημερώνουν τα δεδομένα σε πραγματικό χρόνο.
Ένα χαρακτηριστικό παράδειγμα ήταν το rootkit HackerDefender: οι υπηρεσίες και τα προγράμματα οδήγησης του ήταν αόρατα στο API των Windows, αλλά υπήρχαν στην ακατέργαστη ανάγνωση της ομάδας μητρώου. Το ίδιο ίσχυε και για τα αρχεία του, τα οποία η άμεση ανάλυση του συστήματος αρχείων εντόπισε στον δίσκο.
Συνηθισμένα σφάλματα και προβλήματα με το rootkitrevealer.exe σε εγκληματολογικά περιβάλλοντα
Ορισμένα κιτ εγκληματολογικής ανάλυσης (π.χ., WinTaylor) παραθέτουν τυπικά σφάλματα που σχετίζονται με το rootkitrevealer.exe , όπως: "δεν είναι έγκυρη εφαρμογή Win32", "δεν βρέθηκε", "σφάλμα εφαρμογής" ή "πρόβλημα εκκίνησης". Αυτά τα μηνύματα εμφανίζονται συνήθως κατά την εγκατάσταση, την εκκίνηση ή τον τερματισμό του συστήματος ή λόγω διενέξεων με άλλες εφαρμογές που βρίσκονται στο σύστημα.
Οι πιο συχνές αιτίες περιλαμβάνουν κατεστραμμένα ή ελλείποντα αρχεία, μη έγκυρες καταχωρήσεις μητρώου, μολύνσεις από κακόβουλο λογισμικό, ελλιπείς απεγκαταστάσεις ή διενέξεις με άλλο λογισμικό. Η πηγή θα μπορούσε να είναι μια κατεστραμμένη καταχώρηση μητρώου, τυχαία διαγραφή από άλλο εργαλείο, μια αποτυχημένη λήψη ή μια προηγούμενη μόλυνση που άλλαξε το δυαδικό αρχείο.
Ως περιέργεια του αποθέματος, ορισμένες καταχωρίσεις τεκμηριώνουν το εκτελέσιμο αρχείο με μέγεθος περίπου 334.720 byte και hashes όπως SHA‑1 και MD5 (π.χ. SHA‑1 d39e8a3fe92adc7d7fbc5293edf8a7b965484a59, MD5 ee738fe9bcdd605821002cec8c7206db) και CRC32 98b1af0b; αναφέρονται επίσης στο έκδοση 2.1 στην εφαρμογή κοντέινερ και κατηγορία «Εργαλειοθήκη/Λειτουργικό Σύστημα Εγκληματολογίας».
Μέθοδοι ανίχνευσης και απόκρισης rootkit
Η ανίχνευση ενός rootkit δεν είναι πάντα εύκολη υπόθεση. Πέρα από συγκεκριμένα εργαλεία, τεχνικές όπως η ανάλυση υπογραφών γνωστών απειλών, η ψυχρή σύγκριση δομών, οι αναζητήσεις μνήμης για hooks και τροποποιήσεις και η ανασκόπηση των memory dumps μετά από σφάλματα συνδυάζονται για τον εντοπισμό ύποπτων μονάδων . Είναι επίσης σύνηθες να βασίζεστε σε Συστήματα Πρόληψης Εισβολών (IPS) για την προστασία του δικτύου και τη μείωση των φορέων μόλυνσης.
Εξειδικευμένα βοηθητικά προγράμματα περιλαμβάνουν το GMER (για την ανίχνευση κρυφών διεργασιών και τροποποιήσεων πυρήνα), το Kaspersky TDSSKiller (ειδικά για την ανίχνευση bootkits και rootkits πυρήνα), το Malwarebytes Anti-Rootkit, το Microsoft Defender Offline (για σάρωση πριν από την εκκίνηση των Windows) και το RogueKiller. Η εκτέλεση αυτών από μια αξιόπιστη μονάδα USB με δυνατότητα εκκίνησης ή σε ασφαλή λειτουργία μειώνει την επιφάνεια επίθεσης.
Για απειλές εκκίνησης ή υλικολογισμικού, συνιστάται η χρήση μέσων διάσωσης όπως το Kaspersky Rescue Disk, επαναφέρετε το MBR με bootrec /fixmbr όπου είναι απαραίτητο και σε σοβαρές περιπτώσεις, ενημερώστε/εγκαταστήστε το BIOS/UEFI σε μια καθαρή έκδοση από τον κατασκευαστή για να εξαλείψετε χαμηλού επιπέδου επιμονή.
Η παρακολούθηση με το Sysinternals είναι ανεκτίμητη: Process Monitor (ProcMon) για τη δραστηριότητα διεργασιών και αρχείων, Autoruns για έλεγχο των δεδομένων που φορτώνονται κατά την εκκίνηση και RootkitRevealer για αποκλίσεις υψηλού/χαμηλού επιπέδου. Οι πλατφόρμες SIEM όπως το Wazuh και η τηλεμετρία σε εταιρικά περιβάλλοντα μπορούν να αποκαλύψουν απροσδόκητες συμπεριφορές δικτύου ή αλλαγές στην ακεραιότητα.
Εάν επιβεβαιωθεί η μόλυνση, η λογική ακολουθία είναι: αποσύνδεση του μηχανήματος από το δίκτυο, σάρωση από εξωτερικό περιβάλλον, αξιολόγηση της ακεραιότητας εκκίνησης/υλικολογισμικού και, εάν δεν υπάρχουν εγγυήσεις, δημιουργία αντιγράφων ασφαλείας των δεδομένων, πλήρης καθαρισμός του δίσκου (εργαλεία όπως το DBAN) και επανεγκατάσταση από επαληθευμένα μέσα, και στη συνέχεια ενεργοποίηση μέτρων όπως η Ασφαλής εκκίνηση και το TPM.
Πρόληψη: Εύλογη προστασία από rootkits
Η πρόληψη είναι το κλειδί. Διατηρήστε το σύστημά σας ενημερωμένο, εφαρμόστε ενημερώσεις κώδικα σε λογισμικό τρίτων, αποφύγετε τα εκτελέσιμα αρχεία από αμφίβολες πηγές και μην χρησιμοποιείτε cracks ή keygens: είναι ένα αγαπημένο μέσο για τη συσκευασία rootkit droppers και loaders .
Απενεργοποιήστε την αυτόματη εκτέλεση USB, σαρώστε τις εξωτερικές μονάδες δίσκου πριν τις ανοίξετε και, σε εταιρικά περιβάλλοντα, περιορίστε ή αποκλείστε τις θύρες και εφαρμόστε τείχη προστασίας όπου χρειάζεται. Εργαστείτε με λογαριασμούς χρηστών χωρίς δικαιώματα, εφαρμόστε την αρχή των ελάχιστων προνομίων και απαιτήστε διαπιστευτήρια διαχειριστή για κρίσιμες αλλαγές, μειώνοντας την πιθανότητα σιωπηλών κλιμακώσεων.
Σε συμβατό υλικό, ενεργοποιήστε την Ασφαλή εκκίνηση και το TPM από το UEFI για να προστατεύσετε την αλυσίδα εκκίνησης και τη σφράγιση κλειδιών. Διατηρήστε τακτικά αντίγραφα ασφαλείας εκτός σύνδεσης ή αμετάβλητα και χρησιμοποιήστε στιγμιότυπα/σημεία επαναφοράς για να μειώσετε τον χρόνο αποκατάστασης σε περίπτωση που κάτι πάει στραβά.
Πώς εγκαθίστανται τα rootkit: droppers, loaders και vectors
Οι εισβολείς συνήθως διανέμουν τα rootkit ως συνδυασμένες απειλές: ένα "dropper" που παραδίδει το πακέτο και ένα "loader" που εκμεταλλεύεται τρωτά σημεία (όπως υπερχείλιση buffer) για να εγκαταστήσει το εμφύτευμα εκεί που δεν θα έπρεπε. Αυτό μεταμφιέζεται σε email ηλεκτρονικού "ψαρέματος" (phishing) , ψεύτικα προγράμματα εγκατάστασης ή δόλιες ενημερώσεις.
Κλασικά διανύσματα περιλαμβάνουν την παραβίαση προγραμμάτων-πελατών ανταλλαγής μηνυμάτων για την εξάπλωση κακόβουλων συνδέσμων, την προσβολή από trojan λογισμικού σε πύλες λήψης, τη χρήση άλλου κακόβουλου λογισμικού ως φορέων και την ενσωμάτωση σε έγγραφα εμπλουτισμένου περιεχομένου (π.χ., ορισμένα PDF) που, όταν ανοίγουν, ενεργοποιούν αυτόματα το dropper.
Σημάδια επίθεσης και ενδείξεις ανίχνευσης
Ο στόχος ενός rootkit είναι να παραμένει απαρατήρητο. Ακόμα κι έτσι, ενδέχεται να παρατηρήσετε αλλαγές στη διαμόρφωση χωρίς την παρέμβαση του χρήστη, ασυνήθιστες διακοπές δικτύου λόγω κρυφής κίνησης, άγνωστες διεργασίες, υπηρεσίες που δεν μπορούν να κλείσουν και εργαλεία ασφαλείας που έχουν απενεργοποιηθεί χωρίς εξήγηση.
Μια άλλη ένδειξη είναι οι αντικρουόμενες πληροφορίες μεταξύ των βοηθητικών προγραμμάτων που παραθέτουν αρχεία, διεργασίες ή κλειδιά μητρώου χρησιμοποιώντας διαφορετικές διαδρομές (API έναντι ακατέργαστης ανάγνωσης). Εδώ είναι που ξεχωρίζουν προσεγγίσεις όπως το RootkitRevealer: το ίδιο αντικείμενο που "βρίσκεται" στον δίσκο αλλά "δεν είναι" σύμφωνα με το API υποδεικνύει χειραγώγηση.
Κύριοι τύποι rootkits
Λειτουργία χρήστη: Αυτές λειτουργούν σε επίπεδο διεργασίας και βιβλιοθήκης. Είναι πιο σταθερές και σχετικά πιο εύκολες στην ανίχνευση, αν και μπορούν να αποκρύψουν αρχεία, διεργασίες και κλειδιά. Ένα κλασικό ιστορικό παράδειγμα είναι το HackerDefender.
Λειτουργία πυρήνα: Αυτοί οι ιοί βρίσκονται στον πυρήνα, με πλήρη έλεγχο και μεγάλη μυστικότητα. Είναι δύσκολο να εξαλειφθούν και τείνουν να προκαλούν αστάθειες εάν δεν έχουν σχεδιαστεί σωστά. Παραδείγματα αυτής της οικογένειας: TDL/Alureon στην εξέλιξή του.
Υβριδικά: συνδυάζουν στοιχεία χρήστη και πυρήνα για να εξισορροπήσουν την απόκρυψη και τη σταθερότητα, με αποτέλεσμα τη δημοτικότητά τους μεταξύ των επιτιθέμενων λόγω της πρακτικής ευελιξίας τους.
Firmware/Bootkits: Αυτά μολύνουν το BIOS/UEFI ή τον τομέα εκκίνησης (MBR/UEFI) για να φορτωθούν πριν από το λειτουργικό σύστημα. Τεχνολογίες όπως η Ασφαλής Εκκίνηση έχουν καταστήσει πολλά κλασικά bootkits παρωχημένα, αλλά έχουν εμφανιστεί σύγχρονα εμφυτεύματα UEFI.
Εικονικά και βασισμένα στη μνήμη: Τα VMBR φορτώνουν έναν υπερεπόπτη κάτω από το λειτουργικό σύστημα και το εικονικοποιούν. Αυτά που βασίζονται στη μνήμη βρίσκονται μόνο στη μνήμη RAM και εξαφανίζονται κατά την επανεκκίνηση, κάτι πολύ χρήσιμο για εφήμερες λειτουργίες.
Παραδείγματα και επισημασμένη χρονολογία
Τα πρώτα rootkit για το SunOS αναπτύχθηκαν τη δεκαετία του 90. Το 1999, ο Greg Hoglund περιέγραψε το NTRootkit (Windows, λειτουργία πυρήνα) και το 2003 εμφανίστηκε το HackerDefender (Windows 2000/XP, λειτουργία χρήστη), το οποίο πυροδότησε μια «διελκυστίνδα» με εργαλεία όπως το RootkitRevealer.
Το 2004, το λεγόμενο «Ελληνικό Γουότεργκεϊτ» χρησιμοποίησε ένα rootkit για να χακάρει περισσότερα από 100 τηλέφωνα σε δίκτυο GSM. Το 2005 ανακαλύφθηκε ότι η Sony BMG περιελάμβανε ένα rootkit κατά της πειρατείας σε ορισμένα CD, πυροδοτώντας μια τεράστια διαμάχη για την ασφάλεια.
Από το 2008, τα bootkits όπως το TDL (TDL-1 έως TDL-4) έχουν εξελιχθεί. Το 2009, ο «Μακιαβέλι» απέδειξε ότι ούτε το macOS (τότε Mac OS X) ήταν άτρωτο. Το 2010, το Stuxnet χρησιμοποίησε στοιχεία rootkit για να σαμποτάρει τα ιρανικά βιομηχανικά συστήματα.
Το 2012 εμφανίστηκε το Flame , ένα τεράστιο αρθρωτό κακόβουλο λογισμικό . Το 2018, το LoJax έγινε το πρώτο rootkit UEFI που εντοπίστηκε σε πραγματικό χρόνο. Και το 2019, η Scranos συνδύασε την κλοπή διαπιστευτηρίων και την κρυφή δημιουργία εσόδων με click farms μέσω μαζικά παραβιασμένων προγραμμάτων περιήγησης.
Πόροι και προτεινόμενα αναγνώσματα
Η έρευνα του Mark Russinovich για την υπόθεση της Sony και το άρθρο του "Unearthing Rootkits" στο Windows IT Pro βοηθούν στην κατανόηση του φαινομένου και της τεχνικής πίσω από το RKR. Το βιβλίο "Rootkits: Subverting the Windows Kernel" των Greg Hoglund και Jamie Butler είναι η πιο εμπεριστατωμένη πραγματεία επί του θέματος.
Το Αρχείο Phrack, το βιβλίο "Η Τέχνη της Έρευνας και Άμυνας κατά των Ιών Υπολογιστών" του Peter Szor, το βιβλίο "Κακόβουλο λογισμικό: Καταπολέμηση Κακόβουλου Κώδικα" των Ed Skoudis και Lenny Zeltser, καθώς και η σειρά "Εσωτερικά των Windows" (από την 4η έκδοση και μετά) αποτελούν απαραίτητο υλικό για όποιον θέλει να εμβαθύνει στην αρχιτεκτονική και τα σοβαρά αντίμετρα.
RootkitRevealer στο οικοσύστημα Sysinternals
Το RKR συνυπάρχει με άλλα βοηθητικά προγράμματα του Sysinternals που είναι χρήσιμα στην έρευνα: AccessChk και AccessEnum (ουσιαστικά δικαιώματα), Autoruns (όλα όσα ξεκινούν με το σύστημα), Process Explorer (ποιος άνοιξε τι και με ποιο DLL), PsExec/PsTools (απομακρυσμένη εκτέλεση και διαχείριση), PsLogList και PsLoggedOn (συμβάντα και συνεδρίες), Sigcheck (ψηφιακές υπογραφές), SDelete (ασφαλής διαγραφή), ShareEnum (κοινόχρηστοι πόροι) και Sysmon (προηγμένη τηλεμετρία στο αρχείο καταγραφής συμβάντων).
Είναι σύνηθες να βρίσκουμε αναφορές στο "Download 1.71" σε ιστορικά αποθετήρια, καθώς και στο "Run now" μέσω του Sysinternals Live. Παρόλο που το έργο είναι βετεράνο, η νοοτροπία του - η σύγκριση προσεγγίσεων υψηλού επιπέδου με χαμηλού επιπέδου - παραμένει το κλειδί για το κυνήγι rootkit.
Το RootkitRevealer είναι, πάνω απ' όλα, ένα μάθημα αμυντικής μηχανικής: αν κάτι χειραγωγεί αυτό που επιστρέφει το API, πρέπει να κοιτάξετε από κάτω και να το συγκρίνετε με αυτό που υπάρχει στην πραγματικότητα στον δίσκο και στο Μητρώο. Με καλές πρακτικές, κατάλληλα εργαλεία και επαλήθευση εκτός σύνδεσης όταν είναι απαραίτητο, είναι δυνατό να αποκαλύψουμε τι προσπαθεί να κρυφτεί εκεί που νομίζουμε ότι κανείς δεν θα ψάξει.
Δείκτης
- 1 Τι είναι το RootkitRevealer και σε ποια συστήματα λειτουργεί;
- 2 Τι είναι ένα rootkit; Βασικές έννοιες
- 3 Πώς λειτουργεί το RootkitRevealer
- 4 Απαιτήσεις, καλές πρακτικές και εκτέλεση
- 5 Ερμηνεία αποτελεσμάτων και τυπικές αποκλίσεις
- 6 Συνηθισμένα σφάλματα και προβλήματα με το rootkitrevealer.exe σε εγκληματολογικά περιβάλλοντα
- 7 Μέθοδοι ανίχνευσης και απόκρισης rootkit
- 8 Πρόληψη: Εύλογη προστασία από rootkits
- 9 Πώς εγκαθίστανται τα rootkit: droppers, loaders και vectors
- 10 Σημάδια επίθεσης και ενδείξεις ανίχνευσης
- 11 Κύριοι τύποι rootkits
- 12 Παραδείγματα και επισημασμένη χρονολογία
- 13 Πόροι και προτεινόμενα αναγνώσματα
- 14 RootkitRevealer στο οικοσύστημα Sysinternals