Ασφάλεια Υπολογιστικών Συστημάτων Ενότητα 6: Εργαλεία σάρωσης θυρών Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Αυτή η εργαστηριακή ενότητα πραγματεύεται ζητήματα σχετικά με την κρυπτογραφία με τα εργαλεία σάρωσης θυρών. 4
Περιεχόμενα ενότητας Εισαγωγή. Zenmap. Scan. Ping. Παράδειγμα χρήσης του Zenmap. Βιβλιογραφία. 5
Εργαλεία σάρωσης θυρών
Εισαγωγή (1/2) Ένα καλό εργαλείο port scanning είναι ένα σημαντικό συστατικό της διαδικασίας συγκέντρωσης πληροφοριών. Παραδείγματα αποτελούν τα strobe, netcat, SuperScan, WUPS, ScanLine και nmap. Με το τελευταίο θα ασχοληθούμε σε αυτό το εργαστήριο. Το Nmap (Network Mapper) είναι ένα ελεύθερο εργαλείο ανοικτού κώδικα. Χρησιμοποιεί πακέτα IP με σκοπό την αναγνώριση των hosts που υπάρχουν σε ένα δίκτυο, τα services που προσφέρουν οι hosts, τα λειτουργικά συστήματα που χρησιμοποιούν, τα είδη firewall που χρησιμοποιούν κ.α. 7
Εισαγωγή (2/2) Λειτουργεί εξίσου καλά στην ανίχνευση μεγάλων δικτύων αλλά και απλών hosts. Το Nmap υπάρχει διαθέσιμο σε διάφορες εκδόσεις καλύπτοντας κυριότερα λειτουργικά συστήματα (Windows, Linux και Mac OS X). Η κλασική έκδοση του Nmap προσφέρεται σαν εργαλείο γραμμής εντολών. 8
Zenmap (1/8) Στο εργαστήριο θα χρησιμοποιήσουμε την έκδοση του Nmap με GUI που ονομάζεται Zenmap την οποία μπορείτε να κατεβάσετε από τον Ιστότοπο http://nmap.org/download.html ενώ το επίσημο εγχειρίδιο χρήσης υπάρχει στον Ιστότοπο http://nmap.org/book/zenmap.html. Η Εικόνα 1 δείχνει το περιβάλλον του εργαλείου Zenmap. 9
Zenmap (2/8) Εικόνα 1. Το GUI του εργαλείου Zenmap. Πηγή: Διδάσκων (2015). 10
Zenmap (3/8) Για να εκτελέσουμε μια σάρωση στο Zenmap αρκεί να επιλέξουμε έναν από τους τρόπους σάρωσης που μας δίνει το εργαλείο στο Profile (Εικόνα 2) ή αλλιώς να γράψουμε μόνοι μας την κατάλληλη εντολή που να προσδιορίζει τον τύπο της σάρωσης στο πεδίο Command. Γενικά, οι εντολές του nmap ξεκινάνε με την λέξη nmap ακολουθούμενη προαιρετικά από κάποιες παραμέτρους και στο τέλος την διεύθυνση του στόχου μας. Το nmap μας δίνει την δυνατότητα να σαρώσουμε έναν μόνο στόχο ή και ένα πλήρες δίκτυο. 11
Zenmap (4/8) Μπορούμε και να εισάγουμε λοιπόν στο τέλος της εντολής μια μόνο διεύθυνση IP ή και όνομα στόχου ή, εναλλακτικά, ένα εύρος διευθύνσεων της μορφής CIDR. Επιπλέον, μπορούμε να χρησιμοποιήσουμε τις παραμέτρους o (binary), on (ASCII), -om (με στηλοθέτες) και οχ (σε XML) για να αποθηκεύσουμε την έξοδο σε ξεχωριστό αρχείο στην αντίστοιχη μορφή: nmap sf 192.168.1.0/24 on outfile 12
Zenmap (5/8) Εικόνα 2. Τα profiles εντολών που προσφέρει το Zenmap. Πηγή: Διδάσκων (2015). 13
Zenmap (6/8) Τα έτοιμα profiles που προσφέρει το Zenmap είναι: Intense scan (nmap -T4 -A -v). Intense scan plus UDP (nmap -ss -su -T4 -A -v). Intense scan, all TCP ports (nmap -p 1-65535 -T4 -A -v). Intense scan, no ping (nmap -T4 -A -v -Pn). Ping scan (nmap -sn). Quick scan (nmap -T4 F). Quick scan plus (nmap -sv -T4 -O -F --version-light). Quick traceroute (nmap -sn traceroute). Regular scan (nmap). Slow comprehensive scan (nmap -ss -su -T4 -A -v -PE -PP - PS80,443 -PA3389 - PU40125 -PY -g 53 --script "default or (discovery and safe). 14
Zenmap (7/8) Οι παράμετροι που υπάρχουν από δίπλα προσδιορίζουν το πώς ακριβώς εκτελείται η σάρωση και τι είδους πακέτα αποστέλλονται (επεξηγούνται παρακάτω). Μπορείτε επίσης να δημιουργήσετε δικά σας profiles επιλέγοντας από το menu Profile New Profile or Command (Εικόνα 3). 15
Zenmap (8/8) Εικόνα 3. Δημιουργία νέου profile στο Zenmap. Πηγή: Διδάσκων (2015). 16
Scan (1/4) Στο πεδίο Scan μπορείτε να επιλέξετε τους τύπους σάρωσης που θέλετε να εκτελεί το profile που θα δημιουργήσετε. Οι 2 βασικές κατηγορίες είναι: TCP scan. Non-TCP scan. 17
Scan (2/4) Στο TCP scan περιλαμβάνονται οι σαρώσεις: FIN scan (-sf) η οποία είναι η Stealth FIN σάρωση που περιγράφθηκε παραπάνω. Null scan (-sn) η οποία είναι η Null σάρωση που περιγράφθηκε παραπάνω. TCP SYN scan (-ss) η οποία είναι η Stealth σάρωση που περιγράφθηκε παραπάνω. TCP Connect scan (-st) η οποία είναι η TCP Connect σάρωση που περιγράφθηκε παραπάνω. Xmas Tree scan (-sx) η οποία είναι η Xmas Tree σάρωση που περιγράφθηκε παραπάνω. ACK scan (-sa) η οποία στέλνει μηνύματα με ενεργοποιημένο το flag ACK. Maimon scan (-sm) η οποία στέλνει μηνύματα με ενεργοποιημένα τα flags FIN και ACK κ.α. 18
Scan (3/4) Αντίστοιχα οι σαρώσεις Non-TCP περιλαμβάνουν: UDP scan (-su) η οποία είναι η UDP σάρωση που περιγράφθηκε παραπάνω. List scan (-sl) η οποία δεν σαρώνει στόχους αλλά απλά δημιουργεί μια λίστα με τους στόχους που θα σαρωθούν (με reverse DNS names) κ.α. Στο πεδίο Timing template μπορείτε να επιλέξετε την ταχύτητα της σάρωσης. 19
Scan (4/4) Γενικά ο χρόνος που θα διαρκέσει μια σάρωση εξαρτάται από την ταχύτητα του δικτύου αλλά και από τον χρόνο απόκρισης του στόχου. Το nmap χρησιμοποιεί κάποιες επιπλέον πολιτικές για να αυξομειωθεί ο χρόνος σάρωσης. Ενδεικτικά στην πολιτική Paranoid (-T0) αποστέλλεται κάθε ένα από τα πακέτα της σάρωσης ανά 5 λεπτά. Μπορείτε να επιλέξετε και επιπλέον επιλογές όπως εάν θέλετε να πραγματοποιηθεί αναγνώριση του λειτουργικού συστήματος του στόχου (περιγράφεται παρακάτω) (-Ο) ή αν θέλετε να αναγνωρίσετε την έκδοση της εκάστοτε υπηρεσίας που εκτελείται σε κάθε port (-sv). 20
Ping (1/3) To nmap επιτρέπει επιπλέον την χρήση του εργαλείου ping (που περιγράφτηκε στην 1η ενότητα) με σκοπό την αναγνώριση των ενεργών στόχων. Αν επιλέξετε την καρτέλα ping του profile editor (Εικόνα 4) υπάρχουν διαθέσιμες οι παρακάτω επιλογές: Don t ping before scanning (-Pn) η οποία παραλείπει το βήμα της αναγνώρισης του αν ο στόχος είναι ενεργός και εκτελεί απευθείας την σάρωση. ICMP ping (-PE) η οποία στέλνει ένα ICMP Echo Request για να αναγνωρίσει τους ενεργούς στόχους. ACK ping (-PA) η οποία στέλνει ένα ACK μήνυμα για να αναγνωρίσει τους ενεργούς κόμβους (πρέπει να προσδιοριστεί συγκεκριμένο port ένα ή περισσότερα). 21
Ping (2/3) Εικόνα 4. Δημιουργία νέου profile - Καρτέλα Ping. Πηγή: Διδάσκων (2015). 22
Ping (3/3) Το nmap προσφέρει επίσης δυνατότητες δολώματος που έχουν σχεδιασθεί να γεμίζουν έναν δικτυακό στόχο με περιττές πληροφορίες με την χρήση της επιλογής D και χρησιμοποιώντας μια ψεύτικη διεύθυνση προέλευσης από νόμιμους διακομιστές. Το σύστημα στόχος θα αποκριθεί στη συνέχεια στην ψεύτικη διεύθυνση καθώς επίσης και στην πραγματική σάρωση της θύρας: nmap -D 10.1.1.1 scanme.nmap.org 23
Εντοπισμός του λειτουργικού συστήματος (1/2) Με την χρήση της σάρωσης θυρών μπορούμε να εντοπίσουμε πιθανά τρωτά σημεία στο σύστημα-στόχο. Όμως τα στοιχεία που έχουμε στα χέρια μας δεν είναι επαρκή. Θα πρέπει να ανακαλύψουμε επιπλέον πληροφορίες για τον στόχο μας. Επόμενο βήμα είναι να ανακαλύψουμε τον τύπο του λειτουργικού του συστήματος. 24
Εντοπισμός του λειτουργικού συστήματος (2/2) Για την εξακρίβωση του λειτουργικού συστήματος ενός στόχου χρησιμοποιείται η συλλογή πληροφοριών στοίβας (stack fingerprinting). Η τεχνική αυτή βασίζεται στην διαφορετική ανταπόκριση των διαφορετικών λειτουργικών συστημάτων στα διάφορα μηνύματα. Για παράδειγμα όταν στέλνεται ένα πακέτο FIN σε μια ανοιχτή θύρα, η σωστή συμπεριφορά είναι να μην σταλεί απόκριση. Ωστόσο τα Windows 200X/XP/Vista στέλνουν απόκριση FIN/ACK. 25
Παράδειγμα χρήσης του Zenmap (1/13) Για την εκτέλεση του συγκεκριμένου παραδείγματος δεν θα δημιουργήσουμε κάποιο συγκεκριμένο profile στο Zenmap αλλά ούτε και θα χρησιμοποιήσουμε κάποιο από τα υπάρχοντα profiles. Θα γράψουμε κατευθείαν την εντολή σάρωσης στο πεδίο Command του nmap. Πληκτρολογήστε την εντολή nmap sn scanme.nmap.org και πατήστε scan. 26
Παράδειγμα χρήσης του Zenmap (2/13) Ένα ενδεικτικό αποτέλεσμα της εντολής μπορείτε να δείτε στην Εικόνα 5. Στο αριστερό κομμάτι του Zenmap μπορείτε να δείτε τα hosts που αναγνωρίστηκαν ως ενεργά και στο δεξί (κυρίως παράθυρο του GUI) τις λεπτομέρειες της σάρωσης. Πρόκειται για μια ping σάρωση οπότε απλά αναγνωρίζει τους ενεργούς hosts που βρέθηκαν. 27
Παράδειγμα χρήσης του Zenmap (3/13) Εικόνα 5. Αποτέλεσμα της εντολής nmap sn scanme.nmap.org. Πηγή: Διδάσκων (2015). 28
Παράδειγμα χρήσης του Zenmap (4/13) Πληκτρολογήστε την εντολή nmap -A sτ scanme.nmap.org και πατήστε scan. Ένα ενδεικτικό αποτέλεσμα της εντολής μπορείτε να δείτε στην Εικόνα 6. Στο αριστερό κομμάτι του Zenmap μπορείτε να δείτε τα hosts που αναγνωρίστηκαν ως ενεργά και στο δεξί (κυρίως παράθυρο του GUI) τις λεπτομέρειες της σάρωσης. Πρόκειται για μια TCP Connect σάρωση και με αναζήτηση πληροφοριών σχετικά με το λειτουργικό σύστημα του στόχου. 29
Παράδειγμα χρήσης του Zenmap (5/13) Εικόνα 6. Ports/Hosts. Πηγή: Διδάσκων (2015). 30
Παράδειγμα χρήσης του Zenmap (6/13) Μόλις ολοκληρωθεί η προηγούμενη σάρωση επιλέξτε από το κεντρικό παράθυρο του εργαλείου την καρτέλα Posts/Hosts. Εδώ μπορείτε να δείτε την κατάσταση των ports που αναγνωρίσθηκαν ανά host καθώς επίσης και τις υπηρεσίες που εκτελούνται σε κάθε port. Το πράσινο κυκλάκι σημαίνει ότι η συγκεκριμένη θύρα είναι ανοιχτή (LISTENING). 31
Παράδειγμα χρήσης του Zenmap (7/13) Επιλέξτε από το κεντρικό παράθυρο του εργαλείου την καρτέλα Topology. Εδώ μπορείτε να δείτε μία βασική τοπολογία που δείχνει τις συνδέσεις μεταξύ των hosts που αναγνωρίσθηκαν (Εικόνα 7). Η τοπολογία είναι δομημένη σε ομόκεντρους κύκλους κάθε ένας από τους οποίους αντιπροσωπεύει ένα επιπλέον hop σε σχέση με τον κεντρικό κόμβο. Στη συνέχεια, επιλέξτε από το κεντρικό παράθυρο του εργαλείου την καρτέλα Host Details. Εδώ εμφανίζονται όλες οι πληροφορίες που έχουν συλλεχθεί για έναν host (Εικόνα 8). 32
Παράδειγμα χρήσης του Zenmap (8/13) Εικόνα 7. Τοπολογία. Πηγή: Διδάσκων (2015). 33
Παράδειγμα χρήσης του Zenmap (9/13) Εικόνα 8. Host Details. Πηγή: Διδάσκων (2015). 34
Παράδειγμα χρήσης του Zenmap (10/13) Εδώ παρουσιάζεται και το λειτουργικό σύστημα του host (αν αυτό έχει αναγνωρισθεί). Για παράγειγμα στην Εικόνα 8 τον εικονίδιο του Linux υποδεινύει ότι έχει αναγνωρισθεί λειτουργικό σύστημα Linux. Αντίστοιχα εικονίδια ανάλογα με το λειτουργικό σύστημα φαίνονται στην Εικόνα 9. 35
Παράδειγμα χρήσης του Zenmap (11/13) Εικόνα 9. Τα εικονίδια που υποδεικνύουν το αντίστοιχο λειτουργικό σύστημα. Πηγή: Διδάσκων (2015). 36
Παράδειγμα χρήσης του Zenmap (12/13) Επιπλέον, το εικονίδιο από κάτω υποδεικνύει το πόσο ευάλωτος είναι ο συγκεκριμένος host. Αυτό καθορίζεται από τον αριθμο των ανοιχτών ports που αναγνωρίσθηκαν σε αυτόν. Η Εικόνα 10 παρουσιάζει τα αντίστοιχα εικονίδια που εμφανίζονται ανάλογα με τον αριθμό των ports που αναγνωρίσθηκαν ως ανοιχτά καθορίζοντας έτσι και το πόσο ευάλωτο είναι στο σύστημα. 37
Παράδειγμα χρήσης του Zenmap (13/13) Εικόνα 10. Ο αριθμός των ανοιχτών ports καθορίζει πόσο ευάλωτο είναι το σύστημα. Πηγή: Διδάσκων (2015). 38
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Νικολάου Σπύρος. «Ασφάλεια Υπολογιστικών Συστημάτων». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: 39
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 40
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 41
Βιβλιογραφία 1. Κρυπτογραφία για Ασφάλεια Δικτύων Αρχές και Εφαρμογές, Stallings. 2. Βασικές Αρχές Ασφάλειας Δικτύων: Εφαρμογές και Πρότυπα, William Stallings. 3. Ασφάλεια δικτύων 6η Έκδοση, McClure Stuart, Scambray Joel, Kurtz George. 4. Ασφάλεια Πληροφοριακών συστημάτων, Παγκαλος Γ., Μαυριδης Ι. 42
Τέλος Ενότητας