|

[Linux] Ξετρυπώστε τα rootkits με το Tiger


To rootkit είναι λογισμικό (ή συνδυασμός λογισμικών) που έχει σχεδιαστεί ώστε να παίρνει τον έλεγχο ηλεκτρονικών υπολογιστών. Έχει τη δυνατότητα να κρύβεται βαθιά στο σύστημα, ούτως ώστε να αποφεύγει τους μηχανισμούς ασφάλειας των λειτουργικών συστημάτων. Η ονομασία του είναι σύνθετη και προκύπτει από το «root» (δηλαδή του διαχειριστή) και το «kit» («εργαλειοθήκη» λογισμικού).
Πρακτικά, είναι δύσκολο να εγκατασταθεί ένα rootkit έτσι απλά, καθώς απαιτείται διαχειριστική πρόσβαση, και ο συνήθης τρόπος είναι η εγκατάστασή τους με φυσική πρόσβαση στον υπολογιστή του θύματος. Ίσως να μη συγκαταλέγονται στα εξόχως επικίνδυνα συστατικά από μόνα τους, ωστόσο η απαλλαγή από αυτά κρίνεται επιτακτική.
Περισσότερα για τα rootkits
Τα rootkits μπορούν να κρύβονται συνεχώς από τα εργαλεία του συστήματος, κάτι που οδηγεί στην αδυναμία πλήρους επιδιόρθωσής του, φτάνοντας μέχρι την ολική απώλεια ελέγχου από τον φυσικό κάτοχο μα και την υποκλοπή πληροφοριών (αριθμοί πιστωτικών καρτών, κωδικοί πρόσβασης κ.ά)
Σε γενικές γραμμές, θα πρέπει να έχετε υπόψη πως η αντιμετώπισή τους έχει να κάνει τόσο με την ενημέρωση του συστήματός σας όσο και με τη «γενιά» του κάθε rootkit. Θα βρείτε διαθέσιμα διάφορα εργαλεία, τα οποία μπορούν να χρησιμοποιηθούν τόσο από διαχειριστές συστημάτων όσο και από απλούς χρήστες. Το καλό είναι πως υπάρχουν αξιόπιστες μέθοδοι αποκάλυψης τους, αλλιώς σήμερα δε θα μπορούσε να σταθεί server ή να πραγματοποιηθεί οποιαδήποτε συναλλαγή.

Πληροφορία
Τα 32bit συστήματα είναι πολύ πιο ευάλωτα σε κάθε γενιά rootkit, συγκριτικά με τα 64bit.

Μια από τις συνηθισμένες μεθόδους ελέγχου για rootkits (και όχι μόνο), είναι η χρήση ενός εναλλακτικού, αξιόπιστου μέσου αποθήκευσης. Εδώ έχετε το ίδιο λειτουργικό σύστημα σε έναν εξωτερικό δίσκο -παράλληλα με το βασικό σας μηχάνημα- από τον οποίο εκκινείτε. Έτσι, το λογισμικό ελέγχου θα «τσιμπήσει» εύκολα το rootkit από τον άλλο δίσκο, επειδή ένα ανενεργό rootkit δεν είναι καμουφλαρισμένο ή κρυφό.
Άλλες μέθοδοι που χρησιμοποιούν αυτά τα ειδικευμένα εργαλεία είναι είναι η συμπεριφορική, η βασισμένη στην υπογραφή, η βασισμένη στις διαφορές μα και τα memory dumps (μια πιο εξειδικευμένη μέθοδος με μεταποθήκευση εικονικής μνήμης σε ένα υπάρχον λειτουργικό σύστημα).

Έφτασε λοιπόν η ώρα να μιλήσουμε για ένα από τα πιο αξιόπιστα εργαλεία εύρεσης των rootkits στο σύστημά μας, το Tiger.

Τι είναι το Tiger

