18/10/2016 | Βλαντιμίρ Χαζόφ
Τα σχέδια του FSB, του Υπουργείου Τηλεπικοινωνιών και Μαζικών Επικοινωνιών και του Υπουργείου Βιομηχανίας και Εμπορίου για την εφαρμογή των διατάξεων του νόμου Yarovaya σχετικά με την υποκλοπή και την αποκρυπτογράφηση της αλληλογραφίας των Ρώσων δεν είναι πλέον απλώς σχέδια, αλλά έχουν ήδη αρχίσει να τίθενται σε δράση με εντολή προετοιμασίας γνώμη ειδικούγια το ενδεχόμενο υποκλοπής μηνυματα whatsapp, Viber, Facebook Messenger, Telegram, Skype με χρήση επιθέσεων MITM και επίδειξη πρωτοτύπου τέτοιου εργαλείου.
Γράψαμε για το σχέδιο οργάνωσης μιας «νόμιμης» επίθεσης MITM σε προηγούμενο άρθρο. Σήμερα θα σταθούμε λεπτομερέστερα στην ίδια την αρχή μιας τέτοιας επίθεσης και τις μεθόδους εφαρμογής της.
Το Man In The Middle (MITM) μεταφράζεται ως "άνθρωπος στη μέση". Αυτός ο όρος αναφέρεται σε μια επίθεση δικτύου όπου ένας εισβολέας βρίσκεται μεταξύ του χρήστη του Διαδικτύου και της εφαρμογής στην οποία έχει πρόσβαση. Όχι φυσικά, αλλά με τη βοήθεια ειδικού λογισμικού. Παρουσιάζεται στον χρήστη ως η αιτούμενη εφαρμογή (θα μπορούσε να είναι ένας ιστότοπος ή μια υπηρεσία Διαδικτύου), προσομοιώνει τη συνεργασία με αυτήν και το κάνει με τέτοιο τρόπο ώστε να δίνει την εντύπωση κανονική λειτουργίακαι ανταλλαγή πληροφοριών.
Στόχος της επίθεσης είναι τα προσωπικά δεδομένα του χρήστη, όπως τα διαπιστευτήρια σύνδεσης διάφορα συστήματα, τραπεζικά στοιχεία και αριθμούς καρτών, προσωπική αλληλογραφία και άλλες εμπιστευτικές πληροφορίες. Στις περισσότερες περιπτώσεις δέχονται επίθεση οικονομικές εφαρμογές(πελάτες τραπεζών, ηλεκτρονικές τράπεζες, υπηρεσίες πληρωμών και μεταφοράς χρημάτων), υπηρεσίες SaaS της εταιρείας, ιστότοποι ηλεκτρονικού εμπορίου (διαδικτυακά καταστήματα) και άλλοι ιστότοποι όπου απαιτείται εξουσιοδότηση για σύνδεση στο σύστημα.
Οι πληροφορίες που αποκτά ένας εισβολέας μπορούν να χρησιμοποιηθούν για διάφορους σκοπούς, όπως παράνομες μεταφορές χρημάτων, αλλαγή λογαριασμών, υποκλοπή προσωπικής αλληλογραφίας, πραγματοποίηση αγορών σε βάρος κάποιου άλλου, συμβιβασμούς και εκβιασμούς.
Επιπλέον, μετά από κλοπή διαπιστευτηρίων και χακάρισμα του συστήματος, οι εγκληματίες μπορούν να εγκαταστήσουν κακόβουλο λογισμικό στο εταιρικό δίκτυο. λογισμικόνα οργανώσει την κλοπή πνευματικής ιδιοκτησίας (πατέντες, έργα, βάσεις δεδομένων) και να προκαλέσει οικονομική ζημιά διαγράφοντας σημαντικά δεδομένα.
Μια επίθεση MITM μπορεί να συγκριθεί με έναν ταχυδρόμο που, ενώ παραδίδει την αλληλογραφία σας, ανοίγει μια επιστολή, ξαναγράφει το περιεχόμενό της για προσωπική χρήση ή ακόμα και παραποιεί το χειρόγραφο, προσθέτει κάτι δικό του και στη συνέχεια σφραγίζει τον φάκελο και τον παραδίδει στον παραλήπτη σαν να μην είχε συμβεί τίποτα. Επιπλέον, εάν έχετε κρυπτογραφήσει το κείμενο της επιστολής και θέλετε να κοινοποιήσετε τον κωδικό αποκρυπτογράφησης προσωπικά στον παραλήπτη, ο ταχυδρόμος θα συστηθεί ως παραλήπτης με τέτοιο τρόπο που δεν θα παρατηρήσετε καν την αντικατάσταση.
Η εκτέλεση μιας επίθεσης MITM αποτελείται από δύο φάσεις: υποκλοπή και αποκρυπτογράφηση.
Το πρώτο στάδιο της επίθεσης είναι η αναχαίτιση της κυκλοφορίας από τον χρήστη προς τον επιδιωκόμενο στόχο και η κατεύθυνσή της στο δίκτυο του εισβολέα.
Ο πιο συνηθισμένος και ευκολότερος τρόπος αναχαίτισης είναι μια παθητική επίθεση, όταν ένας εισβολέας δημιουργεί σημεία Wi-Fi με Ελεύθερη πρόσβαση(χωρίς κωδικό πρόσβασης και εξουσιοδότηση). Τη στιγμή που ένας χρήστης συνδέεται σε ένα τέτοιο σημείο, ο εισβολέας αποκτά πρόσβαση σε όλη την κίνηση που διέρχεται από αυτό και μπορεί να εξαγάγει οποιαδήποτε δεδομένα από αυτό για υποκλοπή.
Η δεύτερη μέθοδος είναι η ενεργή υποκλοπή, η οποία μπορεί να πραγματοποιηθεί με έναν από τους ακόλουθους τρόπους:
Παραπλάνηση IP– αντικατάσταση της διεύθυνσης IP του στόχου στην κεφαλίδα του πακέτου με τη διεύθυνση του εισβολέα. Ως αποτέλεσμα, οι χρήστες, αντί να επισκεφτούν τη διεύθυνση URL που ζητήθηκε, καταλήγουν στον ιστότοπο του εισβολέα.
ARP πλαστογράφηση– αντικατάσταση της πραγματικής διεύθυνσης MAC του κεντρικού υπολογιστή με τη διεύθυνση του εισβολέα στον πίνακα ARP του θύματος. Ως αποτέλεσμα, τα δεδομένα που αποστέλλονται από τον χρήστη στη διεύθυνση IP του απαιτούμενου κόμβου καταλήγουν στη διεύθυνση του εισβολέα.
Παραπλάνηση DNSμόλυνση της κρυφής μνήμης DNS, διείσδυση του διακομιστή DNS και πλαστογράφηση της εγγραφής αντιστοίχισης διεύθυνσης ιστότοπου. Ως αποτέλεσμα, ο χρήστης προσπαθεί να αποκτήσει πρόσβαση στον ιστότοπο που ζητήθηκε, αλλά λαμβάνει τη διεύθυνση του ιστότοπου του εισβολέα από τον διακομιστή DNS.
Μόλις υποκλαπεί, η αμφίδρομη κυκλοφορία SSL πρέπει να αποκρυπτογραφηθεί με τέτοιο τρόπο ώστε ο χρήστης και ο πόρος που ζητά να μην αντιληφθούν την παρεμβολή.
Υπάρχουν διάφορες μέθοδοι για αυτό:
Spoofing HTTPS– ένα ψεύτικο πιστοποιητικό αποστέλλεται στο πρόγραμμα περιήγησης του θύματος όταν δημιουργηθεί σύνδεση με τον ιστότοπο μέσω του πρωτοκόλλου HTTPS. Αυτό το πιστοποιητικό περιέχει ψηφιακή υπογραφήπαραβιάστηκε η εφαρμογή, με αποτέλεσμα το πρόγραμμα περιήγησης να αποδεχτεί τη σύνδεση με τον εισβολέα ως αξιόπιστη. Μόλις δημιουργηθεί μια τέτοια σύνδεση, ο εισβολέας έχει πρόσβαση σε όλα τα δεδομένα που έχει εισάγει το θύμα προτού μεταδοθούν στην εφαρμογή.
SSL BEAST(εκμετάλλευση προγράμματος περιήγησης έναντι SSL/TLS) – η επίθεση εκμεταλλεύεται την ευπάθεια SSL στις εκδόσεις TLS 1.0 και 1.2. Ο υπολογιστής του θύματος έχει μολυνθεί με κακόβουλο JavaScript, το οποίο παρεμποδίζει τα κρυπτογραφημένα cookies που αποστέλλονται στην εφαρμογή Ιστού. Αυτό θέτει σε κίνδυνο τη λειτουργία κρυπτογράφησης "αλυσίδας μπλοκ κρυπτογραφημένου κειμένου" έτσι ώστε ο εισβολέας να αποκτά τα αποκρυπτογραφημένα cookie και τα κλειδιά ελέγχου ταυτότητας.
Παραβίαση SSL– μεταφορά πλαστών κλειδιών ελέγχου ταυτότητας στον χρήστη και την εφαρμογή κατά την έναρξη μιας συνεδρίας TCP. Αυτό δημιουργεί την εμφάνιση ασφαλής σύνδεσηόταν στην πραγματικότητα η συνεδρία ελέγχεται από τον «άνθρωπο στη μέση».
Απογύμνωση SSL– Υποβαθμίζει τη σύνδεση από ασφαλές HTTPS σε απλό HTTP παρεμποδίζοντας τον έλεγχο ταυτότητας TLS που αποστέλλεται από την εφαρμογή στον χρήστη. Ο εισβολέας παρέχει στον χρήστη μη κρυπτογραφημένη πρόσβαση στον ιστότοπο, ενώ διατηρεί μια ασφαλή συνεδρία με την εφαρμογή, αποκτώντας τη δυνατότητα να βλέπει τα μεταδιδόμενα δεδομένα του θύματος.\
Η αξιόπιστη προστασία από επιθέσεις MITM είναι δυνατή εάν ο χρήστης προβεί σε διάφορες προληπτικές ενέργειες και χρησιμοποιεί έναν συνδυασμό μεθόδων κρυπτογράφησης και ελέγχου ταυτότητας από προγραμματιστές εφαρμογών Ιστού.
Ενέργειες χρήστη:
Οι προγραμματιστές εφαρμογών ιστού και ιστοτόπων πρέπει να χρησιμοποιούν ασφαλή Πρωτόκολλα TLSκαι HTTPS, τα οποία περιπλέκουν πολύ τις επιθέσεις πλαστογράφησης κρυπτογραφώντας τα μεταδιδόμενα δεδομένα. Η χρήση τους αποτρέπει επίσης την υποκλοπή κυκλοφορίας προκειμένου να ληφθούν οι παράμετροι εξουσιοδότησης και τα κλειδιά πρόσβασης.
Θεωρείται καλή πρακτική η προστασία των TLS και HTTPS όχι μόνο για τις σελίδες εξουσιοδότησης, αλλά και για όλες τις άλλες ενότητες του ιστότοπου. Αυτό μειώνει την πιθανότητα ένας εισβολέας να κλέψει τα cookies του χρήστη τη στιγμή που πλοηγείται σε μη προστατευμένες σελίδες μετά την εξουσιοδότηση.
Η προστασία από επιθέσεις MITM είναι ευθύνη του χρήστη και του τηλεπικοινωνιακού φορέα. Το πιο σημαντικό πράγμα για τον χρήστη είναι να μην χάσει την επαγρύπνηση, να χρησιμοποιεί μόνο αποδεδειγμένες μεθόδους πρόσβασης στο Διαδίκτυο και να επιλέγει ιστότοπους με κρυπτογράφηση HTTPS κατά τη μεταφορά προσωπικών δεδομένων. Οι χειριστές τηλεπικοινωνιών μπορούν να συστήσουν τη χρήση συστημάτων Deep Packet Inspection (DPI) για τον εντοπισμό ανωμαλιών στα δίκτυα δεδομένων και την πρόληψη επιθέσεων πλαστογράφησης.
Οι κυβερνητικές υπηρεσίες σχεδιάζουν να χρησιμοποιήσουν την επίθεση MITM για να προστατεύσουν τους πολίτες και όχι για να προκαλέσουν ζημιές, σε αντίθεση με τους επιτιθέμενους. Η υποκλοπή προσωπικών μηνυμάτων και άλλης κίνησης χρηστών πραγματοποιείται στο πλαίσιο της ισχύουσας νομοθεσίας, με απόφαση των δικαστικών αρχών για την καταπολέμηση της τρομοκρατίας, της διακίνησης ναρκωτικών και άλλων απαγορευμένων δραστηριοτήτων. Για τους απλούς χρήστες, οι «νόμιμες» επιθέσεις MITM δεν αποτελούν απειλή.
Υποδηλώνει μια κατάσταση όπου ένας εισβολέας μπορεί να διαβάσει και να τροποποιήσει κατά βούληση μηνύματα που ανταλλάσσονται μεταξύ ανταποκριτών και κανένας από τους τελευταίους δεν μπορεί να μαντέψει την παρουσία του στο κανάλι.
Ίδρυμα Wikimedia. 2010.
Άνθρωπος στη μέση επίθεση Επίθεση MITM(eng. Man in the middle) όρος στην κρυπτογραφία που δηλώνει μια κατάσταση όπου ένας κρυπτοαναλυτής (επιτιθέμενος) είναι σε θέση να διαβάσει και να τροποποιήσει κατά βούληση τα μηνύματα που ανταλλάσσονται ... ... Wikipedia
- ... Βικιπαίδεια
Η κρυπτανάλυση (από το ελληνικό κρυπτός κρυφός και ανάλυση) είναι η επιστήμη των μεθόδων απόκτησης της αρχικής σημασίας κρυπτογραφημένων πληροφοριών χωρίς πρόσβαση στις μυστικές πληροφορίες (κλειδί) που είναι απαραίτητες για αυτό. Στις περισσότερες περιπτώσεις, αυτό σημαίνει... ... Wikipedia
Μια επίθεση χάκερ με τη στενή έννοια της λέξης γίνεται επί του παρόντος κατανοητή από τη φράση «Προσπάθεια σε ένα σύστημα ασφαλείας» και τείνει μάλλον στην έννοια του ακόλουθου όρου επίθεση Cracker. Αυτό συνέβη λόγω παραμόρφωσης της έννοιας της ίδιας της λέξης «hacker»... Wikipedia
- (από άλλα ελληνικά κρυπτός κρυφός και ανάλυση) η επιστήμη των μεθόδων αποκρυπτογράφησης κρυπτογραφημένων πληροφοριών χωρίς κλειδί που προορίζεται για τέτοια αποκρυπτογράφηση. Ο όρος επινοήθηκε από τον Αμερικανό κρυπτογράφο William F. Friedman το 1920. Ανεπίσημα... ... Wikipedia
Η επίθεση 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/
και κάνε εκεί:
Python2 main.py
Το πρώτο παράθυρο εμφανίζει κάτι σαν:
Mial@HackWare:~/bin/mitmcanary/service$ python2 main.py Εγγραφή σύνδεσης /home/mial/.kivy/logs/kivy_16-11-01_1.txt v1.9.1 v2.7.12+ (προεπιλογή, 1 Σεπτεμβρίου 2016, 20:27:38) χρησιμοποιώντας
Εκείνοι. Το πρόγραμμα κάνει αιτήματα ελέγχου μία φορά το λεπτό και αναζητά σημάδια επίθεσης man-in-the-middle.
Το δεύτερο παράθυρο περιέχει επίσης έξοδο + ένα σκοτεινό παράθυρο ανοίγει οι συντάκτες του προγράμματος αποκαλούν αυτό το παράθυρο "γραφική διεπαφή":
Μπορείτε να περιμένετε λίγο και να σερφάρετε στο Διαδίκτυο για να βεβαιωθείτε ότι το πρόγραμμα δεν εκδίδει ψευδείς προειδοποιήσεις.
Ας δοκιμάσουμε κλασικό πρόγραμμα ettercap.
Ξεκινάω μια τακτική επίθεση 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" αφήνουν πολλά ίχνη και ορισμένες (όπως η παθητική αναζήτηση διαπιστευτηρίων διακομιστή μεσολάβησης) είναι αδύνατο ή σχεδόν αδύνατο να εντοπιστούν.
Υπάρχουν σχεδόν πάντα διάφοροι τρόποι για να επιτευχθεί το επιθυμητό αποτέλεσμα. Αυτό ισχύει και για τον τομέα της ασφάλειας πληροφοριών. Μερικές φορές, για να πετύχετε έναν στόχο, μπορείτε να χρησιμοποιήσετε ωμή βία, να αναζητήσετε τρύπες και να αναπτύξετε μόνοι σας εκμεταλλεύσεις ή να ακούσετε τι μεταδίδεται μέσω του δικτύου. Επιπλέον, η τελευταία επιλογή είναι συχνά η βέλτιστη. Γι' αυτό σήμερα θα μιλήσουμε για εργαλεία που θα μας βοηθήσουν να συλλάβουμε πληροφορίες που είναι πολύτιμες για εμάς από την κυκλοφορία δικτύου, χρησιμοποιώντας επιθέσεις MITM για αυτό.
Ας ξεκινήσουμε με έναν από τους πιο ενδιαφέροντες υποψήφιους. Αυτό είναι ένα ολόκληρο πλαίσιο για τη διεξαγωγή επιθέσεων man-in-the-middle, χτισμένο με βάση το 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 και είχε τρία δροσερά πρόσθετα στο οπλοστάσιό της:
Το Middler όχι μόνο αναλύει αυτόματα την κυκλοφορία του δικτύου και βρίσκει cookies σε αυτό, αλλά και ανεξάρτητα τα ζητά από τον πελάτη, δηλαδή η διαδικασία αυτοματοποιείται στο μέγιστο. Το πρόγραμμα εγγυάται τη συλλογή όλων των μη προστατευμένων λογαριασμών σε ένα δίκτυο υπολογιστών (ή δημόσιο σημείο πρόσβασης) στο οποίο έχει πρόσβαση η κυκλοφορία. Για να λειτουργήσει σωστά το πρόγραμμα, πρέπει να εγκατασταθούν στο σύστημα τα ακόλουθα πακέτα: 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), να κλέψει τον κωδικό πρόσβασης από το υπάρχον τούνελ και να επαναλάβει την επίθεση.
Τα πιο κοινά μέσα επικοινωνίας για αυτήν την ομάδα είναι ένα κοινωνικό δίκτυο, μια δημόσια υπηρεσία email και ένα σύστημα άμεσων μηνυμάτων. Ο ιδιοκτήτης του πόρου που παρέχει την υπηρεσία επικοινωνιών έχει τον πλήρη έλεγχο των πληροφοριών που ανταλλάσσονται μεταξύ των ανταποκριτών και, κατά την κρίση του, μπορεί να πραγματοποιήσει ελεύθερα μια επίθεση ανά πάσα στιγμή.
Σε αντίθεση με προηγούμενα σενάρια που βασίζονται σε τεχνικές και τεχνολογικές πτυχές των επικοινωνιών, σε αυτήν την περίπτωση η επίθεση βασίζεται σε νοητικές πτυχές, δηλαδή στην ενσωμάτωση στο μυαλό των χρηστών της έννοιας της παράβλεψης των απαιτήσεων ασφάλειας πληροφοριών.
Ας εξετάσουμε την περίπτωση μιας τυπικής συναλλαγής HTTP. Σε αυτήν την περίπτωση, ένας εισβολέας μπορεί πολύ εύκολα να χωρίσει την αρχική σύνδεση TCP σε δύο νέες: μία μεταξύ του ίδιου και του πελάτη, και η άλλη μεταξύ του ίδιου και του διακομιστή. Αυτό είναι αρκετά εύκολο να γίνει, καθώς πολύ σπάνια η σύνδεση μεταξύ του πελάτη και του διακομιστή είναι άμεση και στις περισσότερες περιπτώσεις συνδέονται μέσω ενός αριθμού ενδιάμεσων διακομιστών. Μια επίθεση MITM μπορεί να πραγματοποιηθεί σε οποιονδήποτε από αυτούς τους διακομιστές.
Ωστόσο, εάν ο πελάτης και ο διακομιστής επικοινωνούν χρησιμοποιώντας HTTPS, ένα πρωτόκολλο που υποστηρίζει κρυπτογράφηση, μπορεί επίσης να πραγματοποιηθεί μια επίθεση man-in-the-middle. Αυτός ο τύπος σύνδεσης χρησιμοποιεί TLS ή SSL για την κρυπτογράφηση αιτημάτων, κάτι που φαίνεται να προστατεύει το κανάλι από sniffing και επιθέσεις MITM. Ένας εισβολέας μπορεί να δημιουργήσει δύο ανεξάρτητες περιόδους σύνδεσης SSL για κάθε σύνδεση TCP. Ο πελάτης δημιουργεί μια σύνδεση SSL με τον εισβολέα, ο οποίος με τη σειρά του δημιουργεί μια σύνδεση με τον διακομιστή. Σε τέτοιες περιπτώσεις, το πρόγραμμα περιήγησης συνήθως προειδοποιεί ότι το πιστοποιητικό δεν είναι υπογεγραμμένο από αξιόπιστη αρχή πιστοποίησης, αλλά οι απλοί χρήστες παλιών προγραμμάτων περιήγησης μπορούν εύκολα να παρακάμψουν αυτήν την προειδοποίηση. Επιπλέον, ο εισβολέας μπορεί να έχει ένα πιστοποιητικό υπογεγραμμένο από την αρχή πιστοποίησης root (για παράδειγμα, τέτοια πιστοποιητικά χρησιμοποιούνται μερικές φορές για DLP) και δεν δημιουργεί προειδοποιήσεις. Επιπλέον, υπάρχει ένας αριθμός επιθέσεων κατά του HTTPS. Έτσι, το πρωτόκολλο HTTPS δεν μπορεί να θεωρηθεί προστατευμένο από επιθέσεις MITM για απλούς χρήστες. [ ] Υπάρχει μια σειρά μέτρων που αποτρέπουν ορισμένες επιθέσεις MITM σε ιστότοπους https, ιδίως το HSTS, το οποίο απαγορεύει τη χρήση συνδέσεων http από τοποθεσίες, το καρφίτσωμα πιστοποιητικού και το Καρφίτσωμα δημόσιου κλειδιού HTTP, που απαγορεύουν την αντικατάσταση πιστοποιητικού.
Για να εντοπίσετε μια επίθεση man-in-the-middle, πρέπει να αναλύσετε την κίνηση του δικτύου. Για παράδειγμα, για να εντοπίσετε μια επίθεση SSL, θα πρέπει να δώσετε προσοχή στις ακόλουθες παραμέτρους:
Τα προγράμματα που αναφέρονται μπορούν να χρησιμοποιηθούν για την πραγματοποίηση επιθέσεων man-in-the-middle, καθώς και για τον εντοπισμό τους και τον έλεγχο του συστήματος για τρωτά σημεία.
Ο Γάλλος αξιωματικός και ο Πιερ μπήκαν στο σπίτι. Ο Πιερ θεώρησε καθήκον του να διαβεβαιώσει ξανά τον καπετάνιο ότι δεν ήταν Γάλλος και ήθελε να φύγει, αλλά ο Γάλλος αξιωματικός δεν ήθελε να το ακούσει. Ήταν τόσο ευγενικός, ευγενικός, καλοσυνάτος και αληθινά ευγνώμων που του έσωσε τη ζωή που ο Πιερ δεν είχε το πνεύμα να τον αρνηθεί και κάθισε μαζί του στο χολ, στο πρώτο δωμάτιο που μπήκαν. Απαντώντας στον ισχυρισμό του Pierre ότι δεν ήταν Γάλλος, ο καπετάνιος, προφανώς μη καταλαβαίνοντας πώς θα μπορούσε κανείς να αρνηθεί έναν τόσο κολακευτικό τίτλο, σήκωσε τους ώμους του και είπε ότι αν σίγουρα ήθελε να περάσει για Ρώσο, τότε ας είναι έτσι, αλλά ότι αυτός, παρά τότε, όλοι εξακολουθούν να συνδέονται για πάντα μαζί του με ένα αίσθημα ευγνωμοσύνης που του έσωσε τη ζωή.
Αν αυτός ο άντρας είχε τουλάχιστον κάποια ικανότητα να κατανοεί τα συναισθήματα των άλλων και είχε μαντέψει για τα συναισθήματα του Πιέρ, ο Πιερ πιθανότατα θα τον είχε εγκαταλείψει. αλλά η ζωηρή αδιαπερατότητα αυτού του ανθρώπου σε οτιδήποτε δεν ήταν ο ίδιος νίκησε τον Πιερ.
«Francais ou prince russe incognito, [Γάλλος ή Ρώσος πρίγκιπας ινκόγκνιτο», είπε ο Γάλλος κοιτάζοντας το βρώμικο αλλά λεπτό εσώρουχο του Πιέρ και το δαχτυλίδι στο χέρι του. – Je vous dois la vie je vous offfre mon amitie. Un Francais n "oublie jamais ni une insulte ni un service. Je vous offre mon amitie. Je ne vous dis que ca. [Σου χρωστάω τη ζωή μου και σου προσφέρω φιλία. Ο Γάλλος δεν ξεχνά ποτέ ούτε την προσβολή ούτε την υπηρεσία. Προσφέρω τη φιλία μου σε σένα δεν λέω τίποτα άλλο.]
Υπήρχε τόσο καλή φύση και αρχοντιά (με τη γαλλική έννοια) στους ήχους της φωνής, στην έκφραση του προσώπου, στις χειρονομίες αυτού του αξιωματικού που ο Πιέρ, απαντώντας με ένα ασυνείδητο χαμόγελο στο χαμόγελο του Γάλλου, έσφιξε το απλωμένο χέρι.
- Capitaine Ramball du treizieme leger, decore pour l "affaire du Sept, [Καπετάν Ράμπολ, δέκατο τρίτο ελαφρύ σύνταγμα, Ιππότης της Λεγεώνας της Τιμής για την υπόθεση της έβδομης Σεπτεμβρίου", παρουσιάστηκε με ένα αυτάρεσκο, ανεξέλεγκτο χαμόγελο που ζάρωσε τα χείλη του κάτω από το μουστάκι του - Voudrez vous bien me dire a δώρο, a qui" j"ai l"honneur de parler aussi agreablement au lieu de rester a l"ambulance avec la balle de ce fou dans le corps [Θα είσαι τόσο ευγενικός. για να μου πεις τώρα με ποιον είμαι έχω την τιμή να μιλάω τόσο ευχάριστα, αντί να βρίσκομαι σε ένα ντυσίμα με μια σφαίρα από αυτόν τον τρελό στο σώμα μου;]
Ο Pierre απάντησε ότι δεν μπορούσε να πει το όνομά του και, κοκκινίζοντας, άρχισε να προσπαθεί να εφεύρει ένα όνομα, να μιλήσει για τους λόγους για τους οποίους δεν μπορούσε να το πει αυτό, αλλά ο Γάλλος τον διέκοψε βιαστικά.
«Δε χάρη», είπε. – Je comprends vos raisons, vous etes officier... officier superieur, peut être. Vous avez porte les armes contre nous. Ce n"est pas mon affaire. Je vous dois la vie. Cela me suffit. Je suis tout a vous. Vous etes gentilhomme? [Για να είμαι πλήρης, παρακαλώ. Σε καταλαβαίνω, είσαι αξιωματικός... επιτελικός, Ίσως υπηρετήσατε εναντίον μας. Αυτό δεν είναι δικό μου θέμα. Je ne demande pas davantage. Monsieur Pierre, dites vous... Parfait. C "est tout ce que je wish savoir. [Το όνομά σου; Δεν ρωτάω τίποτα άλλο. Κύριε Pierre, είπατε; Υπέροχα. Αυτό είναι το μόνο που χρειάζομαι.]
Όταν έφεραν τηγανητό αρνί, ομελέτα, ένα σαμοβάρι, βότκα και κρασί από το ρωσικό κελάρι, που είχαν φέρει μαζί τους οι Γάλλοι, ο Ραμπάλ ζήτησε από τον Πιέρ να πάρει μέρος σε αυτό το δείπνο και αμέσως, λαίμαργα και γρήγορα, σαν υγιής και πεινασμένος άτομο, άρχισε να τρώει, μασώντας γρήγορα με τα δυνατά του δόντια, χτυπώντας συνεχώς τα χείλη του και λέγοντας εξαιρετική, exquis! [υπέροχο, εξαιρετικό!] Το πρόσωπό του ήταν κοκκινισμένο και καλυμμένο με ιδρώτα. Ο Πιερ ήταν πεινασμένος και με χαρά συμμετείχε στο δείπνο. Ο Μορέλ, ο τακτικός, έφερε μια κατσαρόλα με ζεστό νερό και έβαλε μέσα ένα μπουκάλι κόκκινο κρασί. Επιπλέον, έφερε ένα μπουκάλι kvass, το οποίο πήρε από την κουζίνα για δοκιμή. Αυτό το ποτό ήταν ήδη γνωστό στους Γάλλους και έλαβε το όνομά του. Ονόμασαν kvass limonade de cochon (χοιρινή λεμονάδα) και ο Morel επαίνεσε αυτό το limonade de cochon, το οποίο βρήκε στην κουζίνα. Αλλά επειδή ο καπετάνιος είχε πάρει κρασί κατά τη διάρκεια του περάσματος από τη Μόσχα, έδωσε kvass στον Morel και πήρε ένα μπουκάλι Bordeaux. Τύλιξε το μπουκάλι μέχρι το λαιμό σε μια χαρτοπετσέτα και έριξε στον εαυτό του και στον Πιέρ λίγο κρασί. Η χορτασμένη πείνα και το κρασί αναζωογόνησαν τον καπετάνιο ακόμα περισσότερο και μιλούσε ασταμάτητα στο δείπνο.
- Oui, mon cher monsieur Pierre, je vous dois une fiere chandelle de m"avoir sauve... de cet enrage... J"en ai assez, voyez vous, de balles dans le corps. En voila une (έδειξε στο πλάι του) ένα Wagram et de deux a Smolensk», έδειξε την ουλή που υπήρχε στο μάγουλό του. - Et cette jambe, comme vous voyez, qui ne veut pas marcher. C"est a la grande bataille du 7 a la Moskowa que j"ai recu ca. Sacre dieu, c"etait beau. Il fallait voir ca, c"etait un deluge de feu. Vous nous avez taille une rude besogne; vous pouvez vous en vanter, nom d"un petit bonhomme. Et, ma parole, malgre l"atoux que j"y ai gagne, je serais pret a recommencer. Je plains ceux qui n"ont pas vu ca. [Ναι, αγαπητέ μου κύριε Πιέρ, είμαι υποχρεωμένος να σας ανάψω ένα καλό κερί γιατί με έσωσες από αυτόν τον τρελό. Βλέπετε, έχω χορτάσει από τις σφαίρες που είναι στο σώμα μου. Εδώ είναι το ένα κοντά στο Wagram, το άλλο κοντά στο Σμολένσκ. Και αυτό το πόδι, βλέπετε, δεν θέλει να κουνηθεί. Αυτό έγινε κατά τη μεγάλη μάχη του 7ου κοντά στη Μόσχα. ΣΧΕΤΙΚΑ ΜΕ! ήταν υπέροχα! Έπρεπε να δεις ότι ήταν μια πλημμύρα από φωτιά. Μας δώσατε μια δύσκολη δουλειά, μπορείτε να την καμαρώσετε. Και προς Θεού, παρά αυτό το ατού (έδειξε τον σταυρό), θα ήμουν έτοιμος να ξεκινήσω από την αρχή. Λυπάμαι για όσους δεν το είδαν αυτό.]
«J'y ai ete, [ήμουν εκεί]», είπε ο Pierre.
- Μπα, βράιμεντ! «Eh bien, tant mieux», είπε ο Γάλλος. – Vous etes de fiers ennemis, tout de meme. La grande redoute a ete tenace, nom d"une pipe. Et vous nous l"avez fait cranement payer. J"y suis alle trois fois, tel que vous me voyez. Trois fois nous etions sur les canons et trois fois on nous a culbute et comme des capucins de cartes. Oh!! c"etait beau, Monsieur Pierre. Vos grenadiers ont ete superbes, tonnerre de Dieu. Je les ai vu six fois de suite serrer les rangs, et marcher comme a une revue. Les beaux hommes! Notre roi de Naples, qui s"y connait a cry: μπράβο! Α, αχ! soldat comme nous autres! - είπε, χαμογελώντας, μετά από μια στιγμή σιωπής. - Tant mieux, tant mieux, monsieur Pierre. Terribles en bataille. .. galants... - έκλεισε το μάτι με ένα χαμόγελο, - avec les belles, voila les Francais, monsieur Pierre, n "est ce pas? [Μπα, αλήθεια; Ολα τα καλύτερα. Είστε σκληροί εχθροί, πρέπει να ομολογήσω. Το μεγάλο redoubt κράτησε καλά, φτου. Και μας έβαλες να πληρώσουμε ακριβά. Έχω πάει εκεί τρεις φορές, όπως μπορείτε να δείτε. Τρεις φορές ήμασταν στα όπλα, τρεις φορές μας χτυπούσαν σαν στρατιώτες με χαρτιά. Οι γρεναδιέρηδες σου ήταν υπέροχοι, προς Θεού. Είδα πώς έκλεισαν οι τάξεις τους έξι φορές και πώς βγήκαν έξω σαν παρέλαση. Υπέροχοι άνθρωποι! Ο Ναπολιτάνος βασιλιάς μας, που έφαγε το σκύλο σε αυτά τα θέματα, τους φώναξε: μπράβο! - Χα, χα, άρα είσαι ο αδερφός μας στρατιώτης! - Τόσο το καλύτερο, τόσο το καλύτερο, κύριε Πιέρ. Τρομεροί στη μάχη, ευγενικοί με τις καλλονές, αυτοί είναι οι Γάλλοι, κύριε Πιερ. Δεν είναι?]
Ο καπετάνιος ήταν τόσο αφελής και καλοσυνάτος χαρούμενος, ολόψυχος και ευχαριστημένος με τον εαυτό του που ο Πιερ σχεδόν έκλεισε το μάτι, κοιτάζοντάς τον χαρούμενα. Πιθανώς η λέξη «γαλάντιος» έκανε τον καπετάνιο να σκεφτεί την κατάσταση στη Μόσχα.