Μια βασική σκέψη στο μυαλό όλων των hacker είναι το πώς να παρακάμπτουν συσκευές ασφαλείας, όπως ένα σύστημα ανίχνευσης εισβολών (IDS) ή λογισμικό antivirus (AV). Αυτό δεν αποτελεί πρόβλημα αν δημιουργήσετε το δικό σας exploit zero-day ή αν χρησιμοποιήσετε το zero-day κάποιου άλλου. Ωστόσο, αν χρησιμοποιείτε το exploit ή το payload κάποιου άλλου, όπως ένα από το Metasploit ή το Exploit-DB, οι συσκευές ασφαλείας είναι πιθανό να το εντοπίσουν και να σας χαλάσουν όλη τη διασκέδαση.
Το λογισμικό ασφαλείας λειτουργεί σε μεγάλο βαθμό αναγνωρίζοντας μια υπογραφή κακόβουλου λογισμικού. Εάν μπορείτε να αλλάξετε την υπογραφή του κακόβουλου λογισμικού, του payload ή του shellcode σας, είναι πιθανό να περάσει το λογισμικό AV και άλλες συσκευές ασφαλείας.
Σε αυτόν τον οδηγό, θα χρησιμοποιήσουμε το Shellter. Από την εμπειρία μου, έχει αποδειχθεί πιο αποτελεσματικό στην επανακωδικοποίηση των payloads για να περάσει το λογισμικό AV σε σχέση με τις άλλες επιλογές.
Table of Contents
Πώς λειτουργεί το Shellter
Το Shellter είναι ικανό να επανακωδικοποιεί οποιαδήποτε εγγενή αυτόνομη εφαρμογή 32-bit των Windows. Δεδομένου ότι προσπαθούμε να αποφύγουμε την ανίχνευση από τα AV, πρέπει να αποφύγουμε οτιδήποτε μπορεί να φανεί ύποπτο σε λογισμικό AV, όπως έτοιμες εφαρμογές ή εφαρμογές που έχουν περισσότερα από ένα τμήματα που περιέχουν εκτελέσιμο κώδικα.
Το Shellter είναι σε θέση να πάρει οποιαδήποτε από αυτές τις 32-bit εφαρμογές των Windows και να ενσωματώσει shellcode, είτε το δικό σας προσαρμοσμένο payload είτε ένα διαθέσιμο από εφαρμογές όπως το Metasploit, με τρόπο που πολύ συχνά δεν ανιχνεύεται από το AV. Δεδομένου ότι μπορείτε να χρησιμοποιήσετε οποιαδήποτε εφαρμογή 32-bit, μπορείτε να δημιουργήσετε σχεδόν άπειρο αριθμό υπογραφών, καθιστώντας σχεδόν αδύνατο τον εντοπισμό της από το AV.
Βήμα 1: Κατεβάστε και εγκαταστήστε το Shellter
Το πρώτο βήμα, φυσικά, είναι να κατεβάσετε και να εγκαταστήσετε το Shellter. Θα το τρέξω σε ένα σύστημα Windows, αλλά το Shellter μπορεί να τρέξει στο Kali χρησιμοποιώντας το Wine. Θεωρώ ότι είναι ταχύτερο και ευκολότερο να τρέξετε το Shellter στο εγγενές περιβάλλον των Windows. Μπορείτε να κατεβάσετε το Shellter από εδώ.
Βήμα 2: Ξεκινήστε το Shellter
Τώρα που έχετε κατεβάσει και εγκαταστήσει το Shellter, κάντε κλικ στο εκτελέσιμο αρχείο στον κατάλογο Shellter. Αυτό θα πρέπει να εκκινήσει την εφαρμογή Shellter όπως φαίνεται παρακάτω.
Βήμα 3: Μετακίνηση του Windows Binary στον κατάλογο του Shellter
Για να δοκιμάσουμε την αποτελεσματικότητα του Shellter στην απόκρυψη ενός αρχείου, θα χρησιμοποιήσουμε ένα γνωστό κακόβουλο αρχείο για λογισμικό AV. Και αυτό θα είναι το besbd.exe, ένας κλώνος του Netcat που έχει όλες τις δυνατότητες του Netcat, αλλά έχει επίσης τη δυνατότητα να κρυπτογραφεί τη σύνδεση με κρυπτογράφηση AES.
Θα το ενσωματώσουμε με ένα Meterpreter payload από το Metasploit. Στην ουσία, θα πάρουμε ένα γνωστό αρχείο .exe 32-bit, θα το ενσωματώσουμε με ένα γνωστό Meterpreter payload και θα δούμε αν το λογισμικό AV θα εντοπίσει κάποιο από τα δύο. Νομίζω ότι αυτό είναι ένα εξαιρετικό τεστ των δυνατοτήτων του Shellter, καθώς η ανίχνευση οποιουδήποτε από τα δύο θα ενεργοποιήσει το λογισμικό AV. Και τα δύο θα πρέπει να παραπλανηθούν για να παρακάμψουν τη σάρωση του AV.
Μπορείτε να βρείτε το sbd.exe στον κατάλογο με τα binary αρχεία των Windows στο Kali στη διεύθυνση:
kali > cd /usr/share/windows-binaries
kali > ls -l
Αντιγράψτε το sdb.exe στον ίδιο κατάλογο με το Shellter στο σύστημα των Windows.
Βήμα 4: Εκτελέστε το Shellter
Τώρα ας επιστρέψουμε στην εφαρμογή Shellter. Πληκτρολογήστε A (Auto) για τον τρόπο λειτουργίας και N (no) για ενημέρωση έκδοσης. Μόλις κατεβάσαμε την τρέχουσα έκδοση, επομένως δεν χρειάζεται να ενημερώσουμε το Shellter.
Το Shellter θα σας ζητήσει να εισαγάγετε το αρχείο που πρόκειται να επανακωδικοποιήσει. Στην περίπτωσή μας, είναι το sbd.exe. Θυμηθείτε ότι δέχεται μόνο αυτόνομες εφαρμογές 32-bit.
PE Target: sbd.exe
Αν το αρχείο PE (φορητό εκτελέσιμο αρχείο) βρίσκεται σε κάποιο άλλο μέρος εκτός του καταλόγου Shellter, θα πρέπει να δώσετε την απόλυτη διαδρομή. Στη συνέχεια, απλά πατήστε enter και το Shellter αρχίζει τη δουλειά του.
Αυτή τη φορά το πρόγραμμα θα σταματήσει και σας ζητήσει τον τύπο του payload που θέλετε να ενσωματώσετε στο αρχείο. Επιλέξτε L για “listed”. Στη συνέχεια, επιλέξτε 1 για το payload “meterpreter_reverse_tcp”.
Στη συνέχεια, θα σας ζητηθεί να δηλώσετε την IP LHOST (τοπική) και την LPORT. Εισάγετε την IP του τοπικού μηχανήματος και οποιαδήποτε θύρα θέλετε. Στη συνέχεια, πατήστε enter.
Βήμα 5: Ενσωμάτωση και εκ νέου κωδικοποίηση
Μετά από λίγα λεπτά, το Shellter ολοκληρώνει το άθροισμα ελέγχου και την επαλήθευση του PE.
Όταν ολοκληρωθεί η επαλήθευση, το αρχείο σας είναι έτοιμο για χρήση!
Βήμα 6: Δοκιμή για ανίχνευση
Τώρα που έχουμε δημιουργήσει τον δικό μας shellcode, έφτασε η στιγμή της αλήθειας. Πρέπει να δοκιμάσουμε για να δούμε αν το λογισμικό AV μπορεί να το εντοπίσει.
Σε αυτό το σύστημα, χρησιμοποιώ το λογισμικό Vipre AV. Τοποθέτησα το επανακωδικοποιημένο αρχείο .exe σε έναν φάκελο με όνομα “Exe folder” στην επιφάνεια εργασίας μου, οπότε ας σαρώσουμε μόνο αυτόν τον φάκελο με το Vipre και ας δούμε πόσο καλά το Shellter έκρυψε την κακόβουλη πρόθεση αυτού του αρχείου.
Αυτή η σάρωση διήρκεσε μόνο λίγα δευτερόλεπτα και το Vipre δεν εντοπίζει κακόβουλα αρχεία στο φάκελο με το sbd.exe. Το shellcode μας πέρασε το τεστ με επιτυχία! Το κακόβουλο λογισμικό μας δεν εντοπίζεται από αυτό το λογισμικό AV!
Αυτό, φυσικά, δεν σημαίνει ότι όλα τα λογισμικά AV δεν θα είναι σε θέση να ανιχνεύσουν την κακόβουλη φύση του αρχείου μας. Τα λογισμικά AV από διαφορετικούς εκδότες χρησιμοποιούν διαφορετικές υπογραφές και μεθόδους ανίχνευσης. Κάποια μπορεί να είναι σε θέση να ανιχνεύσουν την πραγματική φύση αυτού του αρχείου, αλλά το κλειδί είναι να βρείτε μια τεχνική που να περνάει από το AV στο σύστημα που στοχεύετε. Αυτό μπορεί να απαιτήσει πολλαπλές προσπάθειες με διαφορετικά αρχεία, διαφορετική κωδικοποίηση και διαφορετικά payloads. Είναι εύκολο να βρείτε τουλάχιστον έναν συνδυασμό που να λειτουργεί.
Όπως ξέρετε, οι αληθινοί hacker είναι επίμονοι!
Βήμα 7: Δημιουργία Listener στο Kali
Τώρα που ξέρουμε ότι ο κακόβουλος shellcode είναι μη ανιχνεύσιμος τουλάχιστον από το Vipre, μπορούμε να στείλουμε το αρχείο στο σύστημα-στόχο μας. Πριν εκτελεστεί, πρέπει να ανοίξουμε έναν listener στο σύστημα Kali για να συνδεθούμε.
Μπορούμε να χρησιμοποιήσουμε τον multi-handler του Metasploit για το σκοπό αυτό. Ξεκινήστε ανοίγοντας το msfconsole πληκτρολογώντας:
kali > msfconsole
Στη συνέχεια, χρησιμοποιήστε το multi-handler exploit και ορίστε το payload (windows/meterpreter/reverse_tcp), στη συνέχεια ορίστε τον τοπικό κεντρικό υπολογιστή (LHOST) και την τοπική θύρα (LPORT) στα ίδια με αυτά που ενσωματώθηκαν στην εφαρμογή σας παραπάνω.
Τέλος, πληκτρολογήστε exploit και ο multi-handler θα “πιάσει” τη σύνδεση από το payload όταν εκτελεστεί στο στόχο, ανοίγοντας ένα Meterpreter shell εν αγνοία του λογισμικού AV και του χρήστη-στόχου!
Τώρα με ένα Meterpreter prompt στο σύστημα-στόχο, μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις εντολές ή τα Meterpreter scripts σε αυτό το σύστημα για να αποκτήσουμε τον πλήρη έλεγχο.
Το Shellter είναι απλώς ένα ακόμη εργαλείο για να αποφύγετε τον εντοπισμό σας, από το λογισμικό AV, αλλά μπορεί να είναι το καλύτερο. Καμία μέθοδος δεν λειτουργεί ενάντια σε όλα τα συστήματα ανίχνευσης εισβολών και το λογισμικό προστασίας από ιούς, αλλά αυτή η εφαρμογή σίγουρα θα πρέπει να βρίσκεται στην εργαλειοθήκη σας.