Nmap

From EIK wiki

NMAP(Network Mapper) - ehk siis võrgukaardistaja on vabatarkvara, millega on võimalik uurida arvutivõrku ja selle turvalisust. See loodi selleks, et oleks võimalik kiiresti ja lihtsalt uurida suuri võrke. Samas toimib see ka väga hästi ühe arvuti uurimisel. Nmap kasutab erinevat tüüpi pakette, et tuvastada võrgus olevaid seadmeid, millised teenuseid antud seade pakkub, milline on antud seadme operatsioonisüsteem, millised on tulemüürid jne. Võrgu administraatorid kasutavad Nmapi enamsti üheosana turvaauditis. Lisaks veel võrgujälgimiseks ja teenuse töösoleku aja jälgimiseks.

Süntaks

nmap [ <Scan Type> ...] [ <Options> ] { <target specification> }

Väljund

Nmap'i väljund sisaldab endas skaneeritud aadresside infot ja lisaks vastavate võtmete tulemit. Portide tabelis kuvatakse pordi number ja protokol, teenuse nimi ja seisund. Seisund saab olla avatud(open), filtreeritud(filtered), suletud(closed) ja filtreerimata(unfiltered).

  • Avatud - tähendab, et meile huvipakkuvas seadmes on teenus, mis kuulab antud porti.
  • Filtreeritud - tähendab, et antud porti blokeerib kas tulemüür, filter või mõni muu sellelaadne takistus. Nmapil ei ole võimalik kindlaks teha kas port on avatud või suletud.
  • Suletud - on port, mida mitte ükski rakendus ei kuula. Kuid kui mõnel teenusel on vajadus antud porti kasutada on see koheselt võimalik.
  • Filtreerimata - on port mis, vastab Nmapile, kuid Nmap ei saa aru kas port on suletud või avatud.

Lisaks võib Nmap anda teate avatud|filtreeritud ja suletud|filtreerimata pordi kohta, kui Nmap ei saa aru kummas olekus port on. Väljundis on kirjas lisaks pordi olekule ka veel MAC aadress, seadme tüüp ja operatsioonisüsteemi versiooni pakkumine.

Väljundi näide

Antud näide on saadud kasutades käsku: nmap scanme.nmap.org.

