Το Ιερό Δισκοπότηρο κάθε χάκερ είναι να αναπτύξει μια εκμετάλλευση Zero-Day, μια εκμετάλλευση που δεν έχει παρατηρηθεί ποτέ από τους προγραμματιστές συστημάτων antivirus (AV) ή συστημάτων ανίχνευσης εισβολών (IDS). Με αυτόν τον τρόπο, ο χάκερ μπορεί να εκμεταλλευτεί τα συστήματα με τη νέα ευπάθεια που ανακάλυψε χωρίς να εντοπιστεί!
Για να αποκτήσετε ένα zero-day έχετε τουλάχιστον δύο επιλογές: (1) να αναπτύξετε το δικό σας ή (2) να πάρετε το exploit κάποιου άλλου.
Η ανάπτυξη του δικού σας exploit μπορεί να είναι μια μακρά και κουραστική διαδικασία και απαιτεί σημαντικές γνώσεις assembler, fuzzing, shellcode, κ.λ.π. Η διαδικασία μπορεί να διαρκέσει άπειρες ημέρες εργασίας. Οι hackers και οι κυβερνητικές υπηρεσίες πληροφοριών επενδύουν εκατομμύρια δολάρια για να αναπτύξουν zero-days, αλλά σε ορισμένες σπάνιες περιπτώσεις, ιδιώτες καταφέρνουν να αναπτύξουν zero-days με λίγη προσπάθεια, ειδικά για παλαιά συστήματα. (Το zero-day που παραβίασε την Target πριν από αρκετά χρόνια αναπτύχθηκε από έναν 17χρονο χάκερ στη Ρωσία, αλλά στόχευε τα Windows XP, τα οποία η Target εξακολουθούσε να χρησιμοποιεί στα συστήματα των σημείων πώλησης (POS)).
Η άλλη προσέγγιση είναι η λήψη ενός zero-day που έχουν αναπτύξει άλλοι και η επαναχρησιμοποίησή του. Θυμάστε τα exploits της Hacking Team που κυκλοφόρησαν όταν παραβιάστηκε η Hacking Team; Αυτή η προσέγγιση χρησιμοποιείται εδώ και καιρό από προγραμματιστές AV, εγκληματολόγους και σε ορισμένες περιπτώσεις, από χάκερ. Στην πραγματικότητα, η πρόσφατη δημοσίευση του Vault 7 έδειξε ότι η CIA λαμβάνει κακόβουλο λογισμικό Zero-Day και το χρησιμοποιεί για τους σκοπούς της.
Αυτό που θέλουμε να κάνουμε σε αυτή τη σειρά οδηγών είναι να εγκαταστήσουμε και να ρυθμίσουμε ένα honeypot που φαίνεται τόσο ευάλωτο όσο και ρεαλιστικό. Στη συνέχεια, περιμένουμε να προσελκύσει τους επιτιθέμενους και στη συνέχεια να συλλάβουμε το κακόβουλο λογισμικό τους όταν έχουν παραβιάσει επιτυχώς το σύστημά μας.
Αν είμαστε αναλυτές κακόβουλου λογισμικού, μπορούμε στη συνέχεια να αναλύσουμε το κακόβουλο λογισμικό και ίσως να αναπτύξουμε μια άμυνα σε αυτό ή μια υπογραφή. Αν είμαστε χάκερ, ίσως μπορέσουμε να επαναχρησιμοποιήσουμε το κακόβουλο λογισμικό σε άλλα συστήματα. Σε ορισμένες περιπτώσεις, μπορεί να χρειαστεί να επανασχεδιάσουμε το κακόβουλο λογισμικό για άλλους σκοπούς, αλλά αυτό εξακολουθεί να είναι πολύ πιο γρήγορο και αποτελεσματικό από το να ξεκινήσουμε από το μηδέν. Το κλειδί είναι να είμαστε σε θέση να συλλάβουμε πρώτα το κακόβουλο λογισμικό.
Table of Contents
Dionaea
Το Dionaea αναπτύχθηκε από τον Markus Koetter ως ένα honeypot χαμηλής αλληλεπίδρασης. Προσομοιώνει ένα ευάλωτο σύστημα Windows με υπηρεσίες που συχνά στοχεύουν οι επιτιθέμενοι, όπως HTTP, FTP, SSH, SMB κ.λ.π. Είναι γραμμένο σε C, αλλά χρησιμοποιεί Python για την εξομοίωση διαφόρων πρωτοκόλλων για να δελεάσει τους επιτιθέμενους.
Το Dionaea πήρε το όνομά του από το γένος των φυτών που περιλαμβάνει τη σαρκοφάγο μυγοπαγίδα της Αφροδίτης. Νομίζω ότι ο συμβολισμός είναι προφανής. Πιθανότατα το πιο σημαντικό είναι ότι χρησιμοποιεί το Libemu για να ανιχνεύει shellcode και μπορεί να μας ειδοποιήσει όταν το συλλάβει. Το Dionaea στέλνει ειδοποίηση σε πραγματικό χρόνο για τις επιθέσεις μέσω XMPP και στη συνέχεια καταγράφει τις πληροφορίες σε μια βάση δεδομένων SQLite.
Libemu
Το Libemu είναι μια βιβλιοθήκη που χρησιμοποιείται για εξομοίωση x86 καθώς και για ανίχνευση shellcode, η οποία είναι ιδανική για το honeypot μας σε αυτόν τον οδηγό. Μπορεί να τραβήξει κακόβουλο λογισμικό από το διαδίκτυο ή μέσα από έγγραφα (PDF, RTF, κ.λ.π.), τα οποία μπορούμε στη συνέχεια να χρησιμοποιήσουμε για να αναλύσουμε για κακόβουλη συμπεριφορά χρησιμοποιώντας συγκεκριμένα χαρακτηριστικά.
Αυτό είναι ένα σχετικά προηγμένο honeypot και δεν θα πρέπει να επιχειρείται από αρχάριους. Επιπλέον, σας συνιστώ να ΜΗΝ το χρησιμοποιήσετε σε ένα σύστημα που θα χρησιμοποιηθεί για άλλους σκοπούς, καθώς θα εγκαταστήσουμε βιβλιοθήκες και άλλο κώδικα που μπορεί να απενεργοποιήσουν άλλα μέρη του συστήματός μας.
Επιπλέον, το Dionaea προορίζεται να είναι ευάλωτο. Αυτό σημαίνει ότι αν παραβιαστεί, ολόκληρο το σύστημά μας μπορεί να παραβιαστεί. Θα πρέπει να χρησιμοποιήσετε μια καθαρή εγκατάσταση, κατά προτίμηση ένα σύστημα Debian ή Ubuntu. Εγώ θα χρησιμοποιήσω μια καθαρή εγκατάσταση του Ubuntu 14.04.
Βήμα 1: Εγκατάσταση εξαρτήσεων
Το Dionaea είναι ένα πολύπλοκο λογισμικό και απαιτεί πολλές εξαρτήσεις που συνήθως δεν εγκαθίστανται στο Ubuntu ή σε άλλες διανομές Debian. Ως αποτέλεσμα, θα πρέπει να εγκαταστήσουμε τις εξαρτήσεις πριν από την εγκατάσταση και τη διαμόρφωση του Dionaea. Αυτό μπορεί να είναι μια μεγάλη και κουραστική διαδικασία.
Για παράδειγμα, για να ξεκινήσουμε πρέπει να κατεβάσουμε τα ακόλουθα πακέτα.
ubuntu > apt-get install libudns-dev libglib2.0-dev libssl-dev libcurl4-openssl-dev libreadline-dev libsqlite3-dev python-dev libtool automake autoconf build-essential subversion git-core flex bison pkg-config libnl-3-dev libnl-genl-3-dev libnl-nf-3-dev libnl-route-3-dev sqlite3
Ευτυχώς, ο Άντριου Μάικλ Σμιθ έχει αναπτύξει ένα script που κάνει όλη τη δύσκολη δουλειά για εμάς. Μπορούμε να κατεβάσουμε το script του από το GitHub χρησιμοποιώντας το wget.
ubuntu > wget -q https://raw.github.com/andrewmichaelsmith/honeypot-setup-script/master/setup.bash -O /tmp/setup.bash && bash /tmp/setup.bash
Αυτό το script θα κατεβάσει και θα εγκαταστήσει όλες τις εξαρτήσεις (υπάρχουν πολλές) και τις εφαρμογές (p0f, SQLite και άλλες), στη συνέχεια θα κατεβάσει και θα εγκαταστήσει και θα ρυθμίσει το Dionaea.
Να είστε υπομονετικοί γιατί αυτό μπορεί να πάρει αρκετό χρόνο.
Βήμα 2: Επιλέξτε διεπαφή
Αφού κατεβάσει όλες τις εφαρμογές και τις εξαρτήσεις, το Dionaea θα αρχίσει να ρυθμίζετε και θα σας ζητήσει να επιλέξετε τη διασύνδεση δικτύου στην οποία θέλετε να ακούει το honeypot. Εδώ, επέλεξα την διεπαφή eth0, αλλά η δική σας μπορεί να είναι διαφορετική.
Το κατέβασμα και η εγκατάσταση θα ολοκληρωθούν και θα σας εμφανιστεί μια οθόνη που θα σας λέει ότι το p0f και το Dionaea έχουν ξεκινήσει.
Βήμα 3: Δοκιμή της εγκατάστασης
Μόλις ολοκληρωθεί η παραπάνω διαδικασία, μπορούμε να ελέγξουμε αν το Dionaea έχει εγκατασταθεί σωστά και πλήρως, πληκτρολογώντας:
ubuntu > dionaea -help
Αν εμφανιστεί η οθόνη βοήθειας που βλέπετε παραπάνω, έχετε εγκαταστήσει με επιτυχία το Dionaea. Συγχαρητήρια!
Διαμόρφωση Dionaea
Τώρα το honeypot μας είναι έτοιμο και λειτουργεί. Στον επόμενο οδηγό αυτής της σειράς, θα σας δείξω πώς να ρυθμίζετε το Dionaea ώστε να σας ειδοποιεί σε πραγματικό χρόνο για επιθέσεις, πώς να αναγνωρίζετε τα στοιχεία των επιτιθέμενων (λειτουργικό σύστημα, IP, πρόγραμμα περιήγησης, διεπαφή) και πώς να συλλαμβάνετε και να αναλύετε το shellcode της επίθεσης.