Οι περισσότεροι από εσάς γνωρίζετε τη δύναμη του nmap και των nmap scripts για την αναγνώριση ενός στόχου και γενικά των δικτύων. Αυτά τα εργαλεία μπορούν να χρησιμοποιηθούν για πολυάριθμες εργασίες, όπως απλή σάρωση θυρών έως ανίχνευση υπηρεσιών και εκδόσεων. Παρά τη δύναμη και την απλότητα του nmap, μπορεί να είναι κουραστικά αργό για τη σάρωση πολύ μεγάλων δικτύων. Σε αυτό το σημείο ο πρωτοποριακός σαρωτής Zmap, επιδεικνύει τα δυνατά του σημεία.
Το Zmap αναπτύχθηκε το 2013 από μια ομάδα ερευνητών στο Πανεπιστήμιο του Μίσιγκαν (David Adrian, Zakir Durumeric, Gulshan Singh και J. Alex Halderman). Σχεδιάστηκε για να είναι σε θέση να σαρώνει ολόκληρο το Διαδίκτυο για σκοπούς ασφάλειας πληροφοριών, αντί να σαρώνει μια μεμονωμένη IP ή μια σειρά από IP. Με μια σύνδεση 1 Gigabit, μπορεί κανείς να σαρώσει ολόκληρο το Διαδίκτυο για μία μόνο θύρα σε περίπου 45 λεπτά! Η ίδια σάρωση θα έπαιρνε μήνες με τη χρήση του nmap.
Αυτού του είδους η ταχύτητα ανοίγει όλες τις νέες δυνατότητες για σάρωση που δεν μπορούσαμε καν να φανταστούμε πριν. Για παράδειγμα, ένας από τους προγραμματιστές του Zmap μπόρεσε να εκτιμήσει τη διακοπή ρεύματος κατά τη διάρκεια της καταιγίδας Sandy σαρώνοντας όλες τις διευθύνσεις IP στην περιοχή της καταιγίδας και στη συνέχεια να συμπεράνει από αυτές τις πληροφορίες, ποια περιοχή είχε ρεύμα και ποια όχι. Επιπλέον, το εργαλείο αυτό μπορεί να χρησιμοποιηθεί για να προσδιοριστεί πότε και πόσα συστήματα υιοθετούν νέες τεχνολογίες σε όλο τον κόσμο. Οι δυνατότητες χρήσης του Zmap φαίνονται απεριόριστες για την εκτίμηση της επιφάνειας μιας επίθεσης στο διαδίκτυο!
Στην ουσία, το Zmap μπορεί να μας παρέχει σχεδόν σε πραγματικό χρόνο μια εικόνα μιας επίθεσης στο Διαδίκτυο. Αυτό ακριβώς προσπαθεί να κάνει μια υπηρεσία όπως το CenSys χρησιμοποιώντας το Zmap για τη συλλογή των δεδομένων.
Το Zmap επιτυγχάνει την ταχύτητά του, χρησιμοποιώντας cyclic multiplicative groups. Αυτό επιτρέπει στο ZMap να σαρώνει τα ίδια πράγματα περίπου 1.300 φορές ταχύτερα από το Nmap (το nmap στέλνει ανιχνευτές και περιμένει την απάντηση πριν στείλει τον επόμενο ανιχνευτή).
Το ZMap παίρνει κάθε αριθμό από το 1 έως το 2 σε δύναμη του 32 (ο χώρος διευθύνσεων IPv4 είναι 32 bit) και δημιουργεί έναν επαναληπτικό τύπο που εξασφαλίζει ότι κάθε ένας από τους πιθανούς αριθμούς των 32 bit επισκέπτεται μία φορά με τυχαία σειρά.
Αυτή η ταχύτητα μπορεί επίσης να χρησιμοποιηθεί για σκοπούς εκμετάλλευσης. Για παράδειγμα, όταν κάποιος είναι συνδεδεμένος σε τοπικό δίκτυο είναι σχετικά απλό να χρησιμοποιήσει όλο το διαθέσιμο εύρος ζώνης και να δημιουργήσει μια αποτελεσματική κατάσταση άρνησης παροχής υπηρεσιών (DoS). Επιπλέον, οι hackers είναι σε θέση να αναζητήσουν σε ολόκληρο το Διαδίκτυο μια συγκεκριμένη ευπάθεια ταχύτερα από ό,τι οι διαχειριστές μπορούν να επιδιορθώσουν τα συστήματά τους.
Table of Contents
Βήμα #1: Ανοίξτε το Kali και κατεβάστε το Zmap
Το πρώτο βήμα είναι να ενεργοποιήσετε το Kali και να ανοίξετε ένα τερματικό.
Τώρα, πρέπει να κατεβάσουμε και να εγκαταστήσουμε το Zmap. Το Zmap βρίσκεται στο αποθετήριο του Kali, οπότε το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε:
kali > sudo apt install zmap
Βήμα #2: Δίνουμε την εντολή βοηθείας του Zmap
Πριν αρχίσουμε να χρησιμοποιούμε το Zmap, ας ρίξουμε πρώτα μια ματιά στην βοήθεια.
kali > sudo zmap -h
Σημειώστε εδώ τις βασικές επιλογές. Μπορείτε να ορίσετε τη θύρα με -p και το αρχείο εξόδου με -o. Επιπλέον, καθορίζετε το ρυθμό και το εύρος ζώνης με τις επιλογές -r και -B, αντίστοιχα.
Στις επιλογές του δικτύου, σημειώστε ότι μπορείτε να καθορίσετε τη θύρα προέλευσης (-s), την IP προέλευσης (-S), την πύλη (-G), τη διασύνδεση (-i) και το vpn (-X).
Είναι επίσης σημαντικό να σημειωθεί ότι το Zmap χρησιμοποιεί από προεπιλογή σάρωση TCP SYN και εξάγει τα αποτελέσματα σε μορφή ASCII στο stdout ή σε ένα αρχείο εξόδου που καθορίζεται με την επιλογή -o σε μορφή .csv.
Βήμα #3: Εκτελέστε μια σάρωση με το Zmap
Η βασική σύνταξη για την εκτέλεση του Zmap είναι απλή,
zmap -p <port> <IP address> -o <outfile>
Έτσι, για να σαρώσουμε 255 διευθύνσεις IP σε ένα δίκτυο κατηγορίας Β, δίνουμε την παρακάτω εντολή:
kali > sudo zmap -p 80 172.217.0.0/24 -o IPresults.csv
Όπου:
-p 80 = σάρωση στην ανοικτή θύρα 80
172.217.0.0/24 = σαρώνει τις 255 διευθύνσεις IP
-o IPresults.csv = αποστολή των αποτελεσμάτων σε ένα αρχείο csv με όνομα IPresults.csv
Όταν πατήσουμε enter, το Zmap αρχίζει να σαρώνει τις διευθύνσεις IP και να εμφανίζει τα αποτελέσματά του στην οθόνη (stdout).
Όπως μπορείτε να δείτε, το Zmap ολοκλήρωσε τη διαδικασία σε λίγα δευτερόλεπτα, ενώ το nmap θα χρειαζόταν πιθανότατα ώρες. Για να δούμε την έξοδό του, μπορούμε να πληκτρολογήσουμε:
kali > less IPresults.csv
Για να δείτε το συνολικό αριθμό των διευθύνσεων IP στην ανοιχτή θύρα 80 σε αυτό το εύρος διευθύνσεων IP, πληκτρολογήστε:
kali > wc -l IPresults.csv
Όπως μπορείτε να δείτε, το Zmap διαπίστωσε ότι 162 διευθύνσεις IP από τις συνολικά 255 είχαν ανοιχτή τη θύρα 80.
Βήμα #4: Σαρώστε το τοπικό σας δίκτυο
Στη συνέχεια, ας δοκιμάσουμε να χρησιμοποιήσουμε το Zmap για να σαρώσουμε το τοπικό μας δίκτυο. Μπορούμε να χρησιμοποιήσουμε την ίδια εντολή και τις ίδιες επιλογές όπως παραπάνω, αλλά ας χρησιμοποιήσουμε μια τοπική διεύθυνση IP.
kali > sudo zmap -p 80 10.0.2.15 -o LANresults.csv
Όπως μπορείτε να δείτε παραπάνω, το Zmap αρνείται να σαρώσει το τοπικό μας δίκτυο επειδή -από προεπιλογή- το Zmap βάζει στη μαύρη λίστα όλες τις ιδιωτικές διευθύνσεις IP.
Μπορούμε να το διορθώσουμε αυτό ανοίγοντας απλά το αρχείο blacklist.conf σε οποιονδήποτε επεξεργαστή κειμένου και σχολιάζοντας τις διευθύνσεις IP που θέλουμε να σαρώσουμε. Η μαύρη λίστα του Zmap βρίσκεται στο αρχείο /etc/zmap/blacklist.conf.
kali > sudo mousepad /etc/zmap/blacklist.conf
Τώρα, ας προσπαθήσουμε να σαρώσουμε ξανά το τοπικό μας δίκτυο.
kali > sudo zmap -p 10.0.0.0/16 -o LANresults.csv
Να είστε προσεκτικοί όταν χρησιμοποιείτε το Zmap στο τοπικό σας δίκτυο. Μπορεί εύκολα να υπερφορτώσει το δίκτυό σας και να προκαλέσει κατάσταση άρνησης παροχής υπηρεσιών (DoS). Συνιστάται να περιορίσετε το εύρος ζώνης που χρησιμοποιεί το Zmap σε 10 χιλιάδες πακέτα ανά δευτερόλεπτο για να αποφύγετε τον κορεσμό του εύρους ζώνης του δικτύου. Για να το κάνετε αυτό, απλά εισαγάγετε την επιλογή περιορισμού εύρους ζώνης -B ακολουθούμενη από 10M, όπως π.χ:
kali > sudo zmap -B 10M -p 80 10.0.0.0/16 -o LANresults.csv
Σύνοψη
Το Zmap είναι ένα εξαιρετικό εργαλείο για τη συλλογή πληροφοριών σχετικά με την φάσμα επίθεσης ολόκληρου του Διαδικτύου ή ενός πολύ μεγάλου δικτύου. Αν και είναι χρήσιμο για γρήγορη σάρωση μεγάλων δικτύων όπου οι σαρώσεις με το nmap θα ήταν χρονοβόρες και κουραστικές, η πραγματική ομορφιά του είναι η ικανότητά του να συλλέγει πληροφορίες από ΚΑΘΕ διεύθυνση IP που καλύπτει τον κόσμο. Τόσο οι εγκληματίες του κυβερνοχώρου όσο και οι ερευνητές ασφάλειας μπορούν να συγκεντρώσουν εκπληκτικές πληροφορίες σχετικά με την παγκόσμια επιφάνεια επιθέσεων με αυτό το εργαλείο.