Startin Nmap 5.21 ( http://nmap.org ) at 2011-11-25 18.55 EET
Nmap scan report for scanme.nmap.org (74.207.244.221)
Host is up (0.024 latency).
Not shown: 998 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Read data files from: /usr/share/namp
Nmap done: 1 IP address (1 host up) scanned in 19.86 seconds
           Raw packets sent: 3015 (132.584KB) | Rcvd: 19(764b)

Nmap kasutamine

  • Aadressi info.
nmap <sihtmärgi 1 aadress või IP>, <sihtmärgi 2 aadress või IP>, <IP vahemik. Näiteks 10.0.0–255.1–254/16>, <192.168.1.0/24>
  • Operatsioonisüsteemi tuvastus. Ei prugi alati toimida, kuna mõned operatsioonisüsteemid annavad Nmapile sarnased vastused.
nmap -O <sihtmärgi aadress või IP>
  • Kindlate portide kontroll.
nmap -p <pordi numbrid, eraldajaks ','> <sihtmärgi aadress või IP>
  • Teenuse versiooni tuvastus.
nmap -sV <sihtmärgi aadress või IP>
  • IPv6 tugi.
nmap -6 <sihtmärgi IPv6>
  • 'Varju' IP kasutamine .
nmap -D <sihtmärgi aadress või IP> <IP mida näidatakse ping käsu saatjana>

Nmap kasutamisnäited

Katsetame Nmap tarkvara Elioni kodukasutaja ruuteri peal ning proovime teada saada infot selle peal jooksvate teenuste kohta

Nmap käskude lisavalikud:

  • -PN teosta Ping scan
  • -sT TCP connect scan
  • -sS TCP SYN scan (kiirem)
  • -vv näita detailselt tegevuskäiku
  • -n ära proovi avastatud aadresse DNS kirjeteks lahendada
  • -p1-1000 skanneeri porte vahemikus 1 - 1000
  • -T4 võimekus/kiirus (vahemi 0 - 5)
  • -f fragmenteeri paketti

Katsetused

Skannieeritavaks seadmeks on Thompson tulemüür/ruuter, mis asub aadressil 192.168.1.254

Väljundi näide 1

  • Skännime, TCP ühendusi tekitades, seadme avatud TCP porte vahemikus 1 - 1000

Käsk

nmap -PN -sT -vv -n -p1-1000 -T4 192.168.1.254

Väljund

Starting Nmap 6.25 ( http://nmap.org ) at 2012-12-15 21:48 EET
Initiating Connect Scan at 21:48
Scanning 192.168.1.254 [1000 ports]
Discovered open port 23/tcp on 192.168.1.254
Discovered open port 443/tcp on 192.168.1.254
Discovered open port 80/tcp on 192.168.1.254
Discovered open port 21/tcp on 192.168.1.254
Completed Connect Scan at 21:48, 5.93s elapsed (1000 total ports)
Nmap scan report for 192.168.1.254
Host is up (0.0025s latency).
Scanned at 2012-12-15 21:48:24 EET for 6s
Not shown: 996 filtered ports
PORT    STATE SERVICE
21/tcp  open  ftp
23/tcp  open  telnet
80/tcp  open  http
443/tcp open  https

Avatud pordid sellel seadmel:

  • 21/tcp open ftp
  • 23/tcp open telnet
  • 80/tcp open http
  • 443/tcp open https

Väljundi näide 2

  • Skännime, TCP ühenduse SYN pakette saates, seadet sarnaselt eelmisele näitele. Vähendasime skanneerimise aega. Määrasime maksimaalseks paketi tagasi saabumise ajaks 15ms
    • protsess on võrreldes eelmise näitega kordades kiirem

Käsk

nmap -PN -sS -f -vv -n -p1-1000 -T4 -max-rtt-timeout 15 192.168.1.254

Väljund

Warning: Packet fragmentation selected on a host other than Linux, OpenBSD, FreeBSD, or NetBSD.  This may or may not work.

Starting Nmap 6.25 ( http://nmap.org ) at 2012-12-15 21:51 EET
Initiating ARP Ping Scan at 21:51
Scanning 192.168.1.254 [1 port]
Completed ARP Ping Scan at 21:51, 0.01s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 21:51
Scanning 192.168.1.254 [1000 ports]
Discovered open port 23/tcp on 192.168.1.254
Discovered open port 21/tcp on 192.168.1.254
Discovered open port 80/tcp on 192.168.1.254
Discovered open port 443/tcp on 192.168.1.254
Completed SYN Stealth Scan at 21:51, 12.23s elapsed (1000 total ports)
Nmap scan report for 192.168.1.254
Host is up (0.0048s latency).
Scanned at 2012-12-15 21:51:25 EET for 12s
Not shown: 996 filtered ports
PORT    STATE SERVICE
21/tcp  open  ftp
23/tcp  open  telnet
80/tcp  open  http
443/tcp open  https
MAC Address: 58:98:35:B6:9D:D5 (Technicolor)

Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 12.33 seconds
           Raw packets sent: 2005 (88.204KB) | Rcvd: 11 (666B)

Lisaks avastatud portidele, saame teada ka seadme MAC aadressi

  • MAC Address: 58:98:35:B6:9D:D5 (Technicolor)

Väljundi näide 3

  • Skanneerime seadet, saates sellele fragmenteeritud pakette. See meetod suudab teatud juhtudel valesti seadistatud tulemüüride reeglitest läbi tungida.

Käsk

nmap -f 192.168.1.254

Väljund

Warning: Packet fragmentation selected on a host other than Linux, OpenBSD, FreeBSD, or NetBSD.  This may or may not work.

Starting Nmap 6.25 ( http://nmap.org ) at 2012-12-15 21:59 EET
Nmap scan report for dsldevice.lan (192.168.1.254)
Host is up (0.0032s latency).
Not shown: 995 filtered ports
PORT     STATE SERVICE
21/tcp   open  ftp
23/tcp   open  telnet
80/tcp   open  http
443/tcp  open  https
1723/tcp open  pptp
MAC Address: 58:98:35:B6:9D:D5 (Technicolor)

Nmap done: 1 IP address (1 host up) scanned in 6.91 seconds

Väljundis on näha teenuse 1723/tcp open pptp avastamine, mida eelnevate tulemuste hulgas ei olnud.

Skriptide kasutamine Nmap-ga

Nmap Scripting Engine (NSE) võimaldab kasutajatel kirjutada ja kasutada olemasolevaid skripte, teatud ülesannete automatiseerimiseks ja teisteks keerulisemateks probleemide tuvastamiseks ja testimiseks.

Kaasatulevad skriptid asuvad Linux operatsioonisüsteemides /usr/share/nmap/scripts/ kataloogis ning on jagunevad järgnevatesse kategooriatesse:

  • Network discovery
  • More sophisticated version detection
  • Vulnerability detection
  • Backdoor detection
  • Vulnerability exploitation

Väljundi näide 4

Scanneerime Synology NAS välist kõvaketast aadressil 192.168.1.68 ning proovime tegevuse käigus kätte saada seadme manageerimiseks mõeldud HTTP veebilehekülje päise.

Käsk

nmap -v -p 80 --script html-title 192.168.1.68 

Väljund

Starting Nmap 5.21 ( http://nmap.org ) at 2012-12-15 21:38 EET
NSE: Loaded 1 scripts for scanning.
Initiating Ping Scan at 21:38
Scanning 192.168.1.68 [2 ports]
Completed Ping Scan at 21:38, 1.20s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 21:38
Completed Parallel DNS resolution of 1 host. at 21:38, 0.01s elapsed
Initiating Connect Scan at 21:38
Scanning Synology.lan (192.168.1.68) [1 port]
Discovered open port 80/tcp on 192.168.1.68
Completed Connect Scan at 21:38, 0.00s elapsed (1 total ports)
NSE: Script scanning 192.168.1.68.
NSE: Starting runlevel 1 (of 1) scan.
Initiating NSE at 21:38
Completed NSE at 21:38, 0.01s elapsed
NSE: Script Scanning completed.
Nmap scan report for Synology.lan (192.168.1.68)
Host is up (0.00082s latency).
PORT   STATE SERVICE
80/tcp open  http
|_html-title: Hello! Welcome to Synology Web Station!

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.29 seconds

Tulemusena saame HTTP päiseks: |_html-title: Hello! Welcome to Synology Web Station!

Nmap GUI: ZenMap

ZenMap on Nmap-i graafiline liides

Zenmap-1.png


Topology View võimaldab skanneeritud võrgust luua graafilise kujutise

Zenmap-2.png

Kokkuvõte

Nmap on väga hea, kasulik ja kiire, selleks et saada teada, mis toimub uuritavas võrgus. Tänu sellele saab ülevaate kasutusel olevatest portidest, infot porti kuulavate teenuste kohta jne. Kuid samas saab selle abil kasutusel olevatest portidest teada nn. häkker. Mina leian, et antud programm on väga kasulik süsteemi administraatoritele.

Koostas

Rauno Lehiste A22 2011

Uuendas Harri Uljas AK31 2012

Kasutatud kirjandus

Nmap reference guide

Ubuntu Manpageas: nmap

Pentestlab: blog

Advanced Nmap

Advanced Nmap 2