Τι είναι το nmap;
Με απλά λόγια είναι το καλύτερο εργαλείο σάρωσης θυρών που υπάρχει
σήμερα.Σίγουρα θα ρωτάτε το γιατί θεωρείτε ως ο καλύτερος scanner.Αυτό θα το
δείτε αν ρίξετε μια ματιά στις δυνατότητες και τις επιλογές που έχει αυτό το
πρόγραμμα.Υπόστηρίζει σάρωση των TCP και UDP θυρών με διάφορες τεχνικές(θα τις
εξετάσουμε παρακάτω),αναγνώριση λειτουργικού συστήματος μέσω και
"δακτυλικων αποτυπωμάτων" ή υπογραφές όπως ονομάζονται και πολλές
άλλες δύνατότητες για την καλύτερη χαρτογράφηση των δικτύων(όπως εντοπισμός
firewall,routers).Άλλα ας ρίξουμε μια ματιά στο ίδιο το πρόγραμμα.
Πατώντας από την γραμμή
εντολών nmap -h(ή μόνο nmap)εμφανίζονται τα εξής :
Nmap V. 2.54BETA22 Usage: nmap [Scan Type(s)] [Options] Some Common Scan Types
('*' options require root privileges) -sT TCP connect() port scan (default) *
-sS TCP SYN stealth port scan (best all-arround TCP scan) * -sU UDP port scan
-sP ping scan (Find any reachable machiness) * -sF,-sX,-sN Stealth FIN, Xmas, or
Null scan (experts only) -sR/-I RPC/Identd scan (use with other scan types)
Some Common Options (none are required, most can be combined): * -O Use TCP/IP
fingerprinting to guess remote operating system -p ports to scan. Example
range: '1-1024,1080,6666,31337' -F Only scans ports listed in nmap-services -v
Verbose. Its use is recommended. Use twice for greater effect. -P0 Don't ping
hosts (needed to scan www.microsoft.com and others) *
-Ddecoy_host1,decoy2[,...] Hide scan usingg many decoys -T General timing policy
-n/-R Never do DNS resolution/Always resollve [default: sometimes resolve]
-oN/-oX/-oG Output normal/XML/grepable scaan logs to -iL Get targets from file;
Use '-' for stdin * -S /-e Specify source address or network interface
--interactive Go into interactive mode (thhen press h for help) Example: nmap -v
-sS -O www.my.com 192.168.0.0/16 '192.88-990.*.*' SEE THE MAN PAGE FOR MANY MORE
OPTIONS, DESCRIPTIONS, AND EXAMPLES
Ας εξετάσουμε μία μία τώρα τις επιλογές του nmap.
1.Επιλογή -sT :Είναι η default επιλογή στο nmap για την σάρωση θυρών.Η τεχνική
αυτή όνομαζεται TCP Connect και είναι εύκολα ανιχνεύσιμη από τον στόχο.
Παράδειγμα: nmap -sT -p 1-400 www.target.com(ή την IP)
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): (The 394 ports scanned but not shown below are in state: closed)
Port State Service 25/tcp open smtp 53/tcp open domain 80/tcp open http 88/tcp
open kerberos-sec 135/tcp open loc-srv 139/tcp open netbios-ssn
Nmap run completed -- 1 IP address (1 host up) scanned in 13 seconds
Πληκτρολογώντας αυτές τις εντολές το nmap θα σαρώσει με την τεχνική TCP Connect
τις πρώτες 400 TCP θύρες (επιλογή -p 1-400) του συστήματος target.com και θα
μάς δείξει ποιές είναι ανοιχτές(Όπως και το έκανε ήδη!).
2.Επιλογή -sS :Με την τεχνική αυτή το nmap σαρώνει όπως παραπάνω τις
επιλεγμένες πόρτες με την διαφορά ότι δεν υλοποιεί μία πλήρης TCP σύνδεση.Η
τεχνική αυτή ονομάζεται ΤCP SYN ή μισάνοιχτη σάρωση(half-open scanning) και
έχει το πλεονέκτημα ότι δεν είναι τόσο εύκολα ανιχνεύσιμη όσο η TCP Connect.
Παράδειγμα : nmap -sS -p 1-400 www.target.com(ή την IP)
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): (The 394 ports scanned but not shown below are in state: closed)
Port State Service 25/tcp open smtp 53/tcp open domain 80/tcp open http 88/tcp
open kerberos-sec 135/tcp open loc-srv 139/tcp open netbios-ssn
Nmap run completed -- 1 IP address (1 host up) scanned in 7 seconds
Με την εντολή αυτή το nmap κάνει ότι και στην παραπάνω αλλά με διαφορετική
τεχνική και ποιο "αθόρυβα".
3.Επιλογή -sU :Με την επιλογή αυτή το nmap μπορεί να σαρώσει τις θύρες που
χρησιμοποιούν το προτόκωλλο UDP ή απλά τις UDP θύρες.
Παράδειγμα :nmap -sU -p 1-400 www.target.com
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): (The 394 ports scanned but not shown below are in state: closed)
Port State Service 53/udp open domain 88/udp open kerberos-sec 123/udp open ntp
135/udp open loc-srv 137/udp open netbios-ns 138/udp open netbios-dgm
Nmap run completed -- 1 IP address (1 host up) scanned in 20 seconds
Οπως βλέπετε το nmap μας έβγαλε τις θύρες UDP που είναι ανοιχτές στο
σύστημα-στόχος.
4.Επιλογή -sP :Με την επιλογή αυτή το nmap σαρώνει ένα δίκτυο με την τεχνική
ping για να βρει ποια συτήματα είναι σε λειτουργία.Πρόκειται δηλ. για σάρωση
ping με την οποία στέλνονται σε κάθε σύστημα ICMP πακέτα ECHO έτσι ώστε να
απαντήσει το σύστημα με ένα άλλο ICMP πακέτο ECHO_REPLY το οποίο υποδεικνύει
ότι το σύστημα είναι σε λειτουργία.
Παράδειγμα 1
:nmap -sP www.target.com
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Host (10.10.10.10)
appears to be up.
Nmap run completed -- 1 IP address (1 host up)
scanned in 2 seconds
Ωστόσο μπορείτε να σαρώσετε παραπάνω από ενα σύστημα και να βρείτε ποια είναι
τα συστήματα σε λειτουργία.
Παράδειγμα 2: nmap -sP 10.10.10.0-255
Με την εντολή αυτή το nmap θα σαρώσει το παραπάνω δίκτυο από 10.10.10.0 -
10.10.10.255 για να βρει τις IP που αντιστοιχούν σε συστήματα που βρίσκονται σε
λειτουργία.
5.Επιλογή -sF : Με αυτή την επιλογή στέλνετε στις θύρες του στόχου ένα πακέτο
FIN.Η τεχνική αυτή δουλεύει συνήθως σε μόνο σε UNIX συστήματα.
Παράδειγμα :
nmap -sF -p 1-200 www.target.com
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): (The 198 ports scanned but not shown below are in state: closed)
Port State Service 161/tcp open snmp 162/tcp open snmptrap
Nmap run completed -- 1 IP address (1 host up) scanned in 10 seconds
6.Επιλογή -sX :Η τεχνική αυτή στέλνει ένα πακέτο FIN,URG και PUSH.
Παράδειγμα :
nmap -sX -p 1-200 www.target.com
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): (The 198 ports scanned but not shown below are in state: closed)
Port State Service 161/tcp open snmp 162/tcp open snmptrap
Nmap run completed -- 1 IP address (1 host up) scanned in 9 seconds
7.Επιλογή -sN :Με την τεχνική αυτή το απενεργοποιεί όλες τις σημαίες(ή
σημάνσεις) περιμένοντας από το σύστημα-στόχο ένα πακέτο RST για όλες τις
κλειστές θύρες.
Παράδειγμα : nmap -sN -p 139 www.target.com
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): Port State Service 139/tcp open netbios-ssn
Nmap run completed -- 1 IP address (1 host up) scanned in 6 seconds
Χρησιμοποιήσαμε την επιλογή -p 139 για να σαρώσουμε μία μόνο θύρα γιατί η
σάρωση αυτή είναι λίγο αργή.
8.Επιλογή -O :Με την επιλογή αυτή το nmap μπορεί να εξακριβώσει την ταυτότητα
του λειτουργικού συτήματος του υπολογιστή στόχου.
Παράδειγμα : nmap -O www.target.com
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on
(10.10.10.10): (The 1523 ports scanned but not shown below are in state:
closed) Port State Service 25/tcp open smtp 53/tcp open domain 80/tcp open http
88/tcp open kerberos-sec 135/tcp open loc-srv 139/tcp open netbios-ssn 389/tcp
open ldap 445/tcp open microsoft-ds 464/tcp open kpasswd5 593/tcp open
http-rpc-epmap 636/tcp open ldapssl 637/tcp open unknown 1002/tcp open unknown
1032/tcp open iad3 1723/tcp open pptp 3006/tcp open deslogind 3389/tcp open
msrdp 12345/tcp filtered NetBus 31337/tcp filtered Elite
Remote operating system guess: Windows NT4 / Win95 / Win98
Nmap run completed -- 1 IP address (1 host up) scanned in 29 seconds
Οπως βλέπετε το nmap "μάντεψε" την ταυτότητα του λειτουργικού
συστήματος.Ακόμα και όταν δεν υπάρχουν ανοιχτές πόρτες το nmap μπορεί να βρει
το λειτουργικό του συτήματος-στόχου με μεγάλη ακρίβεια!
9.Επιλογή -p :Όπως θα προσέξατε και παραπάνω με τον διακόπτη -p λέμε στο nmap
ποιες πόρτες θέλουμε ακριβώς να σαρώσει.
Παραδείγματα :nmap -sS -p 139,80,21 www.target.com
Με την εντολή αυτή το nmap θα σαρώσει τον στόχο για να δει αν είναι ανοιχτές
μόνο οι θύρες 139,80,21.
10.Επιλογή -F :Με την επιλογή αυτή το nmap σαρώνει το στόχο μόνο για τις πόρτες
που στις οποίες τρέχουν κάποια services(υπηρεσίες).
11.Επιλογή -v:Χρησιμοποιήστε αυτή την για να έχετε μία πιο λεπτομερή έξοδο από
το nmap.Μπορείτε να χρησιμοποιήσετε και -vv για ακόμα πιο λεπτομερή.
Παράδειγμα :nmap -sS - p 1-400,1039 -vv www.target.com
12.Επιλογή -P0 :Η επιλογή αυτή χρησιμοποιείτε για να σαρώσετε ενα domain χωρίς
όμως να κάνετε ping.
Παράδειγμα :nmap -sS -p 1-400 -P0 www.target.com
13.Επιλογή -D :Με την επιλογή αυτή μπορούμε να μπερδέψουμε το σύστημα-στόχο από
που έρχεται η σάρωση μπερδεύοντας την αληθινή IP μας με άλλες έγκυρες.
Παράδειγμα :nmap -sS 10.10.10.10 -D 10.123.121.12
Προσοχή η 10.123.121.12 θα πρέπει να αντιστοιχεί σε σύστημα που βρίσκεται σε
λειτουργία.
14.Επιλογή -I :Με την επιλογή αυτή μπορούμε να σαρώσουμε τον στόχο βρίσκοντας
τον κάτοχο(Owner) της υπηρεσίας που τρέχουν στον συγκεκριμένο στόχο.Αυτή η
τεχνική είναι περισσότερο χρήσιμη σε συστήματα UNIX.
Παράδειγμα :nmap -I 10.10.10.10
15.Επιλογή -oN :Με την επιλογή αυτή μπορείτε να αποθηκεύσετε τα απότελέσματα
του nmap σε ένα αρχείο της επιλογή σας.
Παραδειγμα
:nmap -sS 10.10.10.10 -oN file.txt