Αυτοματοποιημένη αφαίρεση του Sasser Worm με το Honeyd

Internet Systematics Lab

30/10/2005

Το παρόν άρθρο αναφέρεται στην χρήση του Honeyd για την αυτοματοποιημένη αφαίρεση του Sasser worm από μολυσμένα Windows συστήματα.
Η ιδέα αυτή είναι εμπνευσμένη από το πολύ ενδιαφέρον άρθρο του Laurent Oudot στο Security Focus “Fighting Internet Worms With Honeypots”.
Στο παραπάνω άρθρο παρουσιάζεται θεωρητικά η γενική ιδέα καθώς και πρακτικά η περίπτωση της αυτοματοποιημένης αφαίρεσης του MSBlaster worm με την χρήση του Honeyd.

Στόχος του δικού μας πειραματισμού ήταν η υλοποίηση της ιδέας του Oudot και η επέκτασή της για την καταπολέμηση του Sasser worm το οποίο έχει παρόμοια συμπεριφορά με το MSBlaster.
Συνοπτικά ένα σύστημα το οποίο τρέχει Honeyd είναι ικανό να προσομειώνει συστήματα διαφόρων λειτουρικών και να δέχεται δικτυακή κίνηση για ένα μεγάλο range από IP διευθύνσεις.
Όταν κατά την εξάπλωση του worm από κάποιο ήδη μολυσμένο σύστημα, το Honeyd δεχτεί πακέτα στην πόρτα TCP 445 για κάποια από τα συστήματα που προσωμοιώνει, τότε εκτελεί το exploit του Sasser εναντίον του μολυσμένου συστήματος και ανοίγει ένα backdoor.
Στην συνέχεια συνδέεται μέσω telnet στο backdoor και δημιουργεί ένα εκτελέσιμο αρχείο μέσα στο startup directory του μολυσμένου windows συστήματος το οποίο περιέχει τις απαραίτητες εντολές για τον καθαρισμό του worm.
Όταν το μολυσμένο σύστημα επαννεκινηθεί το αρχείο εκτελείται και αφαιρείται το worm άπο το σύστημα.

Σε αυτό το άρθρο δεν θα γίνει αναλυτική περιγραφή της πειραματικής διάταξης και των βημάτων που ακολουθήθηκαν για την υλοποίηση πειράματος καθώς αυτά έχουν ήδη γραφτεί στο Κεφάλαιο 6 της πτυχιακής του Μάρκου ΓώγουλουΑνάλυση Δικτυακών Επιθέσεων με το Honeyd” η οποία είναι διαθέσιμη σε ηλεκτρονική μορφή στο section με τις υπόλοιπες πτυχιακές του Internet Systematics Lab.

Παρόλη την αξιόλογη προσπάθεια του Μάρκου, λόγω φόρτου εργασίας και περιορισμένων χρονικών περιθωρίων το πείραμα που υλοποίησε δεν ολοκληρώθηκε με επιτυχία και έμεινε σαν μελλοντική δουλειά.
Εδώ παρουσιάζονται τα περαιτέρω βήματα που έγιναν στην συνέχεια από τα μέλη του ISLab για την ολοκλήρωση και την επιτυχία του πειράματος.

Το κύριο πρόβλημα στην αρχική υλοποίηση του πειράματος ήταν η αδυναμία να εκτελεστούν μέσω bash script διαδοχικές εντολές μέσω telnet σε batch mode στο απομακρυσμένο σύστημα.
Μετά από προσπάθεια και πειραματισμό βρέθηκε η λύση στο πρόβλημα με την αντικατάσταση του αρχικού bash script από ένα perl script και την χρήση του Net::Telnet perl module.
Το τελικό αποτέλεσμα της παραπάνω προσπάθειας είναι το πακέτο honeyd-sasser_rem.tar.gz.

Μέσα σε αυτό το πακέτο περιέχονται τα εξής αρχεία:

    • lsass

      To exploit που εκμεταλεύεται την ίδια αδυναμία με το Sasser worm

    • recover_lsass.pl

      Το perl script που υλοποιεί την telnet επικοινωνία με το μολυσμένο σύστημα.

    • run_tool.sh

      Ένα wraper script για τα δύο παραπάνω. Αυτό εκτελεί πρώτα το lsass exploit και στην συνέχεια το recover_lsass.pl.

Έτσι όταν το honeyd αντιληφθεί κάποια σύνδεση στη TCP πόρτα 445 από ένα μολυσμένο με το Sasser worm σύστημα, αυτόματα εκτελεί το run_tool.sh script με τις κατάλληλες παραμέτρους και καθαρίζει το Sasser worm από το απομακρυσμένο σύστημα.