Αν και υπάρχουν αρκετά και αξιόλογα λογισμικά ασφαλείας και εντοπισμού εισβολής ξενιστών, ελάχιστα ειδικεύονται στην (host-side) πλήρη ανίχνευσή τους.
Αυτό το κάνει το Tiger, ένα Ελεύθερου Κώδικα λογισμικό (GPL), διαθέσιμο για Linux και BSD συστήματα. Πρόκειται για ένα εργαλείο που μπορεί να χρησιμοποιηθεί τόσο για ελέγχους ασφαλείας όσο και ως σύστημα ανίχνευσης εισβολών όπως τα rootkits. Έχει τη δυνατότητα να συνεργαστεί με οποιοδήποτε υπάρχον λογισμικό ασφαλείας, ενώ χρησιμοποιείται επαγγελματικά αλλά και από απλούς χρήστες που επιθυμούν προληπτικούς ελέγχους.
Η ανάπτυξή του ξεκίνησε το 1994, από την ομάδα CIS Network του Πανεπιστημίου του Τέξας. Έκτοτε συνεχίζεται αργά αλλά σταθερά, όπως σχεδόν κάθε εργαλείο του είδους, ενώ από τον κώδικά του έχουν ξεπηδήσει κάποια forks.

Στην ουσία πρόκειται για ένα σύστημα εντοπισμού μα όχι και εξάλειψης των απειλών, το οποίο σκανάρει ολόκληρο το σύστημά σας, παρουσιάζοντας στο τέλος μια λεπτομερή και σαφέστατη αναφορά για όλα τα προβλήματα ασφαλείας που τυχόν βρέθηκαν. Φυσικά, υποδεικνύει τα σημεία όπου υπάρχουν rootkits, αν συμβαίνει πράγματι κάτι τέτοιο. Δε μένει σε επιφανειακούς ελέγχους, όπως τα διάφορα antivirus, μα αντίθετα, προχωράει σε βάθος και εξετάζει κάθε αρχείο και φάκελο, φανερό ή μη, σε οποιαδήποτε γωνιά του συστήματός σας.

Διενεργεί μια σειρά ελέγχων, όπως (ενδεικτικά) για γνωστά αρχεία και καταλόγους rootkit μα και για rootkit strings, ελέγχους σε δικτυακά ports και διεπαφές, στο σύστημα εκκίνησης, σε λογαριασμούς χρηστών, σε αρχεία ρυθμίσεων αλλά και στο ίδιο το σύστημα αρχείων. Επίσης, μπορεί να κάνει ειδικούς ελέγχους για trojan, malware, backdoors, sniffer log files και άλλους ύποπτους καταλόγους και αρχεία, μα και σύγκριση των SHA-1 hashes των εκτελέσιμων του συστήματος. Επιπλέον, διενεργεί ανίχνευση για προεπιλεγμένα αρχεία που χρησιμοποιούν rootkits, για λάθη σε δικαιώματα αρχείων εφαρμογών και γενικά η λίστα των δυνατοτήτων του είναι τεράστια.
Συνοπτικά, οι βασικότεροι έλεγχοι γίνονται για αρχεια κωδικών (passwords) και ρυθμίσεων σύνδεσης, αρχεια ρυθμίσεων bash, αρχεία ρυθμίσεων FTP και SSH, αρχείων b.aaa0bcron που εκκινούν με το σύστημα, rhost και netrc αρχεία καθώς και μια σειρά διεργασιών του συστήματός σας, περιλαμβανομένων και άλλων αρχείων.

Εγκατάσταση του Tiger

Η πιο πρόσφατη σταθερή έκδοση του Tiger είναι η 3.2.3. Το λογισμικό διατίθεται από τους προγραμματιστές του μόνο ως πηγαίος κώδικας, εντούτοις αρκετές διανομές παρέχουν έτοιμα binaries.
Debian/Ubuntu και παράγωγα
Υπάρχει το ανάλογο πακέτο στα αποθετήρια των διανομών και μάλιστα στην τελευταία έκδοση. Εναλλακτικά, μπορείτε να το εγκαταστήσετε με την εντολή
sudo apt-get install tiger
Arch Linux και παράγωγα
Εδώ θα το βρείτε στο AUR. Χρησιμοποιήστε κάποιον helper ή -προτιμότερο- τις παρακάτω εντολές:
sudo pacman -S git base-devel

