Οδηγός επιθέσεων MiTM με το Ettercap

Οι επιθέσεις Man-in-the-Middle μπορεί να είναι από τις πιο παραγωγικές και κακόβουλες επιθέσεις. Εάν ο επιτιθέμενος μπορεί να τοποθετηθεί μεταξύ δύο συστημάτων (συνήθως πελάτη και διακομιστή) μπορεί να ελέγξει τη ροή της κυκλοφορίας μεταξύ των δύο συστημάτων.

Με αυτόν τον τρόπο μπορούν να ελέγξουν την κυκλοφορία, να την διαγράψουν, να εισάγουν κακόβουλο λογισμικό και ακόμη και να την αλλοιώσουν.

Το είναι ίσως το πιο ευρέως χρησιμοποιούμενο εργαλείο επίθεσης όπως και το Bettercap.

mitm

Το Ettercap αναπτύχθηκε από τους Albert Ornaghi και Marco Valleri. Πρόκειται ουσιαστικά για μια σουίτα εργαλείων για την απλοποίηση των επιθέσεων MiTM. Μπορεί να χρησιμοποιηθεί είτε από τη γραμμή εντολών (CLI) είτε από τη γραφική διεπαφή χρήστη (GUI). Σε αυτόν τον οδηγό, θα χρησιμοποιήσουμε το GUI.

Το Ettercap μας δίνει τη δυνατότητα να τοποθετηθούμε στη μέση μεταξύ δύο μηχανημάτων και στη συνέχεια να:

  • Μολύνουμε την κυκλοφορία με κακόβουλο λογισμικό

  • Διαγράψουμε το traffic

  • Υποκλέψουμε τα passwords

  • Παρέχουν ψεύτικα πιστοποιητικά για HTTPS

  • Κάνουμε DNS spoof

Οι αρχές και οι τεχνικές μιας επίθεσης MiTM παραμένουν οι ίδιες με αυτές του arpspoof, με τη μικρή εξαίρεση της ip_forward. Σε αντίθεση με το arpspoof, το ettercap δεν χρησιμοποιεί το ip forwarding στον πυρήνα του Linux, αλλά αντίθετα χρησιμοποιεί τη δική του ενότητα για την προώθηση πακέτων IP.

Είναι σημαντικό να σημειωθεί ότι το ettercap απαιτεί δικαιώματα root για να ανοίξει τις υποδοχές του επιπέδου 2 (datalink). Επιπλέον, όπως είναι αναμενόμενο, μπορεί να επιβραδύνει την επικοινωνία μεταξύ των δύο συστημάτων-στόχων καθώς κάνει τη δική του επεξεργασία.

Το Ettercap είναι εργαλείο βασισμένο σε GUI ενσωματωμένο στο Kali, οπότε δεν χρειάζεται να κατεβάσετε και να εγκαταστήσετε τίποτα, οπότε ας ξεκινήσουμε να κάνουμε μια επίθεση MiTM με το Ettercap.

Βήμα #1: Ξεκινήστε το ettercap

Ας δούμε το αρχείο βοήθειας για το ettercap πληκτρολογώντας την εντολή:

kali > ettercap -h

mitm1

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

Στην κάτω γραμμή του στιγμιότυπου οθόνης (όχι στην κάτω γραμμή του πραγματικού αρχείου βοήθειας, καθώς το έχω περικόψει για λόγους χώρου), μπορείτε να δείτε το flag -G. Οπότε μετά την εντολή ettercap θα εκκινήσει το γραφικό περιβάλλον του ettercap.

kali > ettercap -G

Όταν το τρέξουμε, το GUI του ettercap θα ξεκινήσει όπως φαίνεται παρακάτω.

mitm2

Το πρώτο βήμα για την εκκίνηση μιας επίθεσης  MiTM είναι να αρχίσουμε το sniffing. Μεταβείτε στο πτυσσόμενο μενού που λέει “Sniff” και κάντε κλικ στο “Unified Sniffing”.

mitm3

Όταν το κάνουμε αυτό, ανοίγει ένα νέο παράθυρο που μας ρωτάει ποιο interface θέλουμε να χρησιμοποιήσουμε και η προεπιλογή είναι το eth0.

mitm4

Όταν κάνουμε κλικ στο “OK”, το ettercap ξεκινά το sniffing και φορτώνει τα plugins του.

mitm5

