Ο άνθρωπος στη μέση επίθεση (MitM attack) είναι ένας όρος στην κρυπτογραφία που αναφέρεται σε μια κατάσταση όπου ένας εισβολέας είναι σε θέση να διαβάσει και να τροποποιήσει κατά βούληση τα μηνύματα που ανταλλάσσονται μεταξύ των ανταποκριτών και κανένας από τους τελευταίους δεν μπορεί να μαντέψει την ταυτότητά του .
Μια μέθοδος παραβίασης ενός καναλιού επικοινωνίας, στην οποία ένας εισβολέας, έχοντας συνδεθεί σε ένα κανάλι μεταξύ αντισυμβαλλομένων, παρεμβαίνει ενεργά στο πρωτόκολλο μετάδοσης, διαγράφοντας, παραμορφώνοντας πληροφορίες ή επιβάλλοντας ψευδείς πληροφορίες.
Αρχή επίθεσης:
Ας υποθέσουμε ότι το αντικείμενο "Α" σχεδιάζει να μεταδώσει κάποιες πληροφορίες στο αντικείμενο "Β". Το αντικείμενο "C" έχει γνώση σχετικά με τη δομή και τις ιδιότητες της μεθόδου μετάδοσης δεδομένων που χρησιμοποιείται, καθώς και το γεγονός της προγραμματισμένης μετάδοσης των πραγματικών πληροφοριών που ο "C" σχεδιάζει να υποκλέψει.Για να κάνει μια επίθεση, το "C" φαίνεται να αντιτίθεται στο "A" ως "B" και στο "B" ως "A". Το αντικείμενο "Α", πιστεύοντας λανθασμένα ότι στέλνει πληροφορίες στο "Β", το στέλνει στο αντικείμενο "Γ".
Το αντικείμενο "C", έχοντας λάβει πληροφορίες και έχοντας πραγματοποιήσει ορισμένες ενέργειες μαζί του (για παράδειγμα, αντιγραφή ή τροποποίηση του για δικούς του σκοπούς), στέλνει τα δεδομένα στον ίδιο τον παραλήπτη - "B". Το αντικείμενο "Β", με τη σειρά του, πιστεύει ότι οι πληροφορίες ελήφθησαν απευθείας από το "Α".
Παράδειγμα επίθεσης MitM:
Ας υποθέσουμε ότι η Αλίκη αντιμετωπίζει οικονομικά προβλήματα και, χρησιμοποιώντας ένα πρόγραμμα άμεσων μηνυμάτων, αποφασίζει να ζητήσει από τον John ένα χρηματικό ποσό στέλνοντας το μήνυμα:Αλίκη: Γιάννη, γεια!
Αλίκη: Στείλτε μου το κλειδί κρυπτογράφησης, έχω ένα μικρό αίτημα!
Γιάννης: Γειά σου! Περίμενε ένα δευτερόλεπτο!
Όμως, αυτή τη στιγμή, ο κ. Χ, ο οποίος, ενώ ανέλυε την κίνηση χρησιμοποιώντας ένα sniffer, παρατήρησε αυτό το μήνυμα και οι λέξεις «κλειδί κρυπτογράφησης» προκάλεσαν την περιέργεια. Γι' αυτό αποφάσισε να υποκλέψει τα παρακάτω μηνύματα και να τα αντικαταστήσει με τα δεδομένα που χρειαζόταν και όταν έλαβε το ακόλουθο μήνυμα:Γιάννης: Εδώ είναι το κλειδί μου: 1111_D
Άλλαξε το κλειδί του Τζον με δικό του και έστειλε ένα μήνυμα στην Αλίκη:Γιάννης: Εδώ είναι το κλειδί μου: 6666_M
Η Αλίκη, αγνοώντας και νομίζοντας ότι είναι το κλειδί του John, χρησιμοποιώντας το ιδιωτικό κλειδί 6666_M, στέλνει κρυπτογραφημένα μηνύματα στον John:Αλίκη: Γιάννη, έχω προβλήματα και χρειάζομαι επειγόντως χρήματα, μεταφέρετε 300 $ στον λογαριασμό μου: Z12345. Σας ευχαριστώ. p.s. Το κλειδί μου: 2222_A
Έχοντας λάβει το μήνυμα, ο κ. Χ το αποκρυπτογραφεί χρησιμοποιώντας το κλειδί του, το διαβάζει και, με χαρά, αλλάζει τον αριθμό λογαριασμού και το κλειδί κρυπτογράφησης της Αλίκης σε δικά του, κρυπτογραφεί το μήνυμα με το κλειδί 1111_D, και στέλνει στον Γιάννη ένα μήνυμα:Αλίκη: Γιάννη, έχω προβλήματα και χρειάζομαι επειγόντως χρήματα, μεταφέρετε 300 $ στον λογαριασμό μου: Z67890. Σας ευχαριστώ. p.s. Το κλειδί μου: 6666_A
Αφού λάβει το μήνυμα, ο John το αποκρυπτογραφεί χρησιμοποιώντας το κλειδί 1111_D, και χωρίς καν να διστάσει, θα μεταφέρει χρήματα στον λογαριασμό Z67890...Και έτσι, ο κύριος Χ, χρησιμοποιώντας την επίθεση man-in-the-middle, κέρδισε 300 δολάρια, αλλά η Αλίκη θα πρέπει τώρα να εξηγήσει ότι δεν έλαβε τα χρήματα... Και ο Τζον; Ο Τζον πρέπει να αποδείξει στην Αλίκη ότι τους έστειλε...
Εκτέλεση:
Αυτός ο τύπος επίθεσης χρησιμοποιείται σε ορισμένους προϊόντα λογισμικούγια να ακούσετε το δίκτυο, για παράδειγμα:NetStumbler- ένα πρόγραμμα με το οποίο μπορείτε να συλλέξετε πολλά χρήσιμα δεδομένα ασύρματο δίκτυοκαι να λύσει ορισμένα προβλήματα που σχετίζονται με τη λειτουργία του. Το NetStumbler σάς επιτρέπει να προσδιορίζετε την εμβέλεια του δικτύου σας και σας βοηθά να κατευθύνετε με ακρίβεια την κεραία σας για επικοινωνίες μεγάλων αποστάσεων. Για κάθε σημείο πρόσβασης που βρέθηκε, μπορείτε να μάθετε τη διεύθυνση MAC, την αναλογία σήματος προς θόρυβο, το όνομα της υπηρεσίας και τον βαθμό ασφάλειάς της. Εάν η κίνηση δεν είναι κρυπτογραφημένη, τότε η δυνατότητα του προγράμματος να ανιχνεύει μη εξουσιοδοτημένες συνδέσεις θα είναι χρήσιμη.dsniff- είναι ένα σύνολο προγραμμάτων για έλεγχο δικτύου και δοκιμές διείσδυσης, που παρέχουν παθητική παρακολούθηση δικτύου για αναζήτηση δεδομένων ενδιαφέροντος (κωδικοί πρόσβασης, διευθύνσεις e-mail, αρχεία, κ.λπ.), υποκλοπή κίνησης δικτύου που κανονικά δεν θα ήταν προσβάσιμη για ανάλυση (για παράδειγμα, σε δίκτυο μεταγωγής), καθώς και τη δυνατότητα οργάνωσης επιθέσεων MITM για την αναχαίτιση περιόδων σύνδεσης SSH και HTTPS με εκμετάλλευση ελαττωμάτων PKI.
Κάιν & Άβελ - δωρεάν πρόγραμμα, που σας επιτρέπει να ανακτήσετε χαμένους κωδικούς πρόσβασης για λειτουργικά συστήματαΟικογένεια Windows. Υποστηρίζονται πολλές λειτουργίες ανάκτησης: brute force hacking, επιλογή λεξικού, προβολή κωδικών πρόσβασης που κρύβονται με αστερίσκους κ.λπ. Υπάρχουν επίσης επιλογές για τον προσδιορισμό ενός κωδικού πρόσβασης με την υποκλοπή πακέτων πληροφοριών και την επακόλουθη ανάλυσή τους, την εγγραφή συνομιλιών δικτύου, την ανάλυση της κρυφής μνήμης και άλλα.
Ettercap- είναι ένας ανιχνευτής, ένας υποκλοπής πακέτων και ένας καταγραφέας για τοπικά δίκτυα Ethernet, που υποστηρίζει ενεργή και παθητική ανάλυση πολλαπλών πρωτοκόλλων και είναι επίσης δυνατό να "ρίξετε" τα δικά σας δεδομένα σε μια υπάρχουσα σύνδεση και να φιλτράρετε "on the fly" χωρίς διακοπή της σύνδεσης συγχρονισμός. Το πρόγραμμα σάς επιτρέπει να παρακολουθείτε SSH1, HTTPS και άλλα ασφαλή πρωτόκολλα και παρέχει τη δυνατότητα αποκρυπτογράφησης κωδικών πρόσβασης για τα ακόλουθα πρωτόκολλα: TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.
ΚΑΡΜΑ– ένα σύνολο βοηθητικών προγραμμάτων για την αξιολόγηση της ασφάλειας των ασύρματων πελατών, είναι ένας ασύρματος ανιχνευτής που, ακούγοντας παθητικά τα πλαίσια αιτήματος 802.11 Probe, σας επιτρέπει να ανιχνεύετε πελάτες και τα προτιμώμενα/ αξιόπιστα δίκτυά τους. Στη συνέχεια, μπορεί να δημιουργηθεί ένα ψεύτικο σημείο πρόσβασης για ένα από τα ζητούμενα δίκτυα, στο οποίο μπορεί να συνδεθεί αυτόματα. Οι ψεύτικες υπηρεσίες υψηλού επιπέδου μπορούν να χρησιμοποιηθούν για την κλοπή προσωπικών δεδομένων ή την εκμετάλλευση ευπαθειών πελατών στον κεντρικό υπολογιστή.
AirJack- ένα σύνολο προγραμμάτων που, σύμφωνα με ειδικούς στον τομέα του WiFi hacking, είναι καλύτερο εργαλείογια να δημιουργήσετε διάφορα καρέ 802.11. Το AirJack περιλαμβάνει μια σειρά από βοηθητικά προγράμματα που έχουν σχεδιαστεί για τον εντοπισμό κρυφών ESSID, την αποστολή πλαισίων τερματισμού συνεδρίας με ένα ψεύτικο MAC, τη διεξαγωγή επιθέσεων MitM και την τροποποίηση του.
Αντίδραση:
Για να αποφευχθούν επιθέσεις αυτού του τύπου, οι συνδρομητές "Α" και "Β" χρειάζεται μόνο να μεταδίδουν μεταξύ τους χρησιμοποιώντας ένα αξιόπιστο κανάλι ψηφιακές υπογραφέςδημόσια κλειδιά κρυπτογράφησης. Στη συνέχεια, κατά τη σύγκριση των υπογραφών κλειδιών σε περιόδους κρυπτογράφησης, θα είναι δυνατό να προσδιοριστεί ποιο κλειδί χρησιμοποιήθηκε για την κρυπτογράφηση των δεδομένων και εάν τα κλειδιά έχουν αντικατασταθεί.
Υπάρχουν σχεδόν πάντα διάφοροι τρόποι για να επιτευχθεί το επιθυμητό αποτέλεσμα. Αυτό ισχύει και για τον τομέα της ασφάλειας πληροφοριών. Μερικές φορές, για να πετύχετε έναν στόχο, μπορείτε να χρησιμοποιήσετε ωμή βία, να αναζητήσετε τρύπες και να αναπτύξετε μόνοι σας εκμεταλλεύσεις ή να ακούσετε τι μεταδίδεται μέσω του δικτύου. Εξάλλου τελευταία επιλογήείναι συχνά η βέλτιστη. Γι' αυτό σήμερα θα μιλήσουμε για εργαλεία που θα μας βοηθήσουν να συλλάβουμε πληροφορίες που είναι πολύτιμες για εμάς από την κυκλοφορία δικτύου, χρησιμοποιώντας επιθέσεις MITM για αυτό.
Ας ξεκινήσουμε με έναν από τους πιο ενδιαφέροντες υποψήφιους. Αυτό είναι ένα ολόκληρο πλαίσιο διεξαγωγής επιθέσεις άνθρωπος στη μέση, χτισμένο πάνω σε sergio-proxy. Πρόσφατα συμπεριλήφθηκε σε Kali Linux. Για να το εγκαταστήσετε μόνοι σας, απλώς κλωνοποιήστε το αποθετήριο και εκτελέστε μερικές εντολές:
# setup.sh # pip install -r απαιτήσεις.txt
# pip install -r απαιτήσεις.txt |
Έχει μια αρχιτεκτονική που είναι επεκτάσιμη μέσω πρόσθετων. Ανάμεσα στα κυριότερα είναι τα εξής:
Εάν αυτή η λειτουργία σας φαίνεται ανεπαρκής, τότε μπορείτε πάντα να προσθέσετε τη δική σας εφαρμόζοντας την κατάλληλη επέκταση.
Ένα άλλο βοηθητικό πρόγραμμα που αξίζει προσοχής. Είναι αλήθεια ότι σε αντίθεση με όλα τα άλλα εργαλεία που εξετάζονται σήμερα, είναι πολύ στενά εξειδικευμένο. Όπως λέει ο ίδιος ο συγγραφέας του έργου, εμπνεύστηκε τη δημιουργία ενός τέτοιου βοηθητικού προγράμματος από το γεγονός ότι κατά τη διάρκεια των δοκιμών διείσδυσης, τα πιο σημαντικά δεδομένα βρίσκονταν σε διακομιστές Linux/UNIX, στους οποίους οι διαχειριστές συνδέονταν μέσω SSH/Telnet/rlogin. Επιπλέον, στις περισσότερες περιπτώσεις, ήταν πολύ πιο εύκολο να αποκτήσετε πρόσβαση στο μηχάνημα των διαχειριστών παρά στον διακομιστή προορισμού. Έχοντας διεισδύσει στο μηχάνημα του διαχειριστή του συστήματος, το μόνο που μένει είναι να βεβαιωθείτε ότι το PuTTY εκτελείται και, χρησιμοποιώντας αυτό το εργαλείο, να δημιουργήσετε μια γέφυρα πίσω στον εισβολέα.
Το βοηθητικό πρόγραμμα σάς επιτρέπει όχι μόνο να καταγράφετε την "επικοινωνία" μεταξύ του διαχειριστή και του απομακρυσμένος διακομιστής(συμπεριλαμβανομένων των κωδικών πρόσβασης), αλλά και να εκτελούν αυθαίρετες εντολές φλοιού μέσα σε μια δεδομένη συνεδρία. Επιπλέον, όλα αυτά θα συμβαίνουν με απόλυτη διαφάνεια για τον χρήστη (διαχειριστή). Εάν ενδιαφέρεστε για τεχνικές λεπτομέρειες, για παράδειγμα, πώς εφαρμόζεται το PuTTY στη διαδικασία, σας συνιστώ να διαβάσετε την παρουσίαση του συγγραφέα.
Αρκετά παλιά χρησιμότητα, που γεννήθηκε πριν από περισσότερα από οκτώ χρόνια. Προορίζεται για συνεδρίες κλωνοποίησης με κλοπή cookies. Για την παραβίαση συνεδριών, έχει βασικές δεξιότητες στον εντοπισμό κεντρικών υπολογιστών (εάν είναι συνδεδεμένος σε ανοιχτό ασύρματο δίκτυο ή διανομέα) και στη διεξαγωγή δηλητηρίασης ARP. Το μόνο πρόβλημα είναι ότι σήμερα, σε αντίθεση με πριν από οκτώ χρόνια, σχεδόν όλες οι μεγάλες εταιρείες όπως το Yahoo ή το Facebook χρησιμοποιούν κρυπτογράφηση SSL, γεγονός που καθιστά αυτό το εργαλείο εντελώς άχρηστο. Παρόλα αυτά, υπάρχουν ακόμα αρκετοί πόροι στο Διαδίκτυο που δεν χρησιμοποιούν SSL, επομένως είναι πολύ νωρίς για να διαγραφεί το βοηθητικό πρόγραμμα. Στα πλεονεκτήματά του συγκαταλέγεται το γεγονός ότι ενσωματώνεται αυτόματα στον Firefox και δημιουργεί ξεχωριστό προφίλ για κάθε υποκλοπή συνεδρίας. Πηγαίος κώδικαςείναι διαθέσιμο στο αποθετήριο και μπορείτε να το δημιουργήσετε μόνοι σας χρησιμοποιώντας την ακόλουθη σειρά εντολών:
# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip συνεδριακός κλέφτης
# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip sessionthief |
Το ProzyFuzz δεν έχει καμία σχέση άμεσα με τη διεξαγωγή επιθέσεων MITM. Όπως μπορείτε να μαντέψετε από το όνομα, το εργαλείο έχει σχεδιαστεί για fuzzing. Αυτό είναι ένα μικρό μη ντετερμινιστικό δίκτυο fuzzer, που υλοποιείται στην Python, που αλλάζει τυχαία τα περιεχόμενα των πακέτων κίνησης δικτύου. Υποστηρίζει Πρωτόκολλα TCPκαι UDP. Μπορείτε να το ρυθμίσετε ώστε να θολά μόνο τη μία πλευρά. Είναι χρήσιμο όταν πρέπει να δοκιμάσετε γρήγορα κάποια εφαρμογή δικτύου (ή πρωτόκολλο) και να αναπτύξετε ένα PoC. Παράδειγμα χρήσης:
Python proxyfuzz -l
python proxyfuzz -l |
Η λίστα επιλογών περιλαμβάνει:
Ένα βοηθητικό πρόγραμμα για τη διεξαγωγή επιθέσεων MITM σε διάφορα πρωτόκολλα που παρουσιάστηκε στη διάσκεψη DEF CON. Η έκδοση άλφα υποστήριζε το πρωτόκολλο HTTP και είχε τρία δροσερά πρόσθετα στο οπλοστάσιό της:
Ο Μίντλερ όχι μόνο αναλύει αυτόματα κυκλοφορίας δικτύουκαι βρίσκει cookies σε αυτό, αλλά και ανεξάρτητα τα ζητά από τον πελάτη, δηλαδή η διαδικασία αυτοματοποιείται στο μέγιστο. Το πρόγραμμα εγγυάται τη συλλογή όλων των μη προστατευμένων λογαριασμών δίκτυο υπολογιστών(ή δημόσιο hotspot) στην κυκλοφορία του οποίου έχει πρόσβαση. Για να λειτουργήσει σωστά το πρόγραμμα, πρέπει να εγκατασταθούν στο σύστημα τα ακόλουθα πακέτα: Scapy, libpcap, readline, libdnet, python-netfilter. Δυστυχώς, το αποθετήριο δεν έχει ενημερωθεί εδώ και πολύ καιρό, επομένως θα πρέπει να προσθέσετε νέες λειτουργίες μόνοι σας.
Ένα βοηθητικό πρόγραμμα κονσόλας που σας επιτρέπει να εξετάζετε και να τροποποιείτε διαδραστικά την κυκλοφορία HTTP. Χάρη σε τέτοιες δεξιότητες, το βοηθητικό πρόγραμμα χρησιμοποιείται όχι μόνο από pentesters/hackers, αλλά και από απλούς προγραμματιστές που το χρησιμοποιούν, για παράδειγμα, για τον εντοπισμό σφαλμάτων σε εφαρμογές web. Με τη βοήθειά του μπορείτε να λάβετε λεπτομερείς πληροφορίεςσχετικά με τα αιτήματα που υποβάλλει η εφαρμογή και τις απαντήσεις που λαμβάνει. Επίσης, το mitmproxy μπορεί να βοηθήσει στη μελέτη των ιδιαιτεροτήτων της λειτουργίας ορισμένων API REST, ειδικά εκείνων που είναι ελάχιστα τεκμηριωμένα.
Η εγκατάσταση είναι εξαιρετικά απλή:
$ sudo aptitude εγκατάσταση mitmproxy
Αξίζει να σημειωθεί ότι το mitmproxy σάς επιτρέπει επίσης να παρακολουθείτε την κυκλοφορία HTTPS εκδίδοντας ένα αυτο-υπογεγραμμένο πιστοποιητικό στον πελάτη. Καλό παράδειγμαΜπορείτε να μάθετε πώς να διαμορφώνετε την παρακολούθηση και την τροποποίηση της κυκλοφορίας.
Λοιπόν, αυτό το βοηθητικό πρόγραμμα είναι γενικά ένα από τα πρώτα πράγματα που πρέπει να έρχονται στο μυαλό μόλις το ακούσετε
«Επίθεση MITM». Το εργαλείο είναι αρκετά παλιό, αλλά συνεχίζει να ενημερώνεται ενεργά, κάτι που είναι καλά νέα. Δεν έχει νόημα να μιλήσουμε λεπτομερώς για τις δυνατότητές του τα δεκατέσσερα χρόνια της ύπαρξής του, έχει καλυφθεί στο Διαδίκτυο περισσότερες από μία φορές. Για παράδειγμα, σε έναν οδηγό όπως αυτός:
ή οδηγίες από την ιστοσελίδα μας:
Ως συνήθως, δεν έχουμε εξετάσει όλα τα βοηθητικά προγράμματα, αλλά μόνο τα πιο δημοφιλή, υπάρχουν επίσης πολλά ελάχιστα γνωστά έργα για τα οποία μπορεί να μιλήσουμε κάποια μέρα. Όπως μπορείτε να δείτε, δεν υπάρχει έλλειψη εργαλείων για την πραγματοποίηση επιθέσεων MITM και, κάτι που δεν συμβαίνει πολύ συχνά, ένα από τα πιο δροσερά εργαλεία εφαρμόζεται για τα Windows. Δεν υπάρχει τίποτα να πούμε για συστήματα nix - μια ολόκληρη ποικιλία. Επομένως, νομίζω ότι μπορείτε πάντα να βρείτε το κατάλληλο εργαλείο για κλοπή
διαπιστευτήρια άλλων ανθρώπων. Ωχ, δηλαδή για δοκιμή.
Η επίθεση συνήθως ξεκινά με υποκλοπή στο κανάλι επικοινωνίας και τελειώνει με τον κρυπτοαναλυτή να προσπαθεί να αντικαταστήσει το υποκλαπόμενο μήνυμα και να αποσπάσει χρήσιμες πληροφορίες, το ανακατευθύνετε σε κάποιον εξωτερικό πόρο.
Ας υποθέσουμε ότι το αντικείμενο Α σχεδιάζει να μεταδώσει κάποιες πληροφορίες στο αντικείμενο Β. Το αντικείμενο C έχει γνώση σχετικά με τη δομή και τις ιδιότητες της χρησιμοποιούμενης μεθόδου μετάδοσης δεδομένων, καθώς και το γεγονός της προγραμματισμένης μετάδοσης των πραγματικών πληροφοριών που ο C σχεδιάζει να υποκλέψει. Για να πραγματοποιήσει μια επίθεση, ο C «εμφανίζεται» στο αντικείμενο Α ως Β, και στον Β ως Α. Το αντικείμενο Α, πιστεύοντας λανθασμένα ότι στέλνει πληροφορίες στον Β, τις στέλνει στο αντικείμενο Γ. Το αντικείμενο Γ, έχοντας λάβει τις πληροφορίες, και εκτελεί ορισμένες ενέργειες με αυτό (για παράδειγμα, αντιγραφή ή τροποποίηση για δικούς τους σκοπούς) προωθεί τα δεδομένα στον ίδιο τον παραλήπτη - Β. Το αντικείμενο Β, με τη σειρά του, πιστεύει ότι οι πληροφορίες ελήφθησαν απευθείας από τον Α.
Μια επίθεση man-in-the-middle επιτρέπει σε έναν κρυπτοαναλυτή να εισαγάγει τον κώδικά του email, εκφράσεις SQL και ιστοσελίδες (δηλαδή, επιτρέπει ενέσεις SQL, εγχύσεις HTML/script ή επιθέσεις XSS) και ακόμη και τροποποιήσεις που φορτώνονται από τον χρήστη δυαδικά αρχείαγια πρόσβαση λογαριασμόςχρήστη ή αλλαγή της συμπεριφοράς ενός προγράμματος που έχει κατεβάσει ο χρήστης από το Διαδίκτυο.
Ο όρος «Επίθεση υποβάθμισης» αναφέρεται σε μια επίθεση κατά την οποία ένας κρυπτοαναλυτής αναγκάζει τον χρήστη να χρησιμοποιεί λιγότερο ασφαλείς λειτουργίες, πρωτόκολλα που εξακολουθούν να υποστηρίζονται για λόγους συμβατότητας. Αυτός ο τύπος επίθεσης μπορεί να πραγματοποιηθεί στα πρωτόκολλα SSH, IPsec και PPTP.
Ένας εισβολέας μπορεί να προσπαθήσει να αλλάξει τις παραμέτρους σύνδεσης μεταξύ του διακομιστή και του πελάτη όταν δημιουργηθεί μια σύνδεση μεταξύ τους. Σύμφωνα με μια ομιλία στο Blackhat Conference Europe 2003, ένας cryptanalyst μπορεί να "αναγκάσει" έναν πελάτη να ξεκινήσει μια συνεδρία SSH1 αντί για SSH2 αλλάζοντας τον αριθμό έκδοσης "1.99" για τη συνεδρία SSH σε "1.51", που σημαίνει ότι χρησιμοποιεί SSH V1 . Το πρωτόκολλο SSH-1 έχει ευπάθειες που μπορούν να αξιοποιηθούν από έναν κρυπτοαναλυτή.
Σε αυτό το σενάριο επίθεσης, ο κρυπτοαναλυτής παραπλανά το θύμα του και πιστεύει ότι η περίοδος σύνδεσης IPsec δεν μπορεί να ξεκινήσει στο άλλο άκρο (διακομιστής). Αυτό έχει ως αποτέλεσμα τα μηνύματα να αποστέλλονται ρητά εάν ο κεντρικός υπολογιστής λειτουργεί σε λειτουργία επαναφοράς.
Στο στάδιο της διαπραγμάτευσης των παραμέτρων της περιόδου σύνδεσης PPTP, ο εισβολέας μπορεί να αναγκάσει το θύμα να χρησιμοποιήσει λιγότερο ασφαλή έλεγχο ταυτότητας PAP, MSCHAP V1 (δηλαδή, "επιστροφή" από το MSCHAP V2 στην έκδοση 1), ή να μην χρησιμοποιήσει καθόλου κρυπτογράφηση.
Ένας εισβολέας μπορεί να αναγκάσει το θύμα του να επαναλάβει το στάδιο της διαπραγμάτευσης των παραμέτρων της περιόδου λειτουργίας PPTP (να στείλει ένα πακέτο Terminate-Ack), να κλέψει τον κωδικό πρόσβασης από ένα υπάρχον τούνελ και να επαναλάβει την επίθεση.
Ας εξετάσουμε την περίπτωση μιας τυπικής συναλλαγής HTTP. Σε αυτήν την περίπτωση, ένας εισβολέας μπορεί πολύ εύκολα να χωρίσει την αρχική σύνδεση TCP σε δύο νέες: μία μεταξύ του ίδιου και του πελάτη, η άλλη μεταξύ του ίδιου και του διακομιστή. Αυτό είναι αρκετά εύκολο να γίνει, καθώς πολύ σπάνια η σύνδεση μεταξύ πελάτη και διακομιστή είναι άμεση και στις περισσότερες περιπτώσεις συνδέονται μέσω ενός αριθμού ενδιάμεσων διακομιστών. Μια επίθεση MITM μπορεί να πραγματοποιηθεί σε οποιονδήποτε από αυτούς τους διακομιστές.
Ωστόσο, εάν ο πελάτης και ο διακομιστής επικοινωνούν χρησιμοποιώντας HTTPS, ένα πρωτόκολλο που υποστηρίζει κρυπτογράφηση, μπορεί επίσης να πραγματοποιηθεί μια επίθεση man-in-the-middle. Αυτός ο τύπος σύνδεσης χρησιμοποιεί TLS ή SSL για την κρυπτογράφηση αιτημάτων, κάτι που φαίνεται να προστατεύει το κανάλι από sniffing και επιθέσεις MITM. Ένας εισβολέας μπορεί να δημιουργήσει δύο ανεξάρτητες περιόδους σύνδεσης SSL για κάθε σύνδεση TCP. Ο πελάτης δημιουργεί μια σύνδεση SSL με τον εισβολέα, ο οποίος με τη σειρά του δημιουργεί μια σύνδεση με τον διακομιστή. Σε τέτοιες περιπτώσεις, το πρόγραμμα περιήγησης συνήθως προειδοποιεί ότι το πιστοποιητικό δεν είναι υπογεγραμμένο από αξιόπιστη αρχή πιστοποίησης, αλλά ο μέσος χρήστης αγνοεί εύκολα αυτήν την προειδοποίηση. Επιπλέον, ο εισβολέας μπορεί να έχει πιστοποιητικό υπογεγραμμένο από αρχή πιστοποίησης. Έτσι, το πρωτόκολλο HTTPS δεν μπορεί να θεωρηθεί ασφαλές έναντι επιθέσεων MITM.
Για να εντοπίσετε μια επίθεση man-in-the-middle, πρέπει να αναλύσετε την κίνηση του δικτύου. Για παράδειγμα, για να εντοπίσετε μια επίθεση SSL, θα πρέπει να δώσετε προσοχή στις ακόλουθες παραμέτρους:
Τα προγράμματα που αναφέρονται μπορούν να χρησιμοποιηθούν για την πραγματοποίηση επιθέσεων man-in-the-middle, καθώς και για τον εντοπισμό τους και τον έλεγχο του συστήματος για τρωτά σημεία.
Ένα ξεκάθαρο λογοτεχνικό παράδειγμα μπορεί να δει κανείς στο «The Tale of Tsar Saltan» του A. S. Pushkin, όπου εμφανίζονται τρεις «άνθρωποι στη μέση»: ένας υφαντής, ένας μάγειρας και ο Babarikha. Είναι αυτοί που αντικαθιστούν τις επιστολές που απευθύνονται στον Τσάρο και την αλληλογραφία απάντησής του.
Ίδρυμα Wikimedia.
Δείτε τι είναι το "Man in the Middle" σε άλλα λεξικά:
Υπάρχουν σχεδόν πάντα διάφοροι τρόποι για να επιτευχθεί το επιθυμητό αποτέλεσμα. Αυτό ισχύει και για τον τομέα της ασφάλειας πληροφοριών. Μερικές φορές, για να πετύχετε έναν στόχο, μπορείτε να χρησιμοποιήσετε ωμή βία, να αναζητήσετε τρύπες και να αναπτύξετε μόνοι σας εκμεταλλεύσεις ή να ακούσετε τι μεταδίδεται μέσω του δικτύου. Επιπλέον, η τελευταία επιλογή είναι συχνά η βέλτιστη. Γι' αυτό σήμερα θα μιλήσουμε για εργαλεία που θα μας βοηθήσουν να συλλάβουμε πληροφορίες που είναι πολύτιμες για εμάς από την κυκλοφορία δικτύου, χρησιμοποιώντας επιθέσεις MITM για αυτό.
Ας ξεκινήσουμε με έναν από τους πιο ενδιαφέροντες υποψήφιους. Αυτό είναι ένα ολόκληρο πλαίσιο για τη διεξαγωγή επιθέσεων man-in-the-middle, χτισμένο με βάση το sergio-proxy. Πρόσφατα συμπεριλήφθηκε στο Kali Linux. Για να το εγκαταστήσετε μόνοι σας, απλώς κλωνοποιήστε το αποθετήριο και εκτελέστε μερικές εντολές:
# setup.sh # pip install -r απαιτήσεις.txt
Έχει μια αρχιτεκτονική που είναι επεκτάσιμη μέσω πρόσθετων. Ανάμεσα στα κυριότερα είναι τα εξής:
Εάν αυτή η λειτουργία σας φαίνεται ανεπαρκής, τότε μπορείτε πάντα να προσθέσετε τη δική σας εφαρμόζοντας την κατάλληλη επέκταση.
Ένα άλλο βοηθητικό πρόγραμμα που αξίζει προσοχής. Είναι αλήθεια ότι σε αντίθεση με όλα τα άλλα εργαλεία που εξετάζονται σήμερα, είναι πολύ στενά εξειδικευμένο. Όπως λέει ο ίδιος ο συγγραφέας του έργου, εμπνεύστηκε τη δημιουργία ενός τέτοιου βοηθητικού προγράμματος από το γεγονός ότι κατά τη διάρκεια των δοκιμών διείσδυσης, τα πιο σημαντικά δεδομένα βρίσκονταν σε διακομιστές Linux/UNIX, στους οποίους οι διαχειριστές συνδέονταν μέσω SSH/Telnet/rlogin. Επιπλέον, στις περισσότερες περιπτώσεις, ήταν πολύ πιο εύκολο να αποκτήσετε πρόσβαση στο μηχάνημα των διαχειριστών παρά στον διακομιστή προορισμού. Έχοντας διεισδύσει στο μηχάνημα του διαχειριστή του συστήματος, το μόνο που μένει είναι να βεβαιωθείτε ότι το PuTTY εκτελείται και, χρησιμοποιώντας αυτό το εργαλείο, να δημιουργήσετε μια γέφυρα πίσω στον εισβολέα.
Το βοηθητικό πρόγραμμα σάς επιτρέπει όχι μόνο να καταγράφετε «επικοινωνία» μεταξύ του διαχειριστή και του απομακρυσμένου διακομιστή (συμπεριλαμβανομένων των κωδικών πρόσβασης), αλλά και να εκτελείτε αυθαίρετες εντολές φλοιού μέσα σε μια δεδομένη περίοδο λειτουργίας. Επιπλέον, όλα αυτά θα συμβαίνουν με απόλυτη διαφάνεια για τον χρήστη (διαχειριστή). Εάν ενδιαφέρεστε για τεχνικές λεπτομέρειες, για παράδειγμα, πώς εφαρμόζεται το PuTTY στη διαδικασία, σας συνιστώ να διαβάσετε την παρουσίαση του συγγραφέα.
Αρκετά παλιά χρησιμότητα, που γεννήθηκε πριν από περισσότερα από οκτώ χρόνια. Προορίζεται για συνεδρίες κλωνοποίησης με κλοπή cookies. Για την παραβίαση συνεδριών, έχει βασικές δεξιότητες στον εντοπισμό κεντρικών υπολογιστών (εάν είναι συνδεδεμένος σε ανοιχτό ασύρματο δίκτυο ή διανομέα) και στη διεξαγωγή δηλητηρίασης ARP. Το μόνο πρόβλημα είναι ότι σήμερα, σε αντίθεση με πριν από οκτώ χρόνια, σχεδόν όλες οι μεγάλες εταιρείες όπως το Yahoo ή το Facebook χρησιμοποιούν κρυπτογράφηση SSL, γεγονός που καθιστά αυτό το εργαλείο εντελώς άχρηστο. Παρόλα αυτά, υπάρχουν ακόμα αρκετοί πόροι στο Διαδίκτυο που δεν χρησιμοποιούν SSL, επομένως είναι πολύ νωρίς για να διαγραφεί το βοηθητικό πρόγραμμα. Στα πλεονεκτήματά του συγκαταλέγεται το γεγονός ότι ενσωματώνεται αυτόματα στον Firefox και δημιουργεί ξεχωριστό προφίλ για κάθε υποκλοπή συνεδρίας. Ο πηγαίος κώδικας είναι διαθέσιμος στο αποθετήριο και μπορείτε να τον δημιουργήσετε μόνοι σας χρησιμοποιώντας την ακόλουθη σειρά εντολών:
# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip συνεδριακός κλέφτης
Το ProzyFuzz δεν έχει καμία σχέση άμεσα με τη διεξαγωγή επιθέσεων MITM. Όπως μπορείτε να μαντέψετε από το όνομα, το εργαλείο έχει σχεδιαστεί για fuzzing. Αυτό είναι ένα μικρό μη ντετερμινιστικό δίκτυο fuzzer, που υλοποιείται στην Python, που αλλάζει τυχαία τα περιεχόμενα των πακέτων κίνησης δικτύου. Υποστηρίζει πρωτόκολλα TCP και UDP. Μπορείτε να το ρυθμίσετε ώστε να θολά μόνο τη μία πλευρά. Είναι χρήσιμο όταν πρέπει να δοκιμάσετε γρήγορα κάποια εφαρμογή δικτύου (ή πρωτόκολλο) και να αναπτύξετε ένα PoC. Παράδειγμα χρήσης:
Python proxyfuzz -l
Η λίστα επιλογών περιλαμβάνει:
Ένα βοηθητικό πρόγραμμα για τη διεξαγωγή επιθέσεων MITM σε διάφορα πρωτόκολλα που παρουσιάστηκε στη διάσκεψη DEF CON. Η έκδοση άλφα υποστήριζε το πρωτόκολλο HTTP και είχε τρία δροσερά πρόσθετα στο οπλοστάσιό της:
Το Middler όχι μόνο αναλύει αυτόματα την κυκλοφορία του δικτύου και βρίσκει cookies σε αυτό, αλλά και ανεξάρτητα τα ζητά από τον πελάτη, δηλαδή η διαδικασία αυτοματοποιείται στο μέγιστο. Το πρόγραμμα εγγυάται τη συλλογή όλων των μη προστατευμένων λογαριασμών σε ένα δίκτυο υπολογιστών (ή δημόσιο σημείο πρόσβασης) στο οποίο έχει πρόσβαση η κυκλοφορία. Για να λειτουργήσει σωστά το πρόγραμμα, πρέπει να εγκατασταθούν στο σύστημα τα ακόλουθα πακέτα: Scapy, libpcap, readline, libdnet, python-netfilter. Δυστυχώς, το αποθετήριο δεν έχει ενημερωθεί εδώ και πολύ καιρό, επομένως θα πρέπει να προσθέσετε νέες λειτουργίες μόνοι σας.
Ένα βοηθητικό πρόγραμμα κονσόλας που σας επιτρέπει να εξετάζετε και να τροποποιείτε διαδραστικά την κυκλοφορία HTTP. Χάρη σε τέτοιες δεξιότητες, το βοηθητικό πρόγραμμα χρησιμοποιείται όχι μόνο από pentesters/hackers, αλλά και από απλούς προγραμματιστές που το χρησιμοποιούν, για παράδειγμα, για τον εντοπισμό σφαλμάτων σε εφαρμογές web. Με τη βοήθειά του, μπορείτε να λάβετε λεπτομερείς πληροφορίες σχετικά με τα αιτήματα που υποβάλλει η εφαρμογή και τις απαντήσεις που λαμβάνει. Επίσης, το mitmproxy μπορεί να βοηθήσει στη μελέτη των ιδιαιτεροτήτων της λειτουργίας ορισμένων API REST, ειδικά εκείνων που είναι ελάχιστα τεκμηριωμένα.
Η εγκατάσταση είναι εξαιρετικά απλή:
$ sudo aptitude εγκατάσταση mitmproxy
$ pip install mitmproxy
$easy_install mitmproxy
Αξίζει να σημειωθεί ότι το mitmproxy σάς επιτρέπει επίσης να παρακολουθείτε την κυκλοφορία HTTPS εκδίδοντας ένα αυτο-υπογεγραμμένο πιστοποιητικό στον πελάτη. Ένα καλό παράδειγμα για το πώς να ρυθμίσετε την παρακολούθηση και την τροποποίηση της κυκλοφορίας μπορείτε να βρείτε εδώ.
Θα ήταν περίεργο αν αυτό το θρυλικό όργανο δεν περιλαμβανόταν στην κριτική μας. Ακόμα κι αν δεν το έχετε χρησιμοποιήσει ποτέ, πιθανότατα το έχετε ακούσει (και απλά πρέπει να το γνωρίσετε καλύτερα) - εμφανίζεται αρκετά συχνά στις σελίδες του περιοδικού. Δεν θα περιγράψω πλήρως τη λειτουργικότητά του - πρώτον, μας ενδιαφέρει το MITM και, δεύτερον, μια τέτοια περιγραφή θα καταλαμβάνει ολόκληρο το άρθρο.
Η συμμετοχή στην κοινότητα εντός της καθορισμένης περιόδου θα σας δώσει πρόσβαση σε ΟΛΟ το υλικό των Hacker, θα αυξήσει την προσωπική σας αθροιστική έκπτωση και θα σας επιτρέψει να συγκεντρώσετε μια επαγγελματική βαθμολογία Xakep Score!
Η επίθεση man-in-the-middle είναι μια γενική ονομασία για διάφορες τεχνικές που στοχεύουν στην απόκτηση πρόσβασης στην κυκλοφορία ως ενδιάμεσος. Λόγω της μεγάλης ποικιλίας αυτών των τεχνικών, είναι προβληματική η εφαρμογή ενός ενιαίου εργαλείου για τον εντοπισμό αυτών των επιθέσεων που θα λειτουργούσε για όλες τις πιθανές καταστάσεις. Για παράδειγμα, σε μια επίθεση man-in-the-middle σε ένα τοπικό δίκτυο, χρησιμοποιείται συνήθως η πλαστογράφηση ARP (poisoning). Και πολλά εργαλεία ανίχνευσης επιθέσεων man-in-the-middle παρακολουθούν τις αλλαγές στα ζεύγη διευθύνσεων Ethernet/ή αναφέρουν ύποπτη δραστηριότητα ARP παρακολουθώντας παθητικά αιτήματα/απαντήσεις ARP. Αλλά εάν αυτή η επίθεση χρησιμοποιείται σε έναν κακόβουλα ρυθμισμένο διακομιστή μεσολάβησης, VPN ή άλλες επιλογές που δεν χρησιμοποιούν δηλητηρίαση ARP, τότε τέτοια εργαλεία είναι αβοήθητα.
Ο σκοπός αυτής της ενότητας είναι να αναθεωρήσει ορισμένες τεχνικές για τον εντοπισμό επιθέσεων man-in-the-middle, καθώς και ορισμένα εργαλεία που έχουν σχεδιαστεί για να καθορίσουν εάν στοχεύεστε από επίθεση MitM. Λόγω της ποικιλίας των μεθοδολογιών και των σεναρίων υλοποίησης, δεν είναι εγγυημένη η ανίχνευση 100%.
Όπως αναφέρθηκε ήδη, οι επιθέσεις man-in-the-middle δεν χρησιμοποιούν πάντα πλαστογράφηση ARP. Επομένως, αν και η ανίχνευση δραστηριότητας σε επίπεδο ARP είναι η πιο δημοφιλής μέθοδος ανίχνευσης, περισσότερο με καθολικό τρόποείναι η ανίχνευση της τροποποίησης της κυκλοφορίας. Το πρόγραμμα mitmcanary μπορεί να μας βοηθήσει σε αυτό.
Η αρχή λειτουργίας του προγράμματος είναι ότι κάνει αιτήματα «ελέγχου» και αποθηκεύει τις απαντήσεις που λαμβάνονται. Μετά από αυτό, επαναλαμβάνει τα ίδια αιτήματα σε συγκεκριμένα χρονικά διαστήματα και συγκρίνει τις απαντήσεις που λαμβάνει. Το πρόγραμμα είναι αρκετά έξυπνο και, για την αποφυγή ψευδών θετικών, εντοπίζει δυναμικά στοιχεία στις απαντήσεις και τα επεξεργάζεται σωστά. Μόλις το πρόγραμμα εντοπίσει ίχνη δραστηριότητας των εργαλείων επίθεσης MitM, το αναφέρει.
Παραδείγματα για το πώς ορισμένα εργαλεία μπορούν να «κληρονομήσουν»:
Sudo pip εγκατάσταση Cython sudo apt-get install python-kivy python-dbus sudo pip install plyer uuid urlopen αίτημα ανάλυσης simplejson datetime git clone https://github.com/CylanceSPEAR/mitmcanary.git cd mitmcanary/
Όπως ήδη αναφέρθηκε, το mitmcanary πρέπει να αρχίσει να εργάζεται με αιτήματα ελέγχου. Για να το κάνετε αυτό, μεταβείτε στον κατάλογο
υπηρεσία CD/
Και τρέξτε το αρχείο setup_test_persistence.py:
Python2 setup_test_persistence.py
Αυτό θα πάρει λίγο χρόνο - περιμένετε να τελειώσει. Δεν πρέπει να υπάρχουν μηνύματα σφάλματος (αν ναι, τότε σας λείπουν κάποιες εξαρτήσεις).
Η έξοδος θα είναι κάπως έτσι:
Mial@HackWare:~/bin/mitmcanary/service$ python2 setup_test_persistence.py Εντοπίστηκε παλαιότερη έκδοση διαμόρφωσης (0 αντί για 14) Αναβάθμιση διαμόρφωσης σε εξέλιξη. Το ημερολόγιο εκκαθάρισης ενεργοποιήθηκε. Αναλύοντας... Η εκκαθάριση ολοκληρώθηκε!
Εγγραφή σύνδεσης /home/mial/.kivy/logs/kivy_16-11-01_0.txt v1.9.1 v2.7.12+ (προεπιλογή, 1 Σεπτεμβρίου 2016, 20:27:38)
Αφού ολοκληρωθεί αυτή η διαδικασία, εκτελέστε στον ίδιο κατάλογο (αυτό θα ξεκινήσει μια διαδικασία παρασκηνίου):
Python2 main.py
Μετά από αυτό, ανοίξτε ένα νέο παράθυρο τερματικού και μεταβείτε στον τελικό κατάλογο με το mitmcanary. Ο κατάλογός μου είναι bin/mitmcanary/, οπότε μπαίνω
Cd bin/mitmcanary/
Αφού ολοκληρωθεί αυτή η διαδικασία, εκτελέστε στον ίδιο κατάλογο (αυτό θα ξεκινήσει μια διαδικασία παρασκηνίου):
και κάνε εκεί:
Το πρώτο παράθυρο εμφανίζει κάτι σαν:
για ακρόαση υποδοχής για Tuio στις 127.0.0.1:3000 Ύπνος για 60 δευτερόλεπτα Ύπνος για 60 δευτερόλεπτα Ύπνος για 60 δευτερόλεπτα Ύπνος για 60 δευτερόλεπτα Ύπνος για 60 δευτερόλεπτα Ύπνος για 60 δευτερόλεπτα
Εκείνοι. Το πρόγραμμα κάνει αιτήματα ελέγχου μία φορά το λεπτό και αναζητά σημάδια επίθεσης man-in-the-middle.
Το δεύτερο παράθυρο περιέχει επίσης έξοδο + ένα σκοτεινό παράθυρο ανοίγει οι συντάκτες του προγράμματος αποκαλούν αυτό το παράθυρο "γραφική διεπαφή":
Μπορείτε να περιμένετε λίγο και να σερφάρετε στο Διαδίκτυο για να βεβαιωθείτε ότι το πρόγραμμα δεν εκδίδει ψευδείς προειδοποιήσεις. Ας προσπαθήσουμεκλασικό πρόγραμμα
Ξεκινάω μια τακτική επίθεση MitM με πλαστογράφηση ARP. Το mitmcanary δεν ανταποκρίνεται στην ίδια τη χάραξη. Το εργαλείο mitmcanary δημιουργεί την ίδια την κίνηση, δηλαδή δεν απαιτείται καμία ενέργεια χρήστη. Μετά από κάποιο χρονικό διάστημα, εμφανίζεται μία μόνο προειδοποίηση, η οποία δεν επιβεβαιώνεται κατά τους επόμενους ελέγχους. Αλλά μια παρόμοια προειδοποίηση εμφανίζεται μετά από λίγα λεπτά. Χωρίς περαιτέρω ανάλυση, δυσκολεύομαι να πω εάν αυτό είναι ένα παράδειγμα ψευδούς θετικού - μοιάζει πολύ με αυτό. Είναι πολύ πιθανό αυτή η προειδοποίηση να προκαλείται από αποτυχία επικοινωνίας λόγω της ανάγκης κυκλοφορίας να διέρχεται πρόσθετες διαδρομές ή λόγω των ιδιαιτεροτήτων της κακής ποιότητας σύνδεσής μου στο Διαδίκτυο.
Εφόσον το αποτέλεσμα δεν είναι προφανές (πιθανότερο «όχι» παρά «ναι»), ας δοκιμάσουμε το πρόγραμμα Bettercap, το οποίο έχει μια ποικιλία ενοτήτων. Δεν έχω καμία αμφιβολία ότι όταν χρησιμοποιείτε διάφορα Ettercap ή/και πρόσθετα πρόσθετα προγράμματαγια επέκταση της λειτουργικότητας, θα "ανάβαμε" και για το mitmcanary.
Για την καθαρότητα του πειράματος, επανεκκινώ τον εξοπλισμό, τρέχω το mitmcanary στο μηχάνημα που δέχεται επίθεση και το Bettercap στο επιτιθέμενο. Ταυτόχρονα, δεν είναι απαραίτητο να κάνετε ξανά αιτήματα ελέγχου στο μηχάνημα που δέχεται επίθεση - αποθηκεύονται σε ένα αρχείο μέσα στον κατάλογο με το πρόγραμμα. Εκείνοι. Απλώς ξεκινήστε την υπηρεσία και τη γραφική διεπαφή.
Και στο μηχάνημα επίθεσης θα εκκινήσουμε το Bettercap με ενεργοποιημένους τους αναλυτές:
Sudo bettercap -X
Εμφανίζονται μεμονωμένες προειδοποιήσεις, οι οποίες επίσης μοιάζουν περισσότερο με ψευδώς θετικά.
Αλλά εκτελώντας αυτήν την εντολή:
Sudo bettercap -X --proxy
Στις κλήσεις μηχανών που επιτέθηκαν μεγάλο αριθμόπροειδοποιήσεις για μια πιθανή επίθεση άνδρα στη μέση:
Έτσι, όσο πιο ισχυρό είναι ένα εργαλείο επίθεσης man-in-the-middle, τόσο περισσότερα ίχνη αφήνει στην κυκλοφορία. Για πρακτική χρήση του mitmcanary, πρέπει να πληρούνται οι ακόλουθες προϋποθέσεις:
Πολύ συχνά, μια επίθεση man-in-the-middle σε ένα τοπικό δίκτυο ξεκινά με δηλητηρίαση ARP. Αυτός είναι ο λόγος για τον οποίο πολλά εργαλεία που έχουν σχεδιαστεί για την ανίχνευση επιθέσεων MitM βασίζονται σε έναν μηχανισμό παρακολούθησης αλλαγών στη μνήμη cache ARP, ο οποίος εκχωρεί αντιστοιχία μεταξύ Ethernet (διευθύνσεις MAC) και διευθύνσεις IP.
Ως παράδειγμα τέτοιων προγραμμάτων, μπορούμε να θυμηθούμε το arpwatch, το arpalert και έναν μεγάλο αριθμό νέων προγραμμάτων. Το πρόγραμμα ArpON όχι μόνο παρακολουθεί τις αλλαγές στη μνήμη cache ARP, αλλά και την προστατεύει από αυτές.
Για παράδειγμα, ας τρέξουμε το arpwatch σε λειτουργία εντοπισμού σφαλμάτων, χωρίς να δημιουργήσουμε πιρούνια στο παρασκήνιο και να στείλουμε μηνύματα μέσω ταχυδρομείου. Αντίθετα, τα μηνύματα αποστέλλονται στο stderr (τυπική έξοδος σφάλματος).
Sudo /usr/sbin/arpwatch -d
Ας ξεκινήσουμε το Ettercap στη μηχανή επίθεσης και ας ξεκινήσουμε την πλαστογράφηση ARP. Στο μηχάνημα που επιτέθηκε παρατηρούμε:
Το πρόγραμμα arpwatch θα σας βοηθήσει να μάθετε γρήγορα για νέες συσκευές που είναι συνδεδεμένες στο δικό σας τοπικό δίκτυο, καθώς και αλλαγές στη μνήμη cache του ARP.
Ένα άλλο εργαλείο για τον εντοπισμό πλαστογράφησης ARP σε πραγματικό χρόνο είναι το πρόσθετο Ettercap που ονομάζεται arp_cop. Στο μηχάνημα που δέχεται επίθεση, εκκινήστε το Ettercap ως εξής:
Sudo ettercap -TQP arp_cop ///
Και στον εισβολέα θα ξεκινήσουμε τη δηλητηρίαση ARP. Οι προειδοποιήσεις αρχίζουν να εμφανίζονται αμέσως στο μηχάνημα που επιτέθηκε:
Η πλαστογράφηση DNS υποδεικνύει ότι υπάρχει ένας ενδιάμεσος ανάμεσα σε εσάς και τον προορισμό σας που μπορεί να τροποποιήσει την επισκεψιμότητά σας. Πώς μπορείτε να εντοπίσετε ότι οι εγγραφές DNS έχουν πλαστογραφηθεί; Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να συγκρίνετε με τις απαντήσεις ενός διακομιστή ονομάτων που εμπιστεύεστε. Αλλά οι εγγραφές στην απάντηση που αποστέλλεται στο αίτημά σας μπορούν επίσης να αντικατασταθούν...
Εκείνοι. πρέπει να ελέγξετε είτε μέσω ενός κρυπτογραφημένου καναλιού (για παράδειγμα, μέσω Tor), είτε να χρησιμοποιήσετε μη τυπικές ρυθμίσεις (άλλη θύρα, TCP αντί για UDP). Αυτό είναι περίπου για το οποίο έχει σχεδιαστεί το πρόγραμμα sans από το XiaoxiaoPu (τουλάχιστον όπως το καταλαβαίνω εγώ). Μπόρεσα να χρησιμοποιήσω αυτό το πρόγραμμα για να ανακατευθύνω αιτήματα DNS μέσω Tor και μέσω μη τυπικών ρυθμίσεων στο δικό μου Διακομιστής DNS. Αλλά δεν μπορούσα να την κάνω να μου δείξει μηνύματα σχετικά με την πλαστογράφηση απόκρισης DNS. Χωρίς αυτό, χάνεται το νόημα του προγράμματος.
Δεν μπορούσα να βρω άλλες άξιες εναλλακτικές.
Κατ 'αρχήν, δεδομένου ότι οι πλαστογράφηση DNS συνήθως παρακολουθούν μόνο τη θύρα 53 και μόνο το πρωτόκολλο UDP, ακόμη και χειροκίνητα αρκεί να ελέγξετε απλώς το γεγονός της πλαστογράφησης DNS, αν και αυτό απαιτεί τον δικό σας διακομιστή DNS με μη τυπική διαμόρφωση. Για παράδειγμα, στον επιτιθέμενο μηχάνημα δημιούργησα ένα αρχείο dns.confμε το ακόλουθο περιεχόμενο:
Τοπικό mi-al.ru
Εκείνοι. όταν ζητάτε μια εγγραφή DNS για τον ιστότοπο mi-al.ru, θα σταλεί η IP του μηχανήματος του εισβολέα αντί για την πραγματική IP.
Τρέχω στην επιθετική μηχανή:
Sudo bettercap --dns dns.conf
Και στον επιτιθέμενο κάνω δύο ελέγχους:
Dig mi-al.ru # και dig mi-al.ru -p 4560 @185.117.153.79
Αποτελέσματα:
Mial@HackWare:~$ dig mi-al.ru ;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru ;; καθολικές επιλογές: +cmd ;; Πήρα απάντηση: ;; ->>ΚΕΦΑΛΙ<<- opcode: QUERY, status: NOERROR, id: 51993 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 86400 IN A 192.168.1.48 ;; Query time: 2 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 02 09:25:20 MSK 2016 ;; MSG SIZE rcvd: 42 mial@HackWare:~$ dig mi-al.ru -p 4560 @185.117.153.79 ; <<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru -p 4560 @185.117.153.79 ;; καθολικές επιλογές: +cmd ;; Πήρα απάντηση: ;; ->>ΚΕΦΑΛΙ<<- opcode: QUERY, status: NOERROR, id: 401 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 3799 IN A 185.26.122.50 ;; Query time: 304 msec ;; SERVER: 185.117.153.79#4560(185.117.153.79) ;; WHEN: Wed Nov 02 09:25:27 MSK 2016 ;; MSG SIZE rcvd: 53
Μπορεί να φανεί ότι για ένα "κανονικό" αίτημα DNS, στάλθηκε τοπική IP 192.168.1.48 και όταν ζητήθηκε DNS σε μια άτυπη θύρα, στάλθηκε η σωστή IP διακομιστή.
Εάν ο διακομιστής έχει ρυθμιστεί να χρησιμοποιεί TCP (αντί UDP), τότε η εντολή θα μοιάζει με αυτό:
Dig mi-al.ru -p 4560 +tcp @185.117.153.79
Υπάρχει ξεκάθαρα έλλειψη ενός εργαλείου που θα παρακολουθούσε τις αποκρίσεις DNS στην κυκλοφορία, θα τις έλεγχε ξανά έναντι μιας εναλλακτικής πηγής και θα σήμανε συναγερμό σε περίπτωση πλαστογράφησης.
Για να αποφύγετε τη ρύθμιση του δικού σας απομακρυσμένου DNS, μπορείτε να κάνετε ερωτήματα διακομιστή ονομάτων μέσω Tor. Δεδομένου ότι όλη η κίνηση Tor είναι κρυπτογραφημένη, οι αποκρίσεις DNS που λαμβάνονται με αυτόν τον τρόπο είναι πέρα από τις δυνατότητες ενός ενδιάμεσου. Εάν το Tor δεν είναι ήδη εγκατεστημένο, εγκαταστήστε το.
Sudo apt-get tor εγκατάστασης
Sudo pacman -S tor
Ξεκινήστε την υπηρεσία:
Sudo systemctl start tor
Εάν το χρειάζεστε, προσθέστε αυτήν την υπηρεσία στην εκκίνηση:
Το Sudo systemctl ενεργοποιεί το tor
Ανοίξτε το αρχείο /etc/tor/torrcκαι προσθέστε εκεί τις ακόλουθες γραμμές:
DNSPort 530 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit,.onion
Δώστε προσοχή στον αριθμό 530. Αυτός είναι ο αριθμός θύρας αντί για 530, μπορείτε να καθορίσετε οποιαδήποτε άλλη (αχρησιμοποίητη) θύρα. Το κύριο πράγμα είναι να το θυμάστε.
Ελέγχουμε ξανά:
Dig mi-al.ru # και dig mi-al.ru -p 530 @localhost
Τώρα καθορίζουμε ως διακομιστή localhostκαι γράψτε τον αριθμό θύρας που καθορίσατε στις ρυθμίσεις /etc/tor/torrc.
Όπως μπορείτε να δείτε από το παρακάτω στιγμιότυπο οθόνης, πραγματοποιείται επίθεση πλαστογράφησης DNS στο μηχάνημα στο οποίο έγινε ο έλεγχος:
Εάν υπάρχει (και ειδικά αν εμφανιστεί ξαφνικά) εξοπλισμός σε ακατάλληλη λειτουργία στο τοπικό σας δίκτυο, αυτό είναι πολύ ύποπτο, αν και δεν υποδηλώνει ξεκάθαρα επίθεση man-in-the-middle.
Σε αυτή τη λειτουργία, η κάρτα δικτύου σάς επιτρέπει να λαμβάνετε όλα τα πακέτα ανεξάρτητα από το σε ποιον απευθύνονται.
Σε κανονική κατάσταση, η διεπαφή Ethernet χρησιμοποιεί φιλτράρισμα πακέτων επιπέδου σύνδεσης και εάν η διεύθυνση MAC στην κεφαλίδα προορισμού του ληφθέντος πακέτου δεν ταιριάζει με τη διεύθυνση MAC της τρέχουσας διεπαφής δικτύου και δεν μεταδίδεται, τότε το πακέτο απορρίπτεται. Στη λειτουργία "αδιάκριτης", το φιλτράρισμα στη διεπαφή δικτύου είναι απενεργοποιημένο και όλα τα πακέτα, συμπεριλαμβανομένων εκείνων που δεν προορίζονται για τον τρέχοντα κόμβο, επιτρέπονται στο σύστημα.
Τα περισσότερα λειτουργικά συστήματα απαιτούν δικαιώματα διαχειριστή για να ενεργοποιήσουν την ακατάλληλη λειτουργία. Εκείνοι. Η ρύθμιση μιας κάρτας δικτύου σε ακατάλληλη λειτουργία είναι μια σκόπιμη ενέργεια που μπορεί να εξυπηρετεί σκοπούς sniffing.
Για να αναζητήσετε διεπαφές δικτύου σε ακατάλληλη λειτουργία υπάρχει ένα πρόσθετο που ονομάζεται Ettercap search_promisc.
Παράδειγμα εκτέλεσης της προσθήκης:
Sudo ettercap -TQP search_promisc ///
Η λειτουργία της προσθήκης δεν είναι απολύτως αξιόπιστη, ενδέχεται να προκύψουν σφάλματα κατά τον προσδιορισμό της λειτουργίας διεπαφής δικτύου.
Ορισμένες μέθοδοι επίθεσης "man-in-the-middle" αφήνουν πολλά ίχνη και ορισμένες (όπως η παθητική αναζήτηση διαπιστευτηρίων διακομιστή μεσολάβησης) είναι αδύνατο ή σχεδόν αδύνατο να εντοπιστούν.