git clone https://aur.archlinux.org/tiger.git

cd tiger

makepkg -csri
Fedora/openSUSE
Στις παραπάνω και σε αρκετές ακόμα rpm-based διανομές μπορεί να εγκατασταθεί με χρήση του alien από το deb πακέτο ή αλλιώς με τον παρακάτω τρόπο που ισχύει για οποιαδήποτε διανομή:
git clone https://git.savannah.nongnu.org/git/tiger.git

cd tiger/

sudo ./install.sh

Έλεγχος για rootkits

Μετά την εγκατάστασή του, μπορείτε να το τρέξετε από το τερματικό σας ως διαχειριστές, δίνοντας την εντολή
sudo tiger
Εναλλακτικά, με τις εντολές
sudo -s

tiger
ή
su -

tiger
Αμέσως θα αρχίσει τον έλεγχο, οπότε θα πρέπει να περιμένετε να τελειώσει. Μόλις ολοκληρώσει, θα σας ενημερώσει πως δημιούργησε ένα αρχείο με τα αποτελέσματα στον φάκελο /var/log, το οποίο και θα πρέπει να ανοίξετε ως διαχειριστές:
su -

cd /var/log/tiger
Στην αναφορά αυτή θα δείτε κάμποσα «warnings» που συνήθως είναι αποδεκτά ή μπορεί να έχουν να κάνουν με επί μέρους στοιχεία ορισμένων εφαρμογών και του γραφικού περιβάλλοντος. Σε κάθε περίπτωση πρόκειται για απλές προειδοποιήσεις. Όσον αφορά τα rootkits, αν υπάρχουν, θα δείτε ακριβώς πού βρίσκονται.
Αν δείτε πως υπάρχει και κάποιο «alert» και δε γνωρίζετε τι είναι, κάντε μια αναζήτηση για να βεβαιωθείτε πως δεν είναι κάτι που μπορεί να οφείλεται σε κάποια μη επικίνδυνη διεργασία του συστήματός σας. Για παράδειγμα, κάτι τέτοια είναι και τα εξής:
–ALERT– [perm023a] /bin/su is setuid to `root’.
–ALERT– [perm023a] /usr/bin/passwd is setuid to `root’.
–ALERT– [perm024a] /usr/bin/wall is setgid to `tty’.

Συνοπτικά, τα κατηγοριοποιεί βάσει των ελέγχων που κάνει σε αρχεια κωδικών (passwords) και ρυθμίσεων σύνδεσης, αρχεια ρυθμίσεων bash, αρχεία ρυθμίσεων FTP και SSH, αρχεία cron που εκκινούν με το σύστημα, rhost και netrc αρχεία καθώς και μια σειρά διεργασιών του συστήματός σας, περιλαμβανομένων και άλλων αρχείων.
Στην περίπτωση που εντοπιστεί κάποιο rootkit, δυστυχώς, δεν υπάρχει κάποιος τρόπος πλήρους διαγραφής και εξάλειψης του, οπότε θα πρέπει να πάρετε ένα backup με τα απαραίτητα για εσάς αρχεία και να προχωρήσετε σε επανεγκατάσταση της διανομής σας.

Τα θετικά:
  • Απλό και γρήγορο εργαλείο
  • Δεν «παγώνει» το σύστημα κατά τη διαδικασία του ελέγχου
Τα αρνητικά:
  • Ενδέχεται να καταναλώσει λίγο περισσότερη μνήμη RAM ορισμένες φορές
  • Ίσως μπερδέψει με τα «warnings» και τα «alerts», κάτι που μπορεί να πελαγώσει ανθρώπους που δεν έχουν ιδέα.
[via]