Το επόμενο βήμα μας είναι να βρούμε τους κεντρικούς υπολογιστές στο δίκτυο. Κάντε κλικ στην καρτέλα “Hosts” και θα δείτε ένα μενού που περιλαμβάνει το “Scan for Hosts”. Κάντε κλικ σε αυτό και το ettercap θα ξεκινήσει τη σάρωση του δικτύου για κεντρικούς υπολογιστές.

mitm6

Τώρα, χρησιμοποιώντας την ίδια καρτέλα “Hosts”, κάντε κλικ στην επιλογή “Hosts List”. Αυτό θα εμφανίσει όλους τους κεντρικούς υπολογιστές που έχει ανακαλύψει το ettercap στο δίκτυό σας, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

mitm7

Τώρα, επιλέξτε έναν από τους κεντρικούς υπολογιστές που θα είναι ο στόχος αυτής της επίθεσης στο παράθυρο κάνοντας κλικ πάνω του και στη συνέχεια κάντε κλικ στην επιλογή “Add to Target 1” στο κάτω μέρος του παραθύρου. Όταν το κάνετε αυτό, το ettercap θα προσθέσει αυτόν τον κεντρικό υπολογιστή ως τον πρώτο στόχο της επίθεσής μας MiTM, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

  Αποστολή ψεύτικου μηνύματος SMS και διαδικασία υποκλοπής

Στη συνέχεια, επιλέξτε τον δεύτερο host σε αυτή την επίθεση και στη συνέχεια κάντε κλικ στο “Add to Target 2”.

mitm8

Τέλος, μεταβείτε στο παραπάνω μενού και κάντε κλικ στην καρτέλα MITM και το αναπτυσσόμενο μενού θα έχει μια επιλογή που ονομάζεται “ARP Poisoning”, όπως φαίνεται στο παρακάτω στιγμιότυπο.

mitm9

Επιλέξτε το και θα ανοίξει ένα αναδυόμενο παράθυρο. Επιλέξτε “Sniff remote connections”.

Όταν πατήσουμε OK, το ettercap θα ξεκινήσει το ARP poisoning και θα δείτε το ettercap να “απαντά” στα κύρια παράθυρά του με το παρακάτω μήνυμα.

mitm10

Τώρα, έχουμε τοποθετηθεί επιτυχώς μεταξύ των δύο συστημάτων στόχων και όλη η κυκλοφορία τους πρέπει να περνάει από εμάς. Εδώ αρχίζει η διασκέδαση, καθώς μπορούμε τώρα να διαγράψουμε, να χειριστούμε, να υποδυθούμε όποιον από τους δύο θέλουμε και να δούμε όλη την κυκλοφορία τους.

Τροποποίηση του traffic

Όπως ανέφερα παραπάνω, ο πραγματικός κίνδυνος σε μια επίθεση MiTM είναι ότι ο επιτιθέμενος μπορεί να υποκλέψει την κυκλοφορία στο δίκτυο καθώς και να την τροποποιήσει αν θέλει.

Σε αυτή την ενότητα του οδηγού βρισκόμαστε μεταξύ των δύο συστημάτων, θα παρουσιάσουμε τους κινδύνους της επίθεσης MiTM. Θα χρησιμοποιήσουμε την επίθεση MiTM για να επεξεργαστούμε/αλλάξουμε την κίνηση στο δικτύου όπως την βλέπει ο στόχος. Με αυτόν τον τρόπο, ο επιτιθέμενος μπορεί στην πραγματικότητα να αλλάξει το περιεχόμενο των ιστότοπων, να αλλάξει το περιεχόμενο ενός ηλεκτρονικού ταχυδρομείου, να αλλάξει τις εικόνες που βλέπει ο στόχος στην κίνηση στο δίκτυο, να διαγράψει συγκεκριμένα πακέτα κίνησης στο δίκτυο κ.λ.π.

Βήμα #2: Αλλάξτε την κυκλοφορία

Σε αυτή την ενότητα, θα αλλάξουμε την κυκλοφορία από έναν εσωτερικό εταιρικό ιστότοπο Intranet. Αυτός ο ιστότοπος χρησιμοποιείται από όλους τους υπαλλήλους για εταιρικές ανακοινώσεις, προγραμματισμό κ.λπ.

Παρόλο που το σενάριο αυτό αφορά ένα εταιρικό δίκτυο Intranet εντός ενός τοπικού δικτύου, η τεχνική και το αποτέλεσμα θα ήταν τα ίδια και στο ευρύτερο Διαδίκτυο.

Στο σενάριό μας, ο διευθυντής έχει δημοσιεύσει μια νέα ώρα έναρξης για την επόμενη ημέρα λόγω πολύ μεγάλου φόρτου εργασίας.

Ως αποτέλεσμα, θέλει όλοι να αρχίσουν την εργασία τους στις 6 π.μ. και το δημοσιεύει αυτό στον εταιρικό ιστότοπο Intranet για να το δουν όλοι οι εργαζόμενοι. Ο επιτιθέμενος μας έχει κακόβουλες προθέσεις απέναντι στο στόχο και θέλει να αλλάξει το μήνυμα προς το στόχο, ώστε αντί να έρθει στη δουλειά αργά, στις 11 π.μ. Αυτό είναι πιθανό να έχει αρνητικές επιπτώσεις για τον στόχο από τον διευθυντή, ακριβώς αυτό που θέλει ο επιτιθέμενος.

Βήμα #3: Δημιουργία του ψεύτικου ιστότοπου

Η σελίδα ανακοίνωσης του εταιρικού Intranet μοιάζει με το παρακάτω στιγμιότυπο οθόνης. Όλοι στο τμήμα θα τη δουν και παρόλο που απογοητεύονται για την πρωιμότερη ώρα έναρξης, προσαρμόζουν το πρόγραμμά τους για να βοηθήσουν στον πρόσθετο φόρτο εργασίας.

Ο επιτιθέμενος μας δεν θέλει ο στόχος να δει αυτό το μήνυμα, αλλά ένα τροποποιημένο μήνυμα για να τον παραπλανήσει σχετικά με τη νέα ώρα έναρξης.

mimt11

Βήμα #4: Χρήση φίλτρων του Ettercap

Μία από τις πολλές ομορφιές της χρήσης του Ettercap για επιθέσεις MiTM είναι η ευκολία με την οποία μπορείτε να τροποποιήσετε και να επεξεργαστείτε την κίνηση του στόχου στο δικτύου.

Από το GUI του Ettercap, θα δείτε πάνω από την επάνω μπάρα μενού ένα πτυσσόμενο στοιχείο μενού με την ένδειξη “Filters” (Φίλτρα). Κάντε κλικ σε αυτό και στη συνέχεια κάντε κλικ στο “Load a Filter” (Φόρτωση φίλτρου).

mimt12

Όταν το κάνετε αυτό, θα εμφανιστεί ένα παράθυρο όπως το παρακάτω. Μπορούμε να δούμε στα δεξιά του παραθύρου, πολυάριθμα αρχεία φίλτρων.

mimt13

Ας ρίξουμε μια ματιά στα περιεχόμενα αυτού του καταλόγου (/usr/share/ettercap) από ένα τερματικό στα Kali. Ανοίξτε ένα τερματικό και πληκτρολογήστε,

kali > cd /usr/share/ettercap

kali > ls -l

mimt14

Όπως μπορείτε να δείτε στο παραπάνω στιγμιότυπο οθόνης, υπάρχουν πολλά αρχεία φίλτρων Ettercap. Σημειώστε το ένα που ονομάζεται etter.filter.examples. Ας το ανοίξουμε με το Leafpad και ας δούμε τι περιέχει.

  Stegomalware Surge: κακόβουλο λογισμικό σε αρχεία, βίντεο και εικόνες

kali > leafpad etter.filter.examples

mimt15

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

  • Εμφάνιση μηνύματος στη θύρα 22

  • Καταγραφή όλης της κίνησης telnet

  • Καταγραφή όλης της κίνησης εκτός από το http

  • Αλλάζει το payload του πακέτου (στην προκειμένη περίπτωση αλλάζει τις αριθμητικές τιμές)

  • Aπόρριψη κάθε πακέτου που περιέχει μια συγκεκριμένη λέξη ή συμβολοσειρά

  • Kαταγραφή αποκρυπτογραφημένων πακέτων SSH

  • και πολλά άλλα

Στην περίπτωσή μας, θέλουμε να αντικαταστήσουμε λέξεις από έναν ιστότοπο με άλλες λέξεις για να αλλάξουμε το νόημα του μηνύματος. Δηλαδή, θέλουμε να αντικαταστήσουμε το “Heavy” με το “Light” και το “6” με το “11”, ώστε το μήνυμα που θα διαβάσει ο στόχος να αλλάξει σε:

Το Ettercap διαθέτει ένα προκατασκευασμένο αρχείο φίλτρου για να κάνετε ακριβώς αυτό! Πρόκειται για το αρχείο etter.filter. Ας το ανοίξουμε με το Leafpad και ας ρίξουμε μια ματιά.

kali > leafpad etter.filter

mimt16

Παρατηρήστε, ξεκινώντας από τη γραμμή 21 μετά τα σχόλια, έχουμε απλό κώδικα που ψάχνει για κίνηση TCP (if (ip.proto == TCP)) και περιέχει δεδομένα που ταιριάζουν με τη λέξη “ethercap” (search (DATA.data, “ethercap”)) τότε καταγράφει και αντικαθιστά με ettercap (replace(“etthercap”, “ettercap”) ) και δημιουργεί μήνυμα για το τι συνέβη (msg(“Σωστά αντικαταστάθηκε και καταγράφηκε. \n”)).

Μπορούμε να χρησιμοποιήσουμε τον ίδιο κώδικα, αλλά να αντικαταστήσουμε τις λέξεις που ψάχνει και να τις αντικαταστήσουμε με τις λέξεις που θέλουμε να αντικαταστήσουμε, δηλαδή “Heavy” και “6”.

Στη συνέχεια, πρέπει να επεξεργαστούμε αυτό το αρχείο φίλτρου Ettercap. Πρώτον, αντιγράψτε και επικολλήστε όλο τον κώδικα που δεν έχει αλλαχτεί. Στη συνέχεια, αντικαταστήστε τη λέξη “ethercap” με τη λέξη “Heavy” στην πρώτη στροφή και στη δεύτερη στροφή, αντικαταστήστε τη λέξη “ethercap” με τη λέξη “6”, όπως φαίνεται στο παρακάτω στιγμιότυπο.

mimt17

Κάντε όλες τις αλλαγές που περιγράφονται στην παραπάνω εικόνα και αποθηκεύστε το αρχείο.

Βήμα #5: Κάντε compile το φίλτρο

Τώρα, πριν χρησιμοποιήσουμε το φίλτρο, πρέπει να το κάνουμε compile. Ανοίξτε ένα τερματικό και πληκτρολογήστε,

kali >etterfilter etter.filter -o etter.filter.heavy

Όπου:

etterfilter είναι η εντολή για τη σύνταξη του αρχείου φίλτρου

etter.filter είναι το αρχείο εισόδου

-o etter.filter.heavy κατευθύνει τη μετά-compile έξοδο σε ένα νέο αρχείο

mimt18

Βήμα #6: Προσθέστε το φίλτρο στο Ettercap

Τώρα το αρχείο του φίλτρου έχει γίνει compile εκ νέου και είναι έτοιμο για χρήση, μπορούμε να επιστρέψουμε στο GUI του Ettercap και να επιλέξουμε “Filters” και τώρα, κάντε κλικ στο νέο φίλτρο που δημιουργήσατε.

Όταν εμφανιστεί στο παράθυρο “Selection”, προχωρήστε και κάντε κλικ στο “OK”. Αυτό θα πρέπει τώρα να ενεργοποιήσει μια αυτόματη διαδικασία με την οποία, σε πραγματικό χρόνο, κάθε φορά που η λέξη “Heavy” εμφανίζεται στην κίνηση του δικτύου, αντικαθίσταται με το “Light” και κάθε φορά που εμφανίζεται ο αριθμός “6”, αντικαθίσταται με το “11”. Είναι σημαντικό να σημειωθεί ότι αυτή η αντικατάσταση πραγματοποιείται σε ΟΛΗ την κίνηση του δικτύου που φτάνει στο στόχο.

mimt19

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

mimt20

Αυτός ο οδηγός δείχνει πόσο εύκολη είναι μια επίθεση MitM με τη χρήση του ettercap και τη δύναμη να μεταβάλλει την κυκλοφορία στο σύστημα-στόχο εύκολα και χωρις να γίνετε αντιληπτό. Ο τελικός χρήστης δεν έχει καμία ένδειξη ότι η κυκλοφορία του έχει τροποποιηθεί!

Written by Anastasis Vasileiadis

Οι μεταφράσεις είναι σαν τις γυναίκες. Όταν είναι ωραίες δεν είναι πιστές και όταν είναι πιστές δεν είναι ωραίες.

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).


  +  60  =  65