NMAP

IME
PREGLED
OPIS
NAPOMENE O PRIJEVODU
PREGLED OPCIJA
ODABIR CILJANOG RAÄUNALA
POSTUPAK PRONALAŽENJA HOSTOVA
OSNOVE SKENIRANJA PORTOVA
TEHNIKE SKENIRANJA PORTOVA
SPECIFIKACIJA PORTOVA I REDOSLJED SKENIRANJA
PREPOZNAVANJE SERVISA I NJIHOVIH VERZIJA
OTKRIVANJE OS−A
VRIJEME ODAZIVA I PERFORMANSE
IZBJEGAVANJE I ZAVARAVANJE VATROZIDA I IDS−A
IZVJEÅ TAJI
RAZNE OPCIJE
INTERAKCIJA ZA VRIJEME IZVRÅ AVANJA
PRIMJERI
GREÅ KE
AUTHOR
PRAVNE SMJERNICE
BILJEÅ KE


IME

nmap − Alat za istraživanje mreže i sigurnosni/port skener

PREGLED

nmap [Tip skena…] [Opcije] {specifikacija cilja}

OPIS

Nmap (“Network Mapper”) je open source alat za istraživanje mreže i sigurnosni auditing. Dizajniran je za brzo skeniranje velikih mreža, ali radi jednako dobro i kad je u pitanju samo jedan host. Nmap koristi sirove (raw) IP pakete na nov i originalan naÄin da bi ustanovio koji hostovi su dostupni na mreži, koji servisi (naziv aplikacije i verzija) su pokrenuti na tim hostovima, o kojim operativnim sustavima (i verzijama) je rijeÄ, koji tipovi paket filtera i vatrozida se koriste, te mnogo drugih karakteristika. Iako je Nmap najÄeÅ¡Äe koriÅ¡ten za sigurnosni auditing, mnogi sistemski i mrežni administratori pronaÅ¡li su u njemu koristan alat za rutinske zadatke poput sastavljanja popisa mrežnog inventara, upravljanja vremenima nadogradnje servisa i nadgledanja uptime−a raÄunala ili servisa.

Rezultat Nmap pretraživanja je popis skeniranih meta s dodatnim informacijama o svakoj od njih ovisno o koriÅ¡tenim parametrima. KljuÄna informacija je “ tabela zanimljivih portova”. U tabeli se nalati broj porta i protokol, naziv servisa i stanje.Stanje je ili: otvoreno, filtrirano, zatvoreno ili nefiltrirano. Otvoreno znaÄi da na ciljanom raÄunalu postoji aplikacija koja sluÅ¡a na tom portu i Äeka na konekciju/pakete. Filtrirano znaÄi da izmeÄu nas i ciljanog raÄunala postoji vatrozid, paket filter ili neki drugi mrežni ureÄaj koji blokira port, pa Nmap ne može reÄi da li je port otvoren ili zatvoren. Zatvoreni portovi trenutno nemaju aplikacije koje sluÅ¡aju na njima. Portovi su klasificirani kao nefiltrirani u situacijama kada odgovaraju na Nmap−ove upite, ali Nmap nije u moguÄnosti ustanoviti da li su otvoreni ili zatvoreni. Nmap vraÄa sljedeÄe kombinacije u izvjeÅ¡tajima: otvoren|filtriran i zatvoren|filtriran kad ne može ustanoviti koje od dva stanja toÄnije opisuje port. Port tabela može takoÄer sadržavati i informacije o verziji softvera, kada je ta opcija upaljena kod skeniranja. Kad je zatraženo skeniranje IP protokola (−sO), Nmap vraÄa informacije o podržanim IP protokolima, a ne o portovima.

Uz navedenu tabelu portova, Nmap može dati i dodatne informacije o ciljanom raÄunalu, ukljuÄujuÄi reverse DNS imena, pretopstavku o tome koji operativni sustav je s druge strane, tipove ureÄaja i MAC adrese.

Prikaz tipiÄnom Nmap skena je prikazan u: Primjer 1, “Ovako izgleda primjer Nmap skena”. Jedan od Nmap argumenata koriÅ¡ten u navedenom primjeru je −A, opcija za otkrivanje OS−a i njegove verzije, zatim−T4 za brže skeniranje, te nakon toga dva hosta koje želimo skenirati.

Primjer 1. Ovako izgleda primjer Nmap skena

# nmap −A −T4 scanme.nmap.org playground

Starting nmap ( https://nmap.org/ )
Interesting ports on scanme.nmap.org (205.217.153.62):
(The 1663 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 − 2.6.11, Linux 2.6.0 − 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)

Interesting ports on playground.nmap.org (192.168.0.40):
(The 1659 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios−ssn
389/tcp open ldap?
445/tcp open microsoft−ds Microsoft Windows XP microsoft−ds
1002/tcp open windows−icfw?
1025/tcp open msrpc Microsoft Windows RPC
1720/tcp open H.323/Q.931 CompTek AquaGateKeeper
5800/tcp open vnc−http RealVNC 4.0 (Resolution 400×250; VNC TCP port: 5900)
5900/tcp open vnc VNC (protocol 3.8)
MAC Address: 00:A0:CC:63:85:4B (Lite−on Communications)
Device type: general purpose
Running: Microsoft Windows NT/2K/XP
OS details: Microsoft Windows XP Pro RC1+ through final release
Service Info: OSs: Windows, Windows XP

Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds

Najnoviju verziju Nmap−a možete downloadati sa sljedeÄeg linka: [1] . Najnovija verzija man stranica (uputa) dostupna je na sljedeÄem linku: https://nmap.org/man/.

NAPOMENE O PRIJEVODU

Hrvatsku verziju Nmap vodiÄa je preveo Robert PetruniÄ s originalne Engleske verije [2] 2991. Iako se nadam da Äe prijevod uÄiniti Nmap dostupniji ljudima Hrvatskog govornog podruÄja, ne mogu garantirati da je prijevod kompletan i up to date kao i originalna Engleska verzija. Projevod možete modificirati i redistribuirati pod uvjetima Creative Commons Attribution Licence [3] . Ovo je prva verzija i najvjerovatnije ima dosta nekonzistentnih prijevoda (rijeÄi koje su na razliÄitim mjestima prevedene drugaÄije), ali smisao prijevoda je i dalje ostao isti. Nadam se da Äu u iduÄim verzijama napisati viÅ¡e “književni” toÄan prijevod

PREGLED OPCIJA

SljedeÄi pregled opcija je ispisan kad pokrenete Nmap bez ikakvih parametara, a posljednja verzija je uvijek dostupna na: https://nmap.org/data/nmap.usage.txt. Pomaže ljudima zapamtiti najÄeÅ¡Äe opcije, ali nije zamjena za detaljne upute koje se nalaze u ovom manualu. Neke manje koriÅ¡tene opcije Äak se ni ne nalaze u pregledu opcija.

Upotreba: nmap [Tip(ovi) skeniranja] [Opcije] {ciljano raÄunalo}
CILJANO RAÄUNALO:
Možete upisati hostname (naziv raÄunala), IP adrese, mreže (subnete) isl.
Primjer: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0−255.1−254
−iL : Naziv datoteke u kojoj se nalazi popis hostova/mreža
−iR : Odaberi nasumiÄne hostove
−−exclude : Ne skeniraj navedene hostove/mreže
−−excludefile : Ne skeniraj navedene hostove/mreže koji se nalaze u navedenoj datoteci
OTKRIVANJE HOSTOVA:
−sL: List Scan − samo navedi mete koje skeniraÅ¡
−sP: Ping Scan − samo ustanovi da li je host online i ne radi niÅ¡ta viÅ¡e
−P0: Smatraj sve hostove online −− ne pokuÅ¡avaj ustanoviti da li postoje.
−PS/PA/PU [lista_portova]: koristi TCP SYN/ACK ili UDP za otkrivanje hostova
−PE/PP/PM: ICMP echo, timestamp i netmask pokuÅ¡aji skeniranja
−n/−R: Ne pokuÅ¡avaj raditi DNS rezoluciju/uvijek koristi DNS rezoluciju [default: ponekad]
TEHNIKE SKENIRANJA:
−sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon skenovi
−sN/sF/sX: TCP Null, FIN, and Xmas skenovi
−−scanflags : Navedi TCP flagove pomoÄu kojih želiÅ¡ skenirati
−sI : Idlescan
−sO: IP protocol scan
−b : FTP bounce scan
SPECIFIKACIJA PORTOVA I REDOSLJED SKENIRANJA:
−p : Skeniraj samo navedene portove
Primjer: −p22; −p1−65535; −p U:53,111,137,T:21−25,80,139,8080
−F: Brzo − Skeniraj samo portove navedene u nmap−services fileu
−r: Skeniraj portove po redu − ne randomiziraj
OTKRIVANJE SERVISA/VERZIJA:
−sV: PokuÅ¡aj na osnovu otvorenih portova saznati informacije o servisu/verziji
−−version−light: Koristi najvjerovatnije skenove zbog ubrzane detekcije verzije
−−version−all: Isprobaj sve vrste skenova za saznavanje verzije
−−version−trace: Pokaži detaljnu aktivnost skeniranja verzije (za debugging)
DETEKCIJA OS−a:
−O: UkljuÄi OS detekciju
−−osscan−limit: OgraniÄi OS detekciju samo na one ciljeve koji obeÄavaju
−−osscan−guess: PogaÄaj OS malo agresivnije
TIMING I PERFORMANSE:
−T[0−6]: Podesi predložak za timing (veÄi broj je brže)
−−min−hostgroup/max−hostgroup : Paralelno skeniraj hostove / veliÄina sken grupe
−−min−parallelism/max−parallelism : Paraleliziraj sonde
−−min−rtt−timeout/max−rtt−timeout/initial−rtt−timeout : Navedi vrijeme potrebno za povratak (engl. round trip time) sonde.
−−host−timeout : Odustani od skeniranja ciljanog raÄunala nakon navedenog vremena u milisekundama
−−scan−delay/−−max−scan−delay : Podesi pauzu izmeÄu slanja upita
OBILAŽENJE FIREWALL−a/IDS−a I SPOOFING:
−f; −−mtu : fragmentiraj pakete (opcionalno sa zadanim MTU−om)
−D : Sakrij skan koriÅ¡tenjem mamaca
−S : Spoofaj ishodiÅ¡nu (source) adresu
−e : Koristi navedeni interface (mrežni adapter)
−g/−−source−port : Koristi navedeni broj ishodiÅ¡nog (source) porta
−−data−length : Dodaj random podatke u poslane pakete
−−ttl : Podesi IP time−to−live polje
−−spoof−mac : Spoofaj svoju MAC adresu
ISPIS:
−oN/−oX/−oS/−oG : IspiÅ¡i scan normalno, kao XML, s| i Grep format u navedeni file
−oA : Ispis u tri glavna formata istovremeno
−v: PoveÄaj verbose nivo (ako želite postiÄi veÄi efekt, stavite opciju −vv)
−d[nivo]: Podesi ili poveÄaj debuging nivo (Ima smisla do brojke 9, viÅ¡e od toga ne)
−−packet−trace: Pokaži sve poslane i primljene pakete
−−iflist: IspiÅ¡i host interface i rute (za debuging)
−−append−output: Dodaj ispis u postojeÄe datoteke − nemoj ih prepisati
−−resume : Nastavi prekinuti scan
−−stylesheet : XSL stylesheet za transformiranje XML generiranog dokumenta u HTML
−−no−stylesheet: SprijeÄi povezivanje XSL stylesheet−a s XML ispisom
RAZNO:
−6: OmoguÄi skeniranje IPv6 protokola
−A: OmoguÄi prepoznavanje OS−a i verzije OS−a
−−datadir : Navedi customizirani Nmap data file
−−send−eth/−−send−ip: Å¡alji sirove (RAW) ethernet frame−ove ili IP pakete
−−privileged: Pretpostavka da je korisnik koji je pokrenuo Nmap u potpunosti privilegiran (ima admin ovlasti)
−V: IspiÅ¡i verziju Nmap−a
−h: IspiÅ¡i ovaj help ekran
PRIMJERI:
nmap −v −A scanme.nmap.org
nmap −v −sP 192.168.0.0/16 10.0.0.0/8
nmap −v −iR 10000 −P0 −p 80

ODABIR CILJANOG RAÄUNALA

Sve Å¡to unesete u komandnu liniju Nmap−a, a nije opcija ili argument opcije (dakle nije parametar samog programa), tretira se kao ciljano raÄunalo. Najjednostavniji sluÄaj je da unesete IP adrese ili naziv ciljanog hosta.

Ponekad želite skenirati Äitavu mrežu hostova. Za tu namjenu Nmap podržava CIDR adresiranje. Dakle, nakon IP adrese ili naziva raÄunala, možete dodati /numbits (broj bitova) koji se koriste kao mrežni ID. Npr. 192.168.10.0/24 Äe skenirati 256 hostova izmeÄu 192.168.10.0 (binarno: 11000000 10101000 00001010 00000000) i 192.168.10.255 (binarno: 11000000 10101000 00001010 11111111) ukljuÄujuÄi i 192.168.10.0 i 192.168.10.255. 192.168.10.40/24 Äe uÄiniti istu stvar. Ako smo pak odabrali scanme.nmap.org, a recimo da je IP adresa tog hosta 205.217.153.62, scanme.nmap.org/16 bi skeniralo 65,536 IP adresa izmeÄu 205.217.0.0 i 205.217.255.255. Najmanja dozvoljena vrijednost je 1 (Å¡to bi skeniralo gotovo cijeli internet), dok je najveÄa dozvoljena vrijednost 32, Å¡to skenira samo jednog hosta.

CIDR notacija je kratka, ali nije uvijek dovoljno fleksibilna. Npr. želite skenirati 192.168.0.0/16, ali želite izbjeÄi sve IP adrese koje zavrÅ¡avaju s .0 ili .255, jer su to mrežni ID i broadcast IP adresa u klasful adresiranju. Nmap za tu situaciju podržava adresiranje na nivou okteta. Umjesto da navedete normalnu IP adresu, možete navesti listu brojeva odvojenih zarezom (1,2,3) ili podruÄja za svaki oktet (1−254). Npr. 192.168.0−255.1−254 Äe preskoÄiti sve adrese u navedenom podruÄju koje zavrÅ¡avaju na .0 i .255, tj. skenirat Äe sve IP adrese od 192.168.0.1 do 192.168.255.254, preskaÄuÄi one IP adrese koje u zadnjem oktetu imaju 0 ili 255. PodruÄja nisu limitirana na zadnji oktet, recimo, 0−255.0−255.13.37 Äe skenirati SVE IP adrese koje zavrÅ¡avaju na 13.37. Ovaj naÄin skeniranja može biti koristan za razna istraživanja i ispitivanja.

IPv6 adrese mogu biti specificirane iskljuÄivo u potpunosti definirane (fully qualified) kao IP adrese ili naziv hosta. CIDR i oktet podruÄja nisu podržani za IPv6 jer se rijetko koriste.

Nmap prihvaÄa navoÄenje viÅ¡e hostova u komandnoj liniji, a hostovi ne moraju biti istog tipa. Naredba nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3−7.0−255 Äe uÄiniti upravo ono Å¡to oÄekujete od nje.

Ciljevi skeniranja su obiÄno navedeni u samoj komandnoj liniji, ali podržane su i sljedeÄe opcije:

−iL (IÅ¡Äitaj parametre iz liste)

IÅ¡Äita informacije o ciljanom hostu iz ulazne datoteke. Proslijediti Nmapu veliku koliÄinu hostova iz komandne linije izgleda nepregledno, ali to je ono Å¡to u veÄini sluÄajeva i želimo. Npr. iz DHCP servera ste izvukli popis 10 000 trenutno iznajmljenih IP adresa i želite ih skenirati ili možda želite skenirate sve ip adrese osim tih kako bi pronaÅ¡li hostove koji imaju neautoriziranu statiÄku IP adresu. Da bi to postigli, generirajte popis hostova koje želite skenirati u neku datoteku i proslijedite tu datoteku Nmap−u kao argument opciji −iL. U datoteci mogu biti unosi u bilo kojem formatu koji Nmap podržava u samoj komandnoj liniji (IP adresa, naziv hosta, CIDR, IPv6, ili oktet nekog podruÄja). Svaki unos mora biti odvojen s jednim ili s viÅ¡e razmaka, tabom ili novim redom. Isto tako možete staviti minus (−), ukoliko želite da Nmap iÅ¡Äita hostove iz standardnog unosa umjesto iz navedene datoteke.

−iR (NasumiÄno odaberi ciljano raÄunalo)

Za istraživaÄe interneta i ostale koji žele odabrati ciljano raÄunalo nasumiÄno. Argument broj hostova kaže Nmap−u koliko IP adresa da generira. Neželjene IP adrese, poput privatnih, multicast ili nedodjeljenih IP adresnih podruÄja su automatski izbaÄene. Argument 0 može biti naveden za skeniranje koje nikad neÄe zavrÅ¡iti. Imajte na umu da neki mrežni administratori ne vole neautorizirano skeniranje i mogli bi se žaliti vaÅ¡em ISP−u, Å¡to bi pak moglo rezultirati zabranom pristupa internetu za vas. Koristitte ovu opciju na vlastitu odgovornost. Ukoliko se pak, jednog kiÅ¡nog popodneva, naÄete u situaciji da ne znate Å¡to bi sa sobom, iskuÅ¡ajte naredbu nmap −sS −PS80 −iR 0 −p80 kako bi nasumiÄno pronaÅ¡li web servere za browsanje.

−−exclude (iskljuÄi iz skeniranja hostove/mreže)

Navedite zarezom odvojenu listu hostova koje želite iskljuÄiti iz skena iako se nalaze u mrežnom podruÄju koje ste specificirali. Popis koji proslijedite na ovaj naÄin koristi normalnu Nmap sintaksu, pa možete upisati naziv hosta, CIDR mrežne blokove, oktete rangeva isl. To može biti korisno u sluÄaju kad mreža koju želite skenirati ima nedodirljive i kritiÄne servere, sisteme za koje se zna da Äe odmah reagirati na port sken, ili postoje podmreže koje administriraju drugi administratori i ne želite skenirati njihov dio mreže.

−−excludefile (IskljuÄi iz skeniranja koristeÄi ulazni file)

Ova opcija nudi istu funkcionalnost kao i prije opisana opcija −−exclude, s tim da hostove koje ne želite skenirati ne navodite u komandnoj liniji, veÄ unutar datoteke. Hostovi mogu biti navedeni u datoteci (naziv_datoteke) koji kao delimiter koristi novi red, razmak ili tab.

POSTUPAK PRONALAŽENJA HOSTOVA

Jedan od prvih koraka kad je u pitanju sakupljanje informacija o mreži je smanjivanje (ponekad velike) koliÄine IP adresnih podruÄja u popis aktivnih i zanimljivih hostova. Skeniranje svih portova za svaku adresu je sporo i najÄeÅ¡Äe nepotrebno. Naravno, ono Å¡to nekog hosta Äini zanimljivim uvelike ovisi o razlogu samog skena. Mrežni administratori Äe možda biti zainteresirani samo za hostove koji imaju pokrenut odreÄeni servis, dok Äe sigurnosni auditori biti zainteresirani za svaki ureÄaj s IP adresom. Administratoru Äe možda biti dovoljno koriÅ¡tenje ICMP pinga kako bi pronaÅ¡ao hostove na mreži, dok Äe vanjski penetration tester koristiti Å¡iroki spektar alata i nebrojene sonde u pokuÅ¡aju da obiÄe zabrane postavljene na vatrozidu.

BuduÄi da su potrebe korisnika kod pronalaženja hostova tako razliÄite, Nmap nudi Å¡iroki spektar opcija za prilagoÄavanje koriÅ¡tenim tehnikama. Pronalaženje hostova (engl host discovery) se ponekad naziva Ping scan, ali ide daleko dalje od obiÄnog ICMP echo paketa povezanog sa sveprisutnim ping alatom. Korisnici mogu preskoÄiti dio pinganja s list skenom (−sL) ili iskljuÄivanjem pinganja (−P0) ili da pristupe mreži s kombinacijama multi port TCP SYN/ACK, UDP i ICMP sondi. Namjena tih sondi je iznuÄivanje odgovora koji dokazuje da je IP adresa u stvari aktivna (koriÅ¡tena je od strane hosta ili mrežnog ureÄaja). Na veÄini mreža je samo jedan mali postotak IP adresa aktivan. To je pogotovo toÄno za mreže blagoslovljene RFC1918 dokumentom (privatni adresni prostor poput 10.0.0.0/8). Navedena mreža ima 16 miliona IP adresa, ali imao sam prilike vidjeti da je koriste firme s manje od tisuÄu maÅ¡ina. Postupak pronalaženja hostova može pronaÄi koja su to raÄunala u tom moru neaktivnih IP adresa.

Ukoliko ne navedete nikakvu opciju Postupku pronalaženja hostova, Nmap Å¡alje TCP ACK paket namjenjen portu 80 i ICMP echo zahtijev na ciljano raÄunalo. Izuzetak od ovog pravila je taj da je ARP sken koriÅ¡ten za ciljana raÄunala na lokalnoj ethernet mreži. Za neprivilegirane UNIX shell korisnike, Nmap Å¡alje SYN paket umjesto ACK−a koriÅ¡tenjem connect() sistemskog poziva. To je jednako opcijama −PA −PE. Takav naÄin pronalaženja hostova je obiÄno dostatan kad su u pitanju lokalne mreže, ali preporuÄen je malo potpuniji set sondi za istraživanje kod sigurnosnog auditinga.

Opcija −P* (koja odabire ping tipove) može biti kombinirana. Možete poveÄati Å¡anse provaljivanja vatrozida slanjem mnogo sondi koje koriste razliÄite TCP portove/zastavice (engl. flags) i ICMP kodove. TakoÄer imajte na umu da se po defaultu na lokalnoj mreži za otkrivanje hostova koristi ARP discovery (−PR) Äak i kad navedete druge −P* opcije zbog toga jer je gotovo uvijek brži i efikasniji.

SljedeÄe opcije upravljaju postupkom otkrivanja hostova.

−sL (List Sken)

List sken nije skeniranje hosta, veÄ saznavanje nekih javno dostupnih informacija o njemu bez slanja ijednog paketa prema tom hostu. List scan jednostavno ispiÅ¡e svakog hosta kojeg smo specificirali i napravi reverse DNS rezoluciju da bi saznao njegovo ime. IznenaÄujuÄe je koliko korisnih informacija možete dobiti ovim naÄinom “skeniranja”. Npr. fw.chi.playboy.com je vatrozid ÄikaÅ¡kog (Chichago) ureda firme Playboy Enterprises. Nmap na kraju navede i ukupan broj IP adresa koje pripadaju tom hostu. List Sken je koristan u situacijama kada se želite uvjeriti da imate ispravne IP adrese koje želite skenirati. Ukoliko List sken izbaci nazive domena koje ne poznajete bilo bi dobro provjeriti prije nego pokrenete skeniranje, jer ne bi bilo dobro da poÄnete skenirati krive hostove ;−).

Kako je ideja samo ispisati popis ciljanih hostova, ne možete kombinirati opcije za funkcionalnosti viÅ¡eg nivoa, poput skeniranja portova, detekcije OS−a, ping skeniranja isl. Ukoliko želite iskljuÄiti ping skeniranje, a ipak koristiti funkcionalnosti viÅ¡eg nivoa, proÄitajte opis −P0 opcije.

−sP (Ping Sken)

Ova opcija kaže Nmap−u da napravi samo ping sken (otkrivanje hostova) i da ispiÅ¡e hostove koji su odgovorili na skeniranje. Ne radi se nikakvo dodatno testiranje (poput port skeniranja ili detekcije OS−a). To je naÄin skeniranja koji je stupanj intruzivniji od list skena ali se može koristiti u istu svrhu. Dozvoljava lagano “pretraživanje neprijateljskog teritorija” (engl. reconnaissance), bez pretjeranog privlaÄenja pažnje, jer znati koliko hostova je stvarno “živo” na mreži je važnija informacija za napadaÄa ili sigurnosnog auditora, nego lista koju je izbacio list scans popisom svih IP adresa i hostova koji postoje.

Sistemski administratori takoÄer nalaze ovu opciju popriliÄno korisnom. Može se koristiti za pronalaženje dostupnih raÄunala na mreži ili koristiti kao alat za nadgledanje dostupnosti servera. Taj naÄin primjene se naziva ping sweep i mnogo je pouzdaniji od pinganja broadcast adrese zato jer mnogi hostovi ne odgovaraju na broadcast upite. (Konkretno windows maÅ¡ine ne odgovaraju na broadcast ping, ali odgovaraju na druge tipove broadcast paketa).

Po defaultu −sP opcija Å¡alje ICMP echo i TCP paket na port 80. Kad je pokrenuta od strane neprivilegiranog korisnika (korisnika koji nije lokalni administrator), poslan je SYN paket na port 80 (koriÅ¡tenjem API poziva connect() ). Kad privilegirani korisnik pokuÅ¡ava skenirati hostve na lokalnoj mreži, koriste se ARP zahtjevi (−PR) osim ako nije specificirana opcija −−send−ip. Opciju −sP možete kombinirati s bilo kojim tipom otkrivajuÄih (discovery) tipova skeniranja (sve −P* opcije osim −P0 opcije) kako bi postigli veÄu fleksibilnost. Ukoliko se koristi bilo koji od tih tipova skeniranja i port broj, automatski su defaultne postavke skeniranja premoÅ¡Äene (ACK i echo zahtjevi). Ukoliko su izmeÄu hosta na kojem je pokrenut Nmap i ciljanog hosta nalaze vatrozidi, preporuka je koristiti upravo te tehnike kako vatrozid ne bi filtrirao upite ili odgovore na njih.

−P0 (Bez pinganja)

Ova opcija preskaÄe fazu otkrivanja hostova. Ukliko ne koristite ovu opciju, Nmap pokuÅ¡ava ping skeniranjem saznati koja raÄunala su dostupna kako bi SAMO njih i skenirao. Ukoliko koristite ovu opciju Nmap Äe skenirati svakog navedenog hosta bez obzira da li je dostupan ili ne, jer neÄe raditi provjeru. Ukoliko odaberete kompletnu klasu B (/16 po CIDR notaciji) Nmap Äe skenirati svih 65536 hostova, bez obzira da li su “živi” ili ne. Napomena: drugi karakter u ovoj opciji je NULA, a ne veliko slovo O. Ukoliko je na hostu zatvoren ICMP protokol (Å¡to je sluÄaj kod 90% raÄunala na internetu), a niste stavili −P0 opciju, Nmap neÄe skenirati ta raÄunala, dakle, ukoliko želite skenirati raÄunala koja ne odgovaraju na ICMP echo upit, a znate da postoje i da su “živi” stavite ovu opciju.

−PS [lista_portova] (TCP SYN Ping)

Ova opcija Å¡alje prazan TCP paket s upaljenim SYN flagom. Defaultni odrediÅ¡ni port je 80 (možete se konfigurirati kod kompajliranja programa na naÄin da promijenite DEFAULT_TCP_PROBE_PORT u nmap.h biblioteci), no, možete navesti i neki drugi port kao parametar. Isto tako je moguÄe poslati zarezom odvojenu listu portova kao parametar ovoj opciji (npr. −PS22, 23,25,80,113,1050,35000). U tom Äe sluÄaju nmap poslati paket na svaki od navedenih portova paralelno.

SYN flag u paketu kaže ciljanom hostu da se želite spojiti na navedeni port/portove. Ukoliko je port zatvoren, odgovor koji Äe Nmap dobiti od ciljanog hosta je RST (reset). Ukoliko je port otvoren, ciljano raÄunalo Äe poslati SYN/ACK paket, Å¡to je drugi korak u trostrukom rukovanju TCP protokola. RaÄunalo na kojem je pokrenut Nmap u tom trenutku prekida konekciju na naÄin da poÅ¡alje RST paket (umjesto ACK paketa koji bi zavrÅ¡io trostruko rukovanje i uspostavio konekciju sa ciljanim hostom). RST paket je poslao kernel raÄunala na kojem je pokrenut Nmap, jer je dobio SYN/ACK paket koji nije oÄekivao.

Nmap ne zanima da li je port otvoren ili zatvoren, RST ili SYN/ACK odgovor koji je dobio dovoljan su odgovor da je raÄunalo “živo”. Bez obzira na to RST odgovor znaÄi da je raÄunalo tu i da je “živo”, dok SYN/ACK odgovor uz to znaÄi i da raÄunalo “sluÅ¡a” na navedenom portu.

Na UNIX maÅ¡inama samo privilegirani korisnik root može slati i primati sirove (RAW) TCP pakete. Za neprivilegirane korisnike napravljen je obilazni put u kojem Nmap automatski poziva connect() API na svaki navedeni port. To je postiglo efekt slanja SYN paketa na coljani host i iniciran je pouÅ¡aj ostvarivanja konekcije. Ukoliko connect() API vrati brzi odgovor uspjeÅ¡nog spajanja ili ECONNREFUSED greÅ¡ku, TCP stack na OS−u je dobio SYN/ACK ili RST od ciljanog hosta i host je oznaÄen kao dostupan. Ukoliko konekcija “visi” dok ne istekne timeout, ciljani host je oznaÄen kao nedostupan (ugaÅ¡en). Navedeni obilazni put se koristi i kod IPv6 konekcija, je Nmap joÅ¡ nema implementiranu izradu sirovih (RAW) paketa za IPv6 protokol.

−PA [lista_portova] (TCP ACK Ping)

TCP ACK ping je sliÄan SYN pingu. Razlika je, Å¡to je lako zakljuÄiti iz samog naziva, u tome Å¡to se umjsto SYN flaga upali ACK flag. Takav paket podrazumijeva da je konekcija veÄ uspostavljena iako nije, samim tim bi ciljani hostovi uvijek trebali odgovoriti s RST paketom, te na taj naÄin potvrditi svoje postojanje.

−PA opcija koristi isti defaultni port kao i SYN scan (port 80) i isto kao i SYN scan može primiti listu portova u istom formatu. Ukoliko neprivilegirani korisnik pokuÅ¡a pokrenuti Nmap s ovom opcijom ili je u pitanju IPv6 TCP konekcija, koristi se obilazni put opisan u TCP SYN pingu. Ova opcija nije savrÅ¡ena, jer connect() u stvari Å¡alje SYN pakete umjesto ACK paketa

Razlog zaÅ¡to koristiti i SYN i ACK sonde je radi poveÄavanja Å¡ansi za obilaženje vatrozida. Mnogi administratori konfiguriraju rutere i ostale jednostavne vatrozide na naÄin da zaustavljaju dolazeÄe SYN pakete osim ako nisu namijenjeni nekim javnim servisima, poput weba ili mail servera. Takav naÄin podeÅ¡avanja ureÄaja sprjeÄava nedozovljene konekcije prema raÄunalima tvrtke, ali omoguÄava neograniÄen izlazni promet prema internetu. Ovakav pristup konekcija bez stanja (engl. stateless) oduzima malo resursa na vatrozidima/ruterima i podržan je na gotovo svim hardverskim i softverskim filterima. Netfilter/ iptables, poznati vatrozid na Linux operativnom sustavu nudi opciju −−syn kako bi mogli implementirati ovakav pristup konekcija bez stanja (engl. stateless). Kod tako konfiguriranih vatrozida, sonde SYN ping (−PS) Äe najvjerovatnije biti blokirane kad ih poÅ¡aljete na zatvorene portove. No meÄutim, ACK sonde Äe bez problema prolaziti kroz njih.

Drugi tip vatrozida podržava konekcije sa stanjem (engl. stateful) koji odbacuju sve neoÄekivane pakete. Ova opcija se u poÄetku koristila samo kod naprednijih vatrozid rjeÅ¡enja, ali je vremenom postala rasprostranjenija. Linux vatrozid Netfilter/iptables podržava ovu opciju koriÅ¡tenjem opcije −−state, koja kategorizira pakete vezano uz stanje konekcije. Skeniranjem takvih sustava veÄa je vjerovatnost da Äemo od SYN sonde dobiti nekakvu informaciju, nego od ACK, jer se ACK sonde koje nemaju uspostavljenu konekciju tretiraju kao lažne i odbaÄeni su bez ikakvog odgovora. U sluÄaju dvojbe, najbolje je poslati i SYN i ACK sonde navioÄenjem opcija −PS i −PA.

−PU [lista_portova] (UDP Ping)

JoÅ¡ jedna metoda detekcije hostova je i UDP ping. UDP ping Å¡alje prazne UDP pakete (osim ako nije definirana opcija −−data−length) na navedene portove. Portlist opcija ima isti format kao i prije obraÄene opcije −PS i −PA. Ukoliko nije naveden niti jedan port, defaultni je 31338. To se može promijeniti kod kompajliranja promjenom DEFAULT_UDP_PROBE_PORT u nmap.h biblioteci. Namjerno je odabran visoki nestandardni port, jer bi slanje paketa na otvorene UDP portove dalo neželjene rezultate za ovu vrstu skena.

Nakon Å¡to je ciljano raÄunalo dobilo paket na zatvoreni port, trebalo bi odgovoriti ICMP paketom ” nedostupan port” (engl. port unreachable). Na osnovu toga Nmap može zakljuÄiti da je ciljani host “živ”. Drugi tipovi ICMP greÅ¡aka, poput nedostupan host/mreža ili premaÅ¡en TTL (engl. TTL exceeded) nagovjeÅ¡tavaju da je host ugaÅ¡en ili nedostupan. Ukoliko nema nikakvog odgovora, Nmap takoÄer zakljuÄi da je host ugaÅ¡en/ nedostupan. Ukoliko je paket stigao na otvoreni UDP port, veÄina servisa Äe jednostavno ignorirati prazan UDP paket i Nmap neÄe dobiti nikakav odgovor. Zbog toga je defaultni port 32338, jer je mala moguÄnost da Äe neki servis koristiti taj port. Postoje i neki servisi, poput chargen−a, koji Äe odgovoriti na prazan UDP paket i na taj naÄin otkriti Nmapu da je host “živ”.

Glavna prednost ovog tipa skeniranja je da obilazi vatrozide i paket filtere koji skeniraju samo TCP promet. Npr. Linksys BEFW11S4 bežiÄni (wireless) ruter na vanjskom mrežnom adapteru filtrira samo TCP portove, a na UDP skenove odgovara s ICMP port nedostupan.

−PE; −PP; −PM (ICMP tipovi pinganja)

Uz do sad navedene tipove skeniranja i otkrivanja hostova, Nmap može slati i standardne ICMP pakete koriÅ¡tenjem klasiÄnog ping programa. Nmap Å¡alje ICMP paket tipa 8 (echo request) na ciljanu IP adresu oÄekujuÄi odgovor tipa 0 (echo reply), ukoliko je host “živ”. Na Å¡tetu mrežnih istraživaÄa, veÄina hostova i vatrozida na internetu blokira te pakete umjesto da na njih odgovara kako je opisano u RFC 1122 [4] dokumentu. Zbog toga su ICMP skenovi rijetko ili gotovo nikad pouzdani kad se ciljani host nalazi na internetu, ali za sistem administratore koji nadgledaju unutraÅ¡nje mreže, ovo je praktiÄan i najjednostavniji pristup za skeniranje hostova. Opisani naÄin skeniranja možete upaliti koriÅ¡tenjem −PE opcije.

Bez obzira na to Å¡to je echo zahtijev standardni ICMP ping upit, Nmap se nije zaustavio na tome. Ako pogledate ICMP standard (RFC 792 [5] ) vidjet Äete da je u njemu naveden i timestamp zahtijev, information zahtijev i zahtijev za adresnom maskom i to pod kodovima 13,15 i 17. Iako je namjena tih upita saznati informacije poput adresne maske i trenutnog vremena, vrlo ih je lako iskoristiti za otkrivanje hostova. Host koji odgovori je “živ”. Nmap u trenutnoj verziji ne podržava information zahtijev, jer se ne koristi Äesto. RFC 1122 inzistira na tome da “host NE BI TREBAO implementirati taj ICMP tip poruka”. Upite za timestamp i adresnu masku možete poslati s −PP i −PM opcijama. Timestamp odgovor (ICMP kod 14) ili odgovor adresne maske (kod 18) otkrivaju da je ciljani host “živ”. Ta dva upita su korisni u sluÄajevima kad administratori blokiraju echo zahtijev pakete, ali zaborave blokirati ostale ICMP pakete.

−PR (ARP Ping)

Jedan od najÄeÅ¡Äih scenarija koriÅ¡tenja Nmap−a je skeniranje ethernet LAN−a. Na veÄini LAN−ova, posebno na onima koji koriste privatne ip adrese definirane u RFC 1918 dokumentu je veÄina IP adresa u stvari neiskoriÅ¡tena. Kad Nmap pokuÅ¡a poslati sirovi IP paket poput ICMP echo zahtjeva, operativni sustav mora ustanoviti MAC adresu raÄunala koja pripada ciljanoj IP adresi, kako bi moglo adresirati ethernet frame. To je obiÄno sporo i problematiÄno jer operativni sustavi nisu napisani s pretpostavkom da Äe u vrlo kratkom vremenskom periodu morati poslati milione ARP zahtjeva prema nepostojeÄim hostovima.

ARP sken zadužuje Nmap i njegove optimizirane algoritme za ARP zahtjeve i ukoliko Nmap dobije odgovor ne mora uopÄe pokretati IP bazirani ping, jer veÄ zna da je raÄunalo dostupno. Ovo Äini ARP scan mnogo bržim i pouzdanijim od IP baziranog skena, pa se defaultno koristi kod skeniranje hostova na ethernetu za koje Nmap zakljuÄi da su na lokalnoj mreži. Äak ako ste i naveli neke druge tipove pinga, (poput −PE ili −PS), Nmap Äe koristiti ARP sken za sve hostove koji su na istoj mreži. Ukoliko ne želite koristiti ARP sken, navedite opciju −−send−ip.

−n (Bez DNS rezolucije)

Ova opcija kaže Nmap−u da nikad ne radi obrnutu DNS rezoluciju (engl. reverse DNS lookup) na aktivnim IP adresama koje pronaÄe. Kako je obrnuta DNS rezolucija Äesto spora, ova opcija ubrzava postupak.

−R (DNS rezolucija za sva ciljana raÄunala)

Ova opcija kaže Nmap−u da uvijek radi obrnutu rezoluciju ciljanih IP adresa. U normalnim okolnostima to se radi samo kad je potvrÄeno da raÄunalo postoji.

−−system−dns (Koristi sistemski DNS rezolver)

Defaultno Nmap radi rezolving adresa slanjem upita direktno imenskim serverima (engl. name servers) koji su podeÅ¡eni na vaÅ¡em raÄunalu i Äeka odgovore. Mnogo zahtjeva je poslano istovremeno (10 i viÅ¡e) kako bi brže radilo. Ovu opciju navedite ukoliko želite koristiti sistemski rezolver (jedna po jedna IP adresa pozivom sistemskog API poziva getnameinfo()). Ovo je sporije i rijetko je korisno osim ako u Nmap DNS kodu postoji greÅ¡ka −− molim kontaktirajte nas u tom sluÄaju. Sistemski rezolver se uvijek koristi za IPv6 skenove.

−−dns−servers (Serveri koji Äe se koristiti za obrnute DNS upite)

U normalnim okolnostima, Nmap Äe pokuÅ¡ati pronaÄi vaÅ¡e DNS servere iz resolv.conf datoteke (na UNIX−u) ili iz registry baze podataka (na Win32). Naravno, postoji moguÄnost da navedete servere po želji koriÅ¡tenjem ove opcije. Ova opcija se ne koristi ako koristitite opciju −−system−dns ili IPv6 sken. KoriÅ¡tenje viÅ¡e DNS servera je obiÄno brže nego samo jednog.

OSNOVE SKENIRANJA PORTOVA

Bez obzira na to Å¡to je vremenom Nmap porastao gledano s funkcionalne strane, poÄeo je kao efikasan port skener, te mu to i dalje ostaje osnovna namjena. Jednostavna naredba nmap ciljani host skenira viÅ¡e od 1660 TCP portova na navedenom raÄunalu. Iako je veÄina port skenera grupirala portove u otvorene ili zatvorene, Nmap ima granularniji pristup, te dijeli portove na: otvorene, zatvorene, filtrirane, nefiltriran, otvorene|filtrirane i zatvorene|filtrirane.

Gore navedena stanja ne potiÄu od stvarnih stanja portova, veÄ su opis onoga Å¡to Nmap u stvari vidi. Npr., ukoliko Nmap−om skenirate neku mrežu, dok ste fiziÄki spojeni na nju, Nmap bi mogao reÄi da je port 135 otvoren, dok bi isti taj sken u sluÄaju da tu istu mrežu skenirate s interneta, najvjerovatnije rekao da je port filtriran (nalazi se iza vatrozida ili paket filtera).

Å est stanja portova kako ih Nmap prepoznaje

otvoren

Aplikacija aktivno prihvaÄa TCP konekcije ili UDP pakete na navedenom portu. To je ujedno i cilj skoro svakog skeniranja. Osobe koje se bave sigurnoÅ¡Äu znaju da je svaki otvoreni port, potencijalno mjesto napada. NapadaÄi i penetration testeri žele iskoristiti otvorene portove, dok ih administratori pokuÅ¡avaju zatvoriti ili zaÅ¡tititi vatrozidima, bez da zabrane pristup legitimnim korisnicima. Skeniranje otvorenih portova je zanimljivo ne samo za sigurnosne skenove, veÄ i u sluÄaju kad želite saznati koji servisi i aplikacije su dostupni na mreži.

zatvoren

Zatvoreni port je dostupan (odgovorio je na Nmap−ov upit), ali na njemu ne sluÅ¡a niti jedna aplikacija. Zatvoreni port nam govori da se na toj IP adresi nalazi host koji je upaljen, koji najvjerovatnije nije iza vatrozida ili paket filtera, a to nam može pomoÄi i i otkrivanju verzije OS−a. Kako su zatvoreni portovi dostupni (nitko nam nije zabranio pristup do njih), isplati se kasnije ponoviti sken, jer možda Äe kasnije biti otvoreni. Administratori se trude zabraniti pristup takvim portovima koriÅ¡tenjem vatrozida i paket filtera, u tom bi sluÄaju port bio filtriran, a ne zatvoren (Å¡to je objaÅ¡njeno u nastavku).

filtriran

Nmap ne može ustanoviti da li je port otvoren ili ne, jer neki ureÄaj (vatrozid, pravila na ruteru, paket filter) blokira upite prema tom portu. Ti su portovi frustrirajuÄi za hakere, jer ne daju gotovo nikakve informacije. Ponekad odgovaraju s ICMP porukom o greÅ¡ci poput tip 3 kod 13 (odrediÅ¡te je nedostupno − komunikacija administrativno zabranjena), ali filteri koji samo odbace paket i ne daju nikakav odgovor na njegu su najÄeÅ¡Äi. Zbog toga Nmap mora poslati upit viÅ¡e puta kako bi bio siguran da je paket odbaÄen zbog filtriranja, a ne zbog mrežnog zaguÅ¡enja te samim tim usporava skeniranje.

nefiltriran

Ovo stanje znaÄi da je port dostupan, ali Nmap ne može ustanoviti da li je otvoren ili zatvoren. Samo ACK sken (koji se koristi za otkrivanje pravila na vatrozidu može vratiti nefiltriran kao odgovor. Skeniranje nefiltriranih portova nekom drugom metodom (poput Windows skena, SYN skena ili FIN skena može dati odgovor na pitanje da li je port otvoren ili zatvoren.

otvoren|filtriran

Nmap okarakterizira port ovim stanjem kada nije u moguÄnosti ustanoviti da li je port otvoren ili filtriran. To se dogodi u situacijama kada na upit ne dobije nikakav odgovor. Nedostatak odgovora može znaÄiti da je paket filter odbacio paket i/ili bilo kakav odgovor koji je taj paket inicirao. Samim tim Nmap nije siguran da li je port otvoren ili filtriran. UDP, IP protokol, FIN Null i Xmas scan mogu klasificirati port ovim stanjem.

zatvoren|filtriran

U sluÄaju kad Nmap ne može ustanoviti da li je port zatvoren ili filtriran, okarakterizirat Äe ga ovim stanjem. IPID Idle Scan je jedina sken metoda koja može vratiti ovakav rezultat.

TEHNIKE SKENIRANJA PORTOVA

Kako nisam previÅ¡e viÄan popravcima na automobilu, mogu potroÅ¡iti sate i sate samo da naÄem odgovarajuÄi alat (poput ÄekiÄa, ljpljive trake, kljuÄa isl.). Nakon Å¡to odustanem od smjeÅ¡nih pokuÅ¡aja da neÅ¡to popravim i odvezem auto kod stvarnog mehaniÄara, zaÄuÄen sam kako jednostavno i nadasve uspjeÅ¡no izvadi iz velike kutije s alatatom baÅ¡ onaj koji je potreban za uspjeÅ¡an popravak. Umjestnost skeniranja portova je sliÄna. StruÄnjak razumije mnoÅ¡tvo tehnika skeniranja i odabere baÅ¡ onu (ili kombinaciju viÅ¡e tehnika) koja je odgovarajuÄa za odreÄeni posao. Neiskusni korisnisi i script kiddies (osobe koje koriste skripte koje je napisao netko drugi ne razumijevajuÄi Å¡to i kako te skripte rade), pokuÅ¡avaju sve rijeÅ¡iti defaultnim SYN skanom. Kako je Nmap besplatan program, jedina prepreka izmeÄu Vas i masteriranja port skeninga je znanje. To je definitivno suprotno od automehaniÄarskog posla, u kojem recimo mož ete znati da Vam treba zraÄni kompresor, ali to ne umanjuje Äinjenicu da ga trebate i kupiti.

VeÄina tipova skeniranja koje nmap podržava dostupni su privilegiranim korisnicima (morate biti ulogirani kao administrator). To je zbog toga jer Å¡alju sirove (RAW) pakete koji zahtjevaju root pristup u UNIX svijetu. KoriÅ¡tenje administratorskog korisniÄkog accounta je preporuÄeno na windows operativnim sustavima, mada Nmap ponekad radi i s neprivilegiranim korisnicima, ako je WinPCap prethodno instaliran na sustav i aktivan. Zahtjev za root privilegijama je bila ozbiljna prepreka kad je Nmap prvi put puÅ¡ten u javnost 1997. godine, jer je veÄina korisnika imala pristup dijeljenim shell accountima. Sada je svijet drugaÄiji. Kompjutori su jeftiniji, veÄi broj ljudi ima stalni pristup internetu, a desktop UNIX sustavi su dominantni (ukljuÄujuÄi linux i MAC OS X). Windows verzija Nmap−a je takoÄer dostupna, te je samim tim i Nmap dostupniji veÄem broju korisnika. Zbog svih tih razloga, sve je manja potreba korisnika da pokreÄu Nmap logirani sa dijeljenim shell accountima. To je naravno super stvarm jer je Nmap pokrenut pod accountom privilegiranog korisnika mnogo moÄniji i fleksibilniji.

Iako Nmap pokuÅ¡ava reproducirati ispravan rezultat svojih skenova, imajte na umu da su sve unutraÅ¡nje komponente Nmap−a bazirane na paketima vraÄenim od ciljanih raÄunala (ili firewall ureÄaja ispred njih). Neki hostovi mogu biti nepouzdani i podeÅ¡eni na naÄin da vrate pakete koji Äe zavarati Nmap i dati krivi rezultat. JoÅ¡ ÄeÅ¡Äi su hostovi koji ne podržavaju RFC standard, te ne odgovaraju onako kako Nmap oÄekuje od njih. FIN, Null i Xmas skenovi su pogotovo podložni tim problemima. Problemi poput gore navedenih su specifiÄni za pojedine tipove skeniranja i o tome se raspravlja u svakoj od tih tehnika skeniranja.

Ovo poglavlje dokumentira hrpu tehnika skeniranja portova koje podržava Nmap. Samo jedna od spomenutih metoda može biti koriÅ¡tena u jednom trenutku, osim UDP skena (−sU) koji može biti kombiniran s bilo kojom od TCP sken matoda. Radi lakÅ¡eg pamÄenja, opcije skeniranja portova su u obliku −sC, gdje je C vidljiv iz samog naziva sken tipa i obiÄno je to prvo slovo. Jedini izuzetak je FTP bounce scan (−b). Defaultno, Nmap radi SYN scan iako Äe ga zamijeniti s Connect() skenom, ako korisnik nema odgovarajuÄe ovlasti slanja raw paketa (root pristup na UNIX sustavima) ili ako je specificirana IPv6 kao ciljana IP adresa. Od svih navedenih tipova skenova u ovom poglavlju, neprivilegirani korisnik može pokrenuti samo Connect() i FTP bounce scan.

−sS (TCP SYN scan)

SYN scan je defaultni i najpopularniji naÄin skeniranja i to zbog opravdanih razloga. Može ga se izvesti brzo, može skenirati tisuÄe portova u sekundi na brzim mrežama koje nisu optereÄene firewall ureÄajima koji utjeÄu na kretanje paketa. SYN scan je relativno neagresivan i nevidljiv, jer nikad ne zavrÅ¡i TCP konekciju (ne uspostavi trostruko rukovanje do kraja). TakoÄer je jednako efikasan na svim implementacijama TCP stacka, jer ne ovisi o specifiÄnim platformama kao Å¡to je to sluÄaj kod Nmap−ovog Fin/Null/Xmas, Maimon i Idle skena. TakoÄer je u moguÄnosti Äisto i pouzdano razluÄiti izmeÄu otvorenog, zatvorenog i filtriranog stanja porta.

Tehnika SYN scana se najÄeÅ¡Äe naziva poluotvoreno skeniranje, jer nikad ne uspostavite potpunu TCP konekciju. Naime, poÅ¡aljete SYN paket, kao Å¡to bi ga poslali u sluÄaju da želite uspostaviti stvarnu TCP konekciju i Äekate na odgovor. Ako kao odgovor dobijete SYN/ACK, znaÄi da postoji aplikacija koja sluÅ¡a na tom portu (port je otvoren), dok RST (reset) znaÄi da ne postoji aplikacija koja sluÅ¡a na tom portu (port je zatvoren). Ukoliko i nakon nekoliko ponovnih slanja upita nema nikakvog odgovorar, port je okarakteriziran kao filtriran. Port je takoÄer oznaÄen kao filtriran ako kao odgovor doÄe ICMP unreachable error (ICMP nedostupan − tip 3, kodovi 1, 2, 3, 9, 10 ili 13).

−sT (TCP connect() scan)

TCP Connect() scan je defaultni TCP tip skeniranja ukoliko je SYN scan nedostupan. To se dogaÄa u sluÄajevima kad korisnik nema privilegiju slanja raw paketa ili kad je skenirani host na IPv6 mreži. Umjesto da Å¡alje raw pakete, kao Å¡to to radi veÄina drugih tipova skeniranja, Nmap zatraži operativni sustav da uspostavi konekciju s ciljanim raÄunalom na poru kojiželimo skenirati, na naÄin da poÅ¡alje connect() sistemski poziv. To je isti sistemski poziv koji koriste web preglednici, P2P klijenti i veÄina drugih mrežnih aplikacija kad ž ele uspostaviti konekciju. Dio je programskog unosa poznatog kao Berkeley Sockets API. Umjesto da iÅ¡Äitava raw pakete Nmap koristi navedeni API kako bi dobio statusne informacije svake pokuÅ¡ane konekcije.

Ukoliko je SYN scan dostupan, obiÄno je i bolji odabir. Naime, Nmap ima puno manje kontrole nad connect() API pozivom, nego nad raw paketima, te je samim tim Nap manje efikasan. Sistemski poziv napravi potpunu konekciju na otvorene portove ciljanog raÄunala umjesto da napravi reset kao Å¡to je sluÄaj kod SYN skena. Tim postupkom ne samo da gubimo viÅ¡e vremena kako bi saznali da li su portovi otvoreni ili ne, nego postoji i veÄa vjerovatnost dsa Äe host zapisati u log pokuÅ¡aj spajanja. Äinjenica je da Äe svaki IDS sustav logirati i SYN i Connect scan, ali isto tako je Äinjenica da veÄina raÄunala nema IDS sustav. VeÄina servisa na UNIX−oidima Äe dodati zapis u syslog i (ponekad) kriptiÄnu poruku o greÅ¡ci, kad se Nmap spoji i odmah odspoji bez slanja podataka. Jadno napisani servisi se skrÅ¡e kad se to dogodi, mada je to stvarno rijetkost. Administrator koji vidi hrpu pokuÅ¡aja spajanja u logovima koji su svi inicirani s jednog hosta, odmah Äe znati da je netko skenirao portove Connect() metodom.

−sU (UDP skenovi)

Iako veÄina popularnih servisa na internetu korisiti TCP protokol, UDP [6] servisi su isto tako Å¡iroko zastupljeni. DNS, SNMP i DHCP (registrirani portovi 53, 161/162 i 67/68) su tri najpoznatija. Zbog toga Å¡to je UDP skeniranje mnogo sporije i teže za izvesti nego TCP, neki sigurnosni auditori, ignoriraju UDP portove. To je velika pogreÅ¡ka, jer su exploitabilni UDP servisi Äesta pojava i napadaÄi ih sigurno neÄe ignorirati. SreÄom, Nmap može pomoÄi u istraživanju UDP portova.

UDP scan aktivirate naredbom −sU. Može biti kombinirana s TCP skenom poput SYN skena ( −sS), kako bi oba protokola bili provjereni “jednim udarcem”.

UDP scan radi na naÄin da poÅ¡alje prazan UDP header (bez podataka) na svaki ciljani port. Ukoliko je vraÄen ICMP port unreachable (ICMP nedostupan port) i to tip 3 kod 3, onda je port zatvoren. Druge ICMP greÅ¡ke (tip 3, kodovi 1, 2, 9, 10 ili 13) oznaÄavaju port kao filtriran.Povremeno Äe servis odgovriti s UDP paketom, dokazujuÄi da je port otvoren. Ukoliko nakon nekoliko retransmisija nema nikakvog odgovora, port je okarakteriziran kao otvoren|filtriran. To znaÄi da bi port mogao biti otvoren ili možda paket filteri blokiraju promet prema njemu. Version scan (−sV) može pomoÄi da se ustanovi koji portovi su stvarno otvoreni, a koji su filtrirani.

Veliki izaziv kod skeniranja UDP portova je napraviti ti brzo. Otvoreni i filtrirani portovi rijetko poÅ¡alju ikakav odgovor, ostavljajuÄi Nmap da napravi time out, te nakon toga ponovno poÅ¡alje paket u sluÄaju da je prethodni iz bilo kojeg razloga bio izgubljen. Zatvoreni portovi su Äesto joÅ¡ veÄi problem. Oni najÄeÅ¡Äe poÅ¡alju kao odgovor ICMP port unreacheble greÅ¡ku. No, za razliku od RST paketa koje poÅ¡alju zatvoreni portovi na TCP protokolu kao odgovr na SYN ili Connect() scan, mnogi hostovi ograniÄavaju ICMP port urnreachable poruku po defaultu. Linnux i Solaris su jako striktni vezano za to. Tako npr. Linux 2.4.20 kernel ograniÄava destination unreachable poruku na jednu po sekundi (u net/ipv4/icmp.c biblioteci)..

Nmap pokuÅ¡ava ustanoviti da li je to sluÄaj i smanjuje brzinu skeniranja veano uz to, kako bi sprijeÄio zaguÅ¡ ivanje nekorisnim paketima koje Äe ciljano raÄunalo tako i tako tiho odbaciti. Nažalost, spomenuti limit koji je postavljen kod linuxa, znaÄi da Äe skeniranje svih 65536 portova trajati viÅ¡e od 18 sati. Ideja ubrzavanja UDP skena je da se paralelno skenira viÅ¡e hostova, na naÄin da se najprije skleniraju najpopularniji portovi na brz naÄin, skenirajuÄi iza firewall−a i koristeÄi −−host−timeout kako bi se izbjegli spori hostovi.

−sN; −sF; −sX (TCP Null, FIN i Xmas skenovi)

Ova tri tipa skenova (moguÄe ih je postiÄi i viÅ¡e koriÅ¡tenjem −−scanflags opcije opisane u sljedeÄoj sekciji) iskoriÅ¡tavaju rupu u standardu TCP RFC [7] , kako bi razluÄili koji port je otvoren, a koji zatvoren. Na strani 65 piÅ¡e: “Ukoliko je stanje odrediÅ¡nog porta ZATVORENO … dolazeÄi segment koji ne sadrži RST prouzroÄuje da RST bude poslan kao odgovor.” Na iduÄoj stranici se raspravlja o paketima poslanim na otovorene portove bez upaljenih SYN, RST ili ACK bitova i kaže da: “najvjerovatnije se neÄete naÄi u takovoj situaciji, ali ako se naÄete, jednostavno odbacite paket.”

Kod skeniranja sistema koji su kompatibilni s tim RFC tekstom, svaki paket koji u sebi ima upaljene bitove SYN, RST ili ACK rezzultirat Äe vraÄenim RST paketom ako je port zatvoren, a neÄe dati nikakav odgovor, ako je port otvoren. Dok god nije upaljen niti jedan od tih bitova, bilo koja kombinacija druga tri bita (FIN, PSH i URG) je u redu. Nmap to iskoriÅ¡tava s tri dolje navedena tipa skeniranja:

Null scan (−sN)

Ne ukljuÄuje niti jedan od bitova (TCP oznaka zaglavlja je 0)

FIN scan (−sF)

UkljuÄuje samo TCP FIN bit

Xmas scan (−sX)

UkljuÄuje FIN, PSH i URG flagove, “osvjetljavajuÄi” paket kao božiÄno drvce. (op. prev. Xmas=BožiÄ

Sva tri tipa skeniranja su potpuno ista Å¡to se ponaÅ¡anja tiÄe, samo Å¡to su im upaljene razliÄite TCP oznake u paketima. Ukoliko je kao odgovor dobiven RST paket, port se smatra zatvorenim, dok situacija u kojoj nema odgovora, smatra da je port otvoren|filtriran. Port je oznaÄen kao filtriran, ako je odgovor na scan ICMP unreachable greÅ¡ka (tip 3, kodovi 1, 2, 3, 9, 10 ili 13).

Glavna prednost ovih tipova skeniranja je ta da mogu “proviriti” kroz neke ne stateful firewall ureÄaje i paket filtering rutere. Druga prednost im je ta da su joÅ¡ viÅ¡e nevidljivi od SYN skena. No, nemojte se u to pouzdavati, jer veÄina modernih IDS sustava može biti konfigurirana da ih prepozna. Veliki nedostatak je da ne podržavaju svi sistemi RFC 793 do zadnjeg slova, pa tako veÄina sustava odgovara RST paketom bez obzira na to da li je port otvoren ili nije. Kod takvih sustava su svi portovi koje Nmap skenira okarakterizirani kao zatvoreni. VeÄina operativnih sustava koji se tako ponaÅ¡aju su Microsoft Windows, veÄina Cisco ureÄaja, BSDI i IBM OS/400. No, ovaj tip skeniranja radi na veÄini UNIX sustava. Dodatan nedostatak ovih tipova skenova je taj Å¡to ne mogu razlikovati otvorene portove od nekih filtriranih, te kao odgovor dobijete otvoren|filtriran, pa si vi mislite…

−sA (TCP ACK scan)

Ovaj tip skeniranja razlikuje se od ostalih do sad opisanih po tome Å¡to nikad ne otkrije otvorene ili Äak otvorene|filtrirane portove. Namjena mu je mapirati pravila firewall−a, tj. da zakljuÄi da li je firewall stateful, te koji su portovi filtrirani.

Kad je u pitanju ACK scan, onda je upaljena samo ACK zastavica (flag) (osim ako koristite −−scanflags ). Kad skenirate nefiltrirane hostove, otvoreni i zatvoreni portovi Äe vratiti RST paket. Nmap ih u tom sluÄaju oznaÄi kao nefiltrirane, Å¡to znaÄi da su dostupni ACK paketima, ali nije definirano da li su otvoreni ili zatvoreni. Portovi koji ne odgovaraju na upite ili poÅ¡alju odreÄene ICMP greÅ¡ke (tip 3, kod 1, 2, 3, 9, 10 ili 13) su oznaÄeni kao filtrirani.

−sW (TCP Window scan)

Window scan je sliÄan ACK scanu, samo Å¡to exploatira implamentacijske detalje operativnih sustava kako bi razluÄio otvorene portove od zatvorenih, umjesto da uvijek ispiÅ¡e nefiltriran kad dobije RST kao odgovor. To radi na naÄin da pregleda TCP Window polje RST paketa koji je dobio. Na nekim sustavima otovreni portovi koriste pozitivnu veliÄinu prozora (Äak i za RST pakete), dok zatvoreni portovi imaju prozor veliÄine 0. Dakle, umjesto da uvijek oznaÄi port kao nefiltriran kad dobije RST kao odgovor, Window scan oznaÄi portove kao otvorene ili zatvorene, ovisno o tome da li je veliÄina prozora pozitivna ili 0.

Ovaj naÄin skeniranja se pouzdaje u implementacijske detalje nekih operativnih sustava, tako da mu ne morate uvijek vjerovati. Sistemi koji su “otporni” na ovaj naÄin skeniranja obiÄno Äe vratiti sve portove kao zatvorene. Naravno isto tako je moguÄe da raÄunal stvarno nema otovrenih portova. Ukoliko je veÄina portova zatvorena, ali ima onih koji su oznaÄeni kao filtrirani, (npr. ÄeÅ¡Äe koriÅ¡teni portovi poput 22, 25, 53) , sustav je podložan ovom naÄinu skeniranja i rezultat je najvjerovatnije ispravan. Ukoliko pokrenete sken koji vam vrati 1000 zatvorenih portova i 3 otvorena ili filtrirana porta, najvjerovatnije su ta 3 porta uistinu i otvorena.

−sM (TCP Maimon scan)

Maimon scan je dobio naziv po osobi koja ga je otkrila − Uriel Maimon. Tehniku skeniranja je opisao u Äasopisu Phrack broj 49 (Studeni 1996). Nmap je izdan 2 godine kasnije i omoguÄavao je tu tehniku skeniranja. Tehnika je ista kao i Null, Xmas i FIN scan, osim Å¡to je paket koji se Å¡alje FIN/ACK. Po RFC dokumentu 793 (TCP), treba odgovoriti RST paketom, bez obzira da li je port otvoren ili zatvoren. No, Uriel je primjetio da veÄina BSD sistema jednostavno odbaci paket ako je port otvoren.

−−scanflags (Custom TCP scan)

Napredni Nmap korisnici nisu vezani uz poznate tipove skenova. −−scanflags opcija dozvoljava da dizajnirate vlastiti tip skeniranja, navodeÄi bilo koju kombinaciju TCP zastavica (flagova). Neka važi kreativni sokovi teku, dok izbjegavate otkrivanje svojih radnji od strane IDS sustava Äiji su autori samo proÅ¡li kroz Nmap opcije i dodali pravila koja prepoznaju navedene tipove skeniranja.

−−scanflags argument može biti brojÄana vrijednost poput 9 (PSH i FIN), ali koriÅ¡tenje simboliÄnih imena je jednostavnije. Jednostavno izmjeÅ¡ajte zajedno bilo koju kombinaciju zastavica (flagova) URG, ACK, PSH, RST, SYN i FIN. Npr.
−−scanflags URGACKPSHRSTSYNFIN
postavlja sve zastavice, ali nije pretjerano koristan za skeniranje. Redosljed navoÄenja zastavica je nebitan.

Uz navoÄenje željenih zastavica, možete navesti i bazni TCP tip skeniranja (poput −sA ili −sF), Å¡to Äe objasniti Nmap−u kako da interpretira odgovore. Npr. SYN scan tretira paket na koji nije dobio odgovor kao filtriran port, dok ga FIN scan tretira kao otvoren|filtriran. Nmap Äe se ponaÅ¡ati isto kao Å¡to se ponaÅ¡a kod specificiranog baznog skena, osim Å¡to Äe koristiti zastavice koje ste naveli. Ukoliko ne navedete bazni tip skeniranja, koristit Äe se SYN scan.

−sI (Idlescan)

Ova napredna metoda skeniranja omoguÄava slijepo skeniranje ciljanog raÄunala (niti jedan paket nije poslan na ciljano raÄunalo s vaÅ¡e stvarne IP adrese).Umjesto toga koristite zombie host raÄunalo i predvidljiv IP fragmentation ID na njemu kako bi dobili informaciju o tome koji su portovi otvoreni na ciljanom raÄunalu. IDS sustavi Äe pokazati da scan dolazi sa zombie maÅ¡ine kojju ste specificirali kod pokretanja ovog tipa skeniranja (zombie mora biti upaljen i mora zadovoljavati neke kriterije). Ovaj naÄin skeniranja je prekompleksan da bi ga ovdje opisali u potpunosti, pa sam napisao i postao informativni Älanak sa svim detaljima na https://nmap.org/book/idlescan.html.

Osim Å¡to je nevjerovatno nevidljiv (zbog naÄina na koji radi) ovaj tip skeniranja omoguÄava mapiranje IP baziranih pravila izmeÄu raÄunala. Ispis portova pokazuje otvorene portove kako ih vidi zombi raÄunalo. Dakle, možete koristiti viÅ¡e zombie raÄunala za skeniranje ciljanog raÄunala.

Možete staviti dvotoÄku i broj porta iza nje, kako bi na tom portu provjerili da li su IPID promjene predvidljive. Ukoliko to ne navedete, Nmap Äe koristiti standardni port za TCP pinganje (80).

−sO (IP protocol scan)

IP protokol scan Vam omoguÄava da provjerite koji IP protokoli (TCP, ICMP, IGMP isl.) su podržani na ciljanim maÅ¡inama. TehniÄki gledano, to i nije port scan jer prolazi kroz brojeve IP protokola, a ne kroz brojeve TCP i UDP portova. No ipak koristi opciju −p, kako bi odabrao skenirane brojeve IP protokola, ispisuje rezultate u normalnoj tabeli kao i kod skeniranja portova, pa Äak koristi i isti engine za skeniranje kao i kod skeniranja portova. Kad sve to uzmemo u obzir − ova metoda skeniranja je dovoljno sliÄna skeniranju portova, pa je stoga i ukljuÄena u ovo poglavlje.

Osim Å¡to je koristan sam po sebi, protokol scan pokazuje i snagu open source softvera. Iako je temeljna metoda vrlo jednostavna, nisam je mislio ukljuÄiti u Nmap, niti sam dobio zahtjev za tom funkcionalnoÅ¡Äu, sve dok u ljeto 2000, Gerhard Rieger nije razvio ideju, napisao izvanredan patch koji to implementira u Nmap i posalo na nmap−hakers listu. UkljuÄio sam taj patch u Nmap i pustio novu verziju veÄ drugi dan. Jako malo komercijalnog softvera ima korisnike koji su toliki entuzijasti da bi razvili vlastita poboljÅ¡anja za pojedine produkte!

Protokol scan radi vrlo sliÄno kao i UDP scan. Umjesto da prolazi kroz brojeve portova UDP paketa, Å¡alje IP pakete i prolazi kroz 8 bitnio polje samog IP protokola. Headeri (zaglavlja) su obiÄno prazni i ne sadrže nikakve podatke, pa Äak niti ispravni header za odreÄeni protokol. Izuzeci od tog pravila su TCP, UDP i ICMP protokol. Za te protokole je ukljuÄen ispravan protokol header (zaglavlje), jer neki sustavi u suprotonom ne žele poslati paket, tako da Nmap veÄ ima funkcije za kreiranje ispravnih headera. Umjesto da Äeka ICMP unreachable poruku, protokol scan traži ICMP protoKol unreachable poruku. Ukoliko Nmap dobije bilo kakav odgovor u bilo kojem protokolu od ciljanog raÄunala, Nmap oznaÄi taj protokol kao oOtvoren. ICMP protocol unreachable greÅ¡ka (tip 3, kod 2) oznaÄi protokol kao Zatvoren. Sve ostale ICMP poruke (tip 3, kod 1, 3, 9, 10 i 13) oznaÄe protokol kao filtriran (iako je to istovremeno dokaz da je ICMP protokol otvoren). Ukoliko ne doÄe nikakav odgovor nakon ponovnih pokuÅ¡aja slanja, protokol je oznaÄen kao otvoren|filtriran.

−b (FTP bounce scan)

Zanimljiva funkcionalnost FTP protokola (RFC 959 [8] ) je podrÅ¡ka za tzv. proxy ftp konekcije. To omoguÄuje korisniku da se spoji na jedan FTP server, te nakon toga zatraži da fileovi budu poslani na neki drugi FTP server. Ta funkcionalnost je sazrijela za napade na mnogo nivoa, tako da je veÄina servera prestala pružati podrÅ¡ku za to. Jedan od napada koji je izvediv je taj da omoguÄava napadaÄu natjerati FTP server da skenira druge FTP servera u potrazi za otvorenim portovima. Jednostavno zatražite od FTP servera da poÅ¡ alje datoteku na svaki od portova koji vas zanima na ciljanom raÄunalu. Poruka o greÅ¡ci koju Äete dobiti Äe vam raÄi da li je port otvoren ili nije. To je ujedno i dobar naÄin obilaženja firewall−a (vatrozida), jer su mnogi FTP serveri smjeÅ¡teni tamo gdje imaju veÄi pristup unutraÅ¡njim raÄunalima, nego bilo koje raÄunalo s interneta. Nmap podržava FTP bounce scan s opcijom −b. Prima parametar u sljedeÄem obliku: username: password@server:port. Server je naziv ili IP adresa ranjivog FTP servera. Kao i kod normalnog URL−a, možete zanemariti username:password, te Äete se u tom sluÄaju spojiti kao anonymous user i koriste se sljedeÄi parametri anonymous password:−wwwuser@. Broj porta i dvotoÄka ispred njega takoÄer mogu biti zanemarini, a u tom sluÄaju Äete se spojiti na standardni FTP port (21).

1997., kad je Nmap lansiran, ova ranjivost je bila Å¡iroko rasprostranjena, ali do sad je uglavnom “pokrpana” na veÄini raÄunala. Ipak, joÅ¡ uvijek postoji ranjivi serveri, pa nije loÅ¡e pokuÅ¡ati i ovu opciju kad sve oostale zataje. Ukoliko je obilaženje vatrozida vaÅ¡ cilj, skenirajte ciljanu mrežu za otvorenim portom 21 (ili bilo koji ftp servis, ako skenirate sve portove s otkrivanjem verzije programa − version detection), te nakon toga pokuÅ¡ajte ftp bounce scan. Nmap Äe vam reÄi da li je host ranjiv ili nije. Ukoliko samo pokuÅ¡avate sakriti tragove, ne biste trebali (u stvari ne biste smjeli) skenirati samo hostove na ciljanoj mreži. No, prije nego nasumiÄno poÄnete skenirati za ranjivim ftp serverima na internetu, imajte na umu da veÄina sysadmina neÄe cijeniti Å¡to im “iskoriÅ¡tavate” servere na taj naÄin

SPECIFIKACIJA PORTOVA I REDOSLJED SKENIRANJA

Uz sve do sad nabrojane metode skeniranja, Nmap nudi opcije pomoÄu kojih možete specificirati koje portove želite skenirati, da li Äe skeniranje portova biti nasumiÄno ili sekvencionalno. Defaultno Nmap skenira sve portove od 0 do 1024 (ukljuÄujuÄi i njih) kao i sve portove iznad 1024 koji su navedeni u nmap−services datoteci.

−p (Skeniraj samo navedene portove)

PomoÄu ove opcije možete odabrati koje portove Äete skenirati i na taj naÄin obiÄi defaultne postavke. Možete unijeti pojedinaÄne brojeve i/ili niz brojeva odvojenih minusom (npr. 1−1023).Ukoliko ž elite skenirati sve portove možete napisati samo parametar −p− i Nmap Äe skenirati sve portove od 1−65535. Port 0 je moguÄe skenirati jedino ako ga navedete. Kad je u pitanju IP protokol scan (−sO), opcija −p definira koji protokol želite skenirati (od 0−255).

Kad skenirate i TCP i UDP portove zajedno, možete navesti identifikator protokola na naÄin da prije brojeva portova stavite identifikator T: za TCP porove ili U: za UDP portove. Parametar vrijedi sve dok ne navedete neki drugi. Npr. možete napisati −p U:53,111,137,T:21−25,80,139,8080. Na taj bi naÄin skenirali UDP portove 53, 111 i 137, kao i TCP portove 21−25, 80, 139 i 8080. Imajte na umu da morate navesti parametar −sU i bar jedan TCP tip skeniranja (kao npr. −sS, −sF ili −sT) kako bi mogli istovremeno skenirati i TCP i UDP portove. Ukoliko niste naveli identifikator protokola, navedeni portovi Äe biti skenirani i po TCP i po UDP protokolu.

−F (brzi scan (s ograniÄenim portovima))

Ova opcija kaže Nmapu da skenira samo portove navedene u nmap−services datoteci, koja dolazi s Nmap−om. (ili protokol datoteke kad je u pitanju opcija −sO ) To je mnogo brže nego skeniranje svih 65535 portova. Kako navedeni popis ima preko 1200 TCP portova, razlika u brzini izmeÄu ove opcije i defaultnog TCP scana (koji ima oko 1650 portova) nije dramatiÄna. Razlika može biti osjetno velika ako koristite svoju nmap−services datoteku koristeÄi opciju −−datadir

−r (Ne mijeÅ¡aj portove)

Defaultno, Nmap nasumiÄno odabire potove koje skenira (osim nekih standardnih portova koji su stavljeni na poÄetak zbog efikasnosti). To “mijeÅ¡anje” portova je u normalnim situacijama poželjno, ali pomoÄu ove opcije možete skenirati portove baÅ¡ onim redosljedom kojim ste ih naveli.

PREPOZNAVANJE SERVISA I NJIHOVIH VERZIJA

Skenirajte neko raÄunalo pomoÄu Nmap−a i mogao bi vam reÄi da su portovi 25/tcp, 80/tcp i 53/tcp otvoreni. KoristeÄi nmap−services bazu podataka u kojoj se nalazi preko 2200 poznatih servisa, Nmap Äe vam reÄi da su na navedenim portzovima najvjerovatnije mail server (SMTP), web server (HTTP) i name server (DNS). To je u veÄini sluÄajeva ispravno, veÄina servera koji sluÅ¡aju na portu 25 su uistinu mail serveri, ali nemojte biti 100% sigurni u to, jer postoje ljudi koji pokreÄu servise na “Äudnim” portovima.

Ako je Nmap ipak u pravu i server o kojem je rijeÄ ima pokrenut SMTP, HTTP i DNS server, to ipak nije pretjerano mnogo informacija. Ukoiko radite pregled ranjivosti (vulnerability assessment) ili samo jednostavan inventar mrež nih servisa na raÄunalima u firmi, Äinjenica je da trebate mnogo viÅ¡e informacija od gore navedenih. Želite znati koje verzije mail, HTTP i DNS servera su pokrenute na tom raÄunalu. Kad imate “pri ruci” ispravnu verziju serverske komponente nije teÅ¡ko ustanoviti koje ranjivosti dotiÄni server ima. Otkrivanje verzije vam pomaže u dobivanju tih informacija.

Nakon Å¡to ste otkrili koji TCP i/ili UDP portovi su otvoreni koriÅ¡tenjem neke od do sad opisanih tehnika, otkrivanje verzije ispituje te portove ne bi li otkrilo Å¡to je u stvari na tim portovima, tj. koja aplikacija je otvorila dotiÄpne portove. nmap−service−probes baza podataka sadži upite za ispitivanje raznih servisa i prepoznavanje na osnovu odgovora koje dobije. Nmap pokuÅ¡ava ustanoviti protokol na kojem radi servis (npr. ftp, ssh, telnet, http), naziv aplikacije (npr. ISC Bind, Apache, httpd, Solaris telnetd) , verziju, naziv hosta, tip ureÄaja (npr. printer, ruter), porodicu iz koje dolazi OS (npr. Windows, Linux) i ponekad neke detalje poput toga da li je otvoren X server, verziju protokola koju koristi SSH ili KaZaA korisniÄko ime. Naravno, veÄina servisa ne daje sve te informacije. Ukoliko je Nmap kompajliran s podrÅ¡kom za OpenSSL protokol, spojit Äe se na SSL servere kako bi ustanovio servise koji se nalaze iznad enkripcijskog sloja. Ako su otkriveni RPC servisi, Nmap RCP istraživaÄ (−sR) je automatski ukljuÄen kako bi otkrio koji program se nalazi iz RPC−a i koja mu je verzija. Neki UDP portovi su oznaÄeni s otvoren|filtriran, ako UDP scan nije mogao odrediti da li je port otvoren ili filtriran. Otkrivanje verzije Äe pokuÅ¡ati dobiti odgovor s tih portova (isto kao Å¡to to radi i kod otvorenih portova), te Äe promijeniti njihovo stanje u otvoren ako uspije dobiti odgovor. TCP portovi koji su okarakterizirani kao otvoreni|filtrirani, tretirani su na isti naÄin. Imajte na umu da opcija −A omoguÄije otkrivanje verzije uz ostale stvari koje podržava. Dokument koji objaÅ¡njava rad, koriÅ¡tenje i mijenjanje ovog dijela programa je dostupan na linku: https://nmap.org/vscan/.

Kad Nmap dobije odgovr od servisa, a ne može ga usporediti s ni jednim zapisom u svojoj bazi podataka, ispisat Äe scepijalni “fingerprint” i URL linka na koji ga možete poslati ukoliko ste sigurni u to Å¡to se nalazi na tom portu. Molim vas da odvojite nekoliko minuta svog vremena kako bi poslali te informacije, jer Äe kasnije nekom drugom biti od velike koristi. ZahvaljujuÄi upravo takvom naÄinu prikupljanaj informacija, Nmap ima preko 3000 zapisa koji odgovaraju (prepoznavaju) preko 350 protokola, poput smtp−a, ftp−a, http−a, itd..

Otkrivanje verzije se ukljuÄuje i njime se upravlja koriÅ¡tenjem sljedeÄih opcija:

−sV (Otkrivanje verzije)

UkljuÄuje otkrivanje verzije, kao Å¡to je opisano gore. Kao zamjenu, možete koristiti opciju −A da bi istovremeno ukljuÄili OS detekciju i otkrivanje verzije servisa.

−−allports (koristi sve portove u otkrivanju verzije servisa)

Nmap−ovo otkrivanje verzije servisa preskaÄe port 9100, jer neki printeri jednostavno isprintaju sve Å¡to se poÅ¡alje na taj port, Å¡to rezultira s hrpom stranica na kojima su HTTP GET zahtjevi, binarni SSL zahtjevi isl. Ukoliko ipak želite koristiti i takve portove, možete to napraviti na naÄin da maknete Exclude naredbu u nmap−service−probes datoteci ili jednostavno ukljuÄite opciju −−allports, koja Äe ignorirati Exclude naredbu u nmap−services−probes.

−−version−intensity (podesite intenzitet otkrivanja verzije servisa)

Kad radite scan otkrivanja verzije (−sV), Nmap Å¡alje seriju upita od kojih je svakom dodijeljen broj od 1 do 9. Oni upiti koji imaju niže brojeve u efikasni kod veÄine Äesto koriÅ¡tenih servisa, dok su oni s viÅ¡im brojevima rijetko korisni. Nivo nntenziteta skeniranja odreÄuje koji upiti Äe biti koriÅ¡teni. Å to je veÄi broj, to je veÄa vjerovatnost da Äe servis biti ispravno identificiran. No, takvi skenovi traju duže. Intenzitet mora biti izmeÄu 0 i 9. Preddefinirana vrijednost je 7. Ukoliko je upit registriran u nmap−service−probes ports naredbi, bit Äe isproban bez obzira na nivo intenziteta. To garantira da Äe DNS upiti uvijek biti odraÄeni na portu 53, SSL na portu 443 itd.

−−version−light (omoguÄi “lagani” mod)

To je jednostavniji naÄin pozivanja opcije −−version−intensity 2. Lagani mod ubrzava skeniranje, ali je samim tim i manja vjerovatnost da Äe identificirati servis.

−−version−all (isprobaj sve upite)

Zamjena za opciju −−version−intensity 9. Isprobat Äe sve upite u bazi podataka

−−version−trace (prati sve Å¡to se dogaÄa tijekom skena)

Nmap ispiÅ¡e opÅ¡irne debug informacije o tome Å¡to trenutno radi opcija otkrivanja verzije servisa. To je dio onoga Å¡to Äete dobiti opcijom −−packet−trace.

−sR (RPC scan)

Ova metoda radi u sprezi s razliÄitim port scan metodama Nmap−a. Uzme sve TCP/UDP portove koji su identificirani kao otvoreni i preplavi ih sa SunRPC NULL naredbama pokuÅ¡avajuÄi ustanoviti da li su RPC portovi i ako jesu za koje programe rade. Stoga možete efikasno dobiti iste informacije kao i s naredbom rpcinfo −p, Äak i kad je ciljani portmapper iza firewall−a (ili zaÅ¡tiÄen TCP omotaÄima). Mamci trenutno NE rade s RPC skenom. To je automatski ukljuÄeno kao dio skeniranja verzije servisa (−sV). BuduÄi da otkrivanje verzije servisa samo po sebi veÄ ima ukljuÄenu ovu opciju, −sR se rijetko koristi.

OTKRIVANJE OS−A

Jedna od najpoznatijih odlika Nmapa je otkrivanje OS−a na ciljanom raÄunalu koriÅ¡tenjem TCP/IP stack otiska (engl. fingerprint). Nmap Å¡alje mnoÅ¡tvo TCP i UDP paketa na udaljeno raÄunalo i istražuje svaki bit vraÄenih paketa. Nakon Å¡to je uÄinio hrpu testova poput TCP ISN sampling, podrÅ¡ka i redosljed TCP opcija, IPID sampling i provjeru veliÄine inicijalnog TCP prozora, Nmap usporeÄuje rezultate s nmap−os−fingerprints bazom podataka s viÅ¡e od 1500 poznatih OS otisaka (engl fingerprint), te ispiÅ¡e detalje o OS−u ukoliko ga je uspio “pogoditi”. Svaki otisak sadrži neformatirani tekstualni opis OS−a i klasifikaciju u koju ulazi naziv izdavaÄa (npr. Sun), OS (npr. Solaris), generacija OS−a (npr. 10) i tip ureÄaja (opÄenite namjene, ruter, switch, igraÄa konzola isl.).

Ukoliko Nmap nije u stanju odrediti koji OS je pokrenut na ciljanom raÄunalu, a uvjeti su dobri (npr. postoji barem jedan otvoreni port na raÄunalu), Nmap Äe vam ponuditi URL link preko kojeg možete poslati otisak ukoliko ste sigurni u to koji OS se nalazi na tom raÄunalu. Na taj naÄin pomažete u nastojanjima da Nmap nauÄi raspoznati Å¡to je moguÄe viÅ¡e sistema i samim tim postane precizniji u pogaÄanju.

Otkrivanje OS−a omoguÄava joÅ¡ neke dodatne testove koji koriste informacije prikupljene tijekom procesa pogaÄanja. Jedan od tih dodatnih testova je i vrijeme od kad je upaljeno raÄunalo (uptime), koji koristi TCP timestamp opciju (RFC 1323) kako bi pogodio kad je raÄunalo zadnji put resetirano.To je prikazano samo za ona raÄunala koja daju tu informaciju. Drugi test je predvidljivost TCP sekvenci. Taj test mjeri koliko je teÅ¡ko uspostaviti lažiranu TCP vezu s udaljenim raÄunalom. To je korisno ukoliko želite iskoristiti povjerenje bazirano na ishodiÅ¡noj IP adresi (recimo kod rlogin−a, vatrozida, filtera itd.) ili u situacijama kada želite sakriti svoje tragove. Ovaj naÄin prikrivanja se danas rijetko koristi, no joÅ¡ uvijek postoji velika koliÄina raÄunala koja su ranjiva. Stvarni broj “težine” je baziran na statistiÄkom skupljanju podataka i varira. ObiÄno je bolje koristiti klasifikaciju poput “popriliÄan izazov” i “toliko jednostavno da je smijeÅ¡no” . Ovakakv naÄin izvjeÅ¡tavanja dobit Äete u normalnom ispisu kad ukljuÄite verbose opciju (−v). Kad je verbose opcija ukljuÄena zajedno s −O, onda kao rezultat dobijete i izvjeÅ¡taj generiranja IPID sekvence. VeÄina raÄunala je u tzv. “inkrementalnoj” klasi, Å¡to znaÄi da sa svakim poslanim paketom uveÄaju ID polje IP zaglavlja. To ih Äini ranjivima na nekoliko naprednih naÄina sakupljanja informacija i napade zavaravanja (engl. spoofing).

Dokument u kojem je opisano kako radi, kako se koristi i kako se može prilagoditi otkrivanje verzije, dostupan je u podosta jezika na linku: https://nmap.org/osdetect/.

Otkrivanje OS−a se ukljuÄuje i upravlja sa sljedeÄim opcijama

−O (UkljuÄi otkrivanje OS−a)

Ova opcije ukljuÄi otkrivanje OS−a kako je opisano u prethodnom odlomku. Isto tak omožete koristiti opciju −A da istovremeno ukljuÄite otkrivanje OS−a i verzije

−−osscan−limit (ograniÄi otkrivanje OS−a samo na ciljeve koji obeÄavaju)

Otkrivanje OS−a je mnogo uÄinkovitije ako postoji bar jedan otvoren i zatvoren port. Ukoliko ukljuÄite ovu opciju, Nmap neÄe niti pokuÅ¡ati raditi otkrivanje OS−a na hostovima koji nisu zadovoljili ovaj kriterij. To vam može uÅ¡tedjeti mnogo vremena, pogotovo kod skeniranja s opcijom −P0 kad koristite mnogo ciljanih raÄunala. Ovu opciju možete koristiti samo su kombinaciji s opcijama −O ili −A.

−−osscan−guess; −−fuzzy (probaj pogoditi OS na osnovu rezultata)

Ukoliko Nmap nije naÅ¡ao idealan rezultat, ponekad ponudi najbliži rezultat koji bi mogao biti. Ukoliko odaberete neku od ovih opcija, Nmap Äe “pogaÄati agresivnije”.

VRIJEME ODAZIVA I PERFORMANSE

Jedan od najviÅ¡ih prioriteta tijekom razvijanja Nmap−a su performase. Defaultni scan (nmaphostname) nekog raÄunala na lokalnoj mreži traje petinu sekunde. To je manje od vremena koje vam je potrebno za treptaj oka, ali naravno kad skenirate 10 ili 100 tisuÄa hostova postane osjetno. Uz to, neki tipovi skenova, poput UDP skeniranja i otkrivanja verzijemogu to vrijeme popriliÄno produžiti. Isto tako skeniranje mogu usporiti i neke konfiguracije vatrozida, pogptovo limitiranje koliÄine odgovora u jedinici vremena.Iako Nmap koristi paralalno izvrÅ¡avanje skenova kako bi ih dodatno ubrzao, sam korisnik ima potpunu kontrolu nad time. Napredni korisnici pažljivo kombiniraju Nmap naredbe kako bi dobili samo informacije koje im trebaju poÅ¡tivajuÄi vremenske termine koje su si zadali.

Tehnike za ubrzavanje skeniranja sastoje se od toga da izbacite nepotrebne testove i naravno da nadogradite Nmap na posljednju verziju (poboljÅ¡anja performansi se konstantno rade). Optimiziranje vremena odziva (engl. Timing) takoÄem može utjecati na brzinu skeniranja. Opcije slijede:

−−min−hostgroup ; −−max−hostgroup (PodeÅ¡ava veliÄinu grupe paralelnih skenova)

Nmap ima moguÄnost skeniranja viÅ¡e hostova paralelno. To radi na naÄin da podijeli adresni prostor ciljanih raÄunala u grupe i onda skenira grupu po grupu. U principu ispada da su veÄe grupe uÄinkovitije. Nedostatak je taj Å¡ to rezultati ne mogu biti prikazani dok cijela grupa nije odskenirana do kraja. Dakle, ako je Nmap krenuo skenirati grupu od 50 raÄunala, korisnik nrÄr vidjeti nikakve rezultate (osim onih koje ispisuje opcija −v) dok svih 50 hostova nije odskenirano.

Defaultno Nmap radi kompromis. PoÄinje s grupom od 5 hostova, tako da se prvi rezultati brzo pojave na ekranu, a nakon toga poveÄa veliÄinu grupe na 1024. ToÄan broj ovisi o ukljuÄenim opcijama. Zbog poveÄane efikasnosti Nmap koristi veÄe grupe za UDP skenove, a manje za TCP skenove.

Kad definirate maksimalnu veliÄinu grupe pomoÄu opcije −−max−hostgroup, Nmap je neÄe nikad premaÅ¡iti. Ukoliko pak specificirate minimalnu veliÄinu grupe s −−min−hostgroup, Nmap Äe pokuÅ¡ati zadržati veliÄinu grupe iznad tog nivoa. Naravno, ukoliko broj hostova koji su ostali za skeniranje bude manji od minimalne grupa Nmap Äe normalno odraditi svoj posao. Obje opcije možete koristiti istovremeno kako bi veliÄinu grupe zadržali u željenim okvirima, ali to je rijetko potrebno.

Primarna upotrenba ovih opcija je navoÄenje Å¡to veÄe minimalne veliÄine grupe kako bi skenovi brže odradili svoj posao. NajÄeÄÄi odabir je 256, kako bi skeniranje mreže iÅ¡lo u odsjeÄcima C klase. Za skenove u kojima se skenira mnogo portova, poveÄanje tog broja iznad 256 Äe rijetko pomoÄi. Ukoliko pak skenirate samo nekoliko portova, veliÄina grupe od 2048 ili viÅ¡e, može biti od pomoÄi.

−−min−parallelism ; −−max−parallelism (Podesi paralelizam)

Ove opcije upravljaju brojem sondi (engl. probe) koje mogu biti poslane po grupi hostova. Koriste se za skeniranje portova i otkrivanje hostova. Defaultno Nmap svaki put izraÄuna idealni paralelizam vezano uz mrežne performanse, a mijenja ga tijekom skena, ovisno o ujetima. Ukoliko dolazi do odbaÄenih paketa, Nmap uspori tj. Å¡alje manje sondi. Broj sondi polako raste ako mreža daje naznaku da može prihvatiti viÅ¡e od trenutnog broja. Ove opcije postavljaju minimalnu i maksimalnu granicu. Defaultno paralelizam može pasti na 1 ako je mreža nepouzdana ili narasti na nekoliko stotina, ako imamo idealne uvjete.

NajÄeÅ¡Äi naÄin upotrebe je da se podesi −−min−parallelism na broj veÄi od 1 kako bi se ubrzalo skeniranje sporijih hostova i mreža. To je ujedno i riskantna opcija, jer ako podesite prevelik broj, utjecat Äete na toÄnost skena. Isto tako, ukolik opodesite ovu opciju, sprjeÄavate Nmap da dinamiÄki upravlja paralelizmom vezano uz stvarne uvjete na mreži. Broj 10 ima smisla, ali osobno podeÅ¡avam tu vrijednost kad nemam niÅ¡ta drugo na rapolaganju.

Opcija −−max−parallelism stavite na 1 ukoliko želite sprijeÄiti Nmap da koristi paralelizam, tj. želite da Å¡alje samo jednu po jednu sondu.To može biti korisno u kombinaciji s opcijom −−scan−delay (objasnit Äemo je kasnije), mada ta opcija sama po sebi služi svrsi dovoljno dobro.

−−min−rtt−timeout , −−max−rtt−timeout , −−initial−rtt−timeout (Podesi vrijeme trajanja sondi)

Nmap pazi na vrijeme isteka da bi mogao ustanoviti koliko dugo Äe Äekati na odgovor sonde prije nego odustane ili ponovno pokuÅ¡a poslati istu sondu. To se izraÄunava na osnovu prethodnih sondi i vremenskog odaziva koji su imale. Ukoliko se mrežno kaÅ¡njenje pokaže znaÄajnim i promjenjivim, vrijeme isteka može narasti i na nekoliko sekundi. TakoÄer poÄinje na konzervativnom (visokom) nivou i takvo Äe ostati u sluÄaju da Nmap skenira hostove koji ne odgovaraju.

Ove opcije primaju vrijednost u milisekundama, ali vi možete navesti vrijeme u sekundama, minutama ili satima na naÄin da stavite opciju s, m ili h. NavoÄenje nižeg −−max−rtt−timeout i −−initial−rtt−timeout od defaultnog može osjetno skratiti vrijeme potrebno za skeniranje. To je posebno vidljivo kod (−P0) skenova i skenova prema jako filtriranim mrežama. Ipak, nemojte biti preagresivni, jer vam u tom sluÄaju skeniranje može i dulje potrajati, jer Äe Nmap ponovno slati sonde, a odgovr na prethodne je možda na putu nazad.

Ukoliko su svi hostovi na lokalnoj mreži, 100ms je razumna vrijednost za −−max−rtt−timeout _timeout. Ukoliko postoje ruteri izmeÄu Nmapa i hostova, najprije pingajte hosta s ICMP ping alatom ili s naprednijim alatom poput Hping2 koji ima veÄe moguÄnosti proÄi kroz vatrozid. Pogledajte koja je srednja vrijednost vremena portebnog da se paket vrati za 10−tak paketa. Tu vrijednost pomnožite s 2 za −−initial−rtt−timeout i s 3 ili 4 za −−max−rtt−timeout. Osobno ne postavljam maksimalni rtt ispod 100ms, bez obzira na vrijednosti koje dobijem pinganjem, niti stavljam viÅ¡e od 1000ms.

−−min−rtt−timeout je rijetko koriÅ¡tena opcija koja može biti korisna kod jako nepouzdanih mrež a na kojima su Äak i Nmap−ove defaultne postavke preagresivne. Kako Nmap spuÅ¡ta vrijeme isteka na minimum tek kad zakljuÄi da je mreža pouzdana, ovo bi trebalo prijeviti kao bug na nmap−dev mailing listu.

−−max−retries (Navedi maksimalni broj ponovnih slanja sondi)

Kad Nmap ne dobije odgovor na sondu koja skenira port, to može znaÄiti da je port filtriran ili to da je sonda ili odgovor na nju izgubljen na mreži. Isto tako je moguÄe da ciljani host ima podeÅ¡enu granicu na koliÄinu paketa na koje odgovara, pa je samo privremeno blokiran odgovor. Kako bi bio siuguran o Äemiu je rijeÄ, Nmap ponovno Å¡alje sonde na koje nije dobio odgovor. Ukoliko ustanovi da je mreža nepouzdana, može se dogoditi da poÅ¡alje sondu joÅ¡ mnogo puta prije nego odustane. Ovo je opcija koja daje toÄnije rezultate, ali isto tako i usporava postupak skeniranja. Kad je brzina skeniranja kljuÄna, možete koristiti ovu opciju kako bi ograniÄili broj ponovnih slanja sondi. Äak možete navesti i −−max−retries 0 kako bi u potunosti sprijeÄili ponovno slanje, makar je to rijetko preporuÄljivo.

Defaultna postavka (bez −T predloÅ¡ka) je 10 ponovnih slanja. Ukoliko se mreža pokaže pouzdanom i ciljani hostovi ne ograniÄavaju skeniranje, Nmap Äe napraviti samo jedno ponovno slanje. Gledano iz tog kuta, na veÄinu ciljanih raÄunala ne utjeÄe ako stavite −−max−retries na nizak broj poput 3. To je vrijednost koja može mnogostruko ubrzati skeniranje sporih hostova (onih koji ne dozvoljavaju mnogo port skenova s jedne IP adrese, nego ih jednostavno blokiraju). Istina je da obiÄno izgubite neke informacija ako Nmap prerano odustane od hosta, ali i to je bolje nego ostaviti −−host−timeout da istekne i izgibiti sve informacije o ciljanom hostu.

−−host−timeout (odustani od skeniranja sporih hostova)

Skeniranje nekih hostova jednostavno traje jako dugo. To može biti zbog loÅ¡eg mrežnog hardvera ili softvera, ograniÄavanju koliÄine paketa ili restriktivnih vatrozida. Nekoliko posto sporih hostova, mogu “pojesti” veÄinu vremena koje je potrebno za skeniranje. Ponekad je najbolje odustati od skeniranja takvih hostova kako bi stvar brže zavrÅ¡ila. To možete napraviti navoÄenjem parametra −−host−timeout s brojem milisekundi koliko ste voljni Äekati odgovor. Možete staviti i s, m ili h kako bi naveli sekunde, minute i sate. Osobno obiÄno stavim 30m kako bih se osigurao da Nmap ne troÅ¡i viÅ¡e od 30m vremena po hostu. Imajte na umu da Äe Nmap za to vrijeme skenirati i ostale hostove, tako da to nije u potpunosti izgubljeno vrijeme. Host koji je dosegao vrijeme isteka je preskoÄen i z anjega nije ispisan nikakav rezultat poput port tabele, OS detekcije ili detekcije verzija.

−−scan−delay ; −−max−scan−delay (podesi stanke izmeÄu sondi)

Ova opcija prisiljava Nmap da priÄeka barem navedeno vrijeme u milisekundama prije nego poÅ¡alje iduÄu sondu prema tom hostu. Kao i kod veÄine drugih opcija koje imaju veze s vremenom, možete navesti s, m ili h da bi definirali kaÅ¡njenje u sekundama, minutama ili satima. To je itekako korisno kod raÄunala koja imaju upaljen “rate limiting”. Solaris raÄunala (izmeÄu ostalih) Äe na UDP sken sonde odgovarati samo s jednom ICMP porukom po sekundi. Ako Nmap Å¡alje UDP pakete ÄeÅ¡Äe od 1 sekunde, ti su paketa jednostavno uludo baÄeni. Opcija −−scan−delay od 1s Äe zadržati Nmap u sporom tempu. Nmap pokuÅ¡ava ustanoviti koji je “rate limit” podeÅ¡en na jostu i prilagoÄava sken ovisno o tome, ali neÄe Å¡koditi ako ga unaprijed definirate za hostove za koje ste sigurni da Äe se tako ponaÅ¡ati.

Kad Nmap podesi sken shodno tome, dolazi do dramatiÄnog usporavanja. −−max−scan−delay opcija definira najveÄe kaÅ¡njanje koje Äe Nmap dozvoliti. Ukoliko podesite ovu opciju na premalu vrijednost, doÄi Äe do uzaludnog (preÄestog) slanja paketa i samim tim promaÅ¡enih otvorenih portova ako ciljani host ima ukljuÄen “ rate limiting”.

JoÅ¡ jedno naÄin koriÅ¡tenja opcije −−scan−delay je da se izbjegnu intrusion detection i intrusion prevention (IDS/IPS) sustavi, koji su bazirani na zadanoj vrijednosti (engl. treshold).

−T (Podesite predložak za vremenske postavke)

Iako su do sad navedene opcije snažne i efikasne, veÄini ljudi su nerazumljive i zbunjujuÄe. Uz to, odabrati prave vrijednosti ponekad može potrajati duže od skena koji želite optimizirati. Zbog toga Vam Nmap nudi jednostavniji pristup, koriÅ¡tenjem 6 preddefiniranih predložaka. Možete ih navesti koriÅ¡tenjem −T opcije s brojevima od 0−5 ili njihovim imenima.Nazivi predložaka su: paranoidno (engl. paranoid) (0), skriven (engl. sneaky) (1), pristojan (eng. polite) (2), normalan (engl. normal) (3), agresivan (engl. aggressive) (4) i lud (engl. insane) (5). Prva dva su za obilaženje IDS sustava. Predložak pristojan usporava skeniranje kako bi Å¡to je moguÄe manje opteretio mrežne resurse i raÄunalo koje skenirate. Normalni mod je defaultna postavka i postavljanje opcije −T3 zapravo ne uvodi nikakve promjene. Agresivni mod ubrzava skeniranje pod pretpostavkom da ste na popriliÄno brzoj i pouzdanoj mreži. Na kraju “ludi” mod pretpostavlja da ste na posebno brzoj mreži i da ste spremni žrtvovati toÄnost rezultata kako bi dobili na brzini.

Navedeni predloÅ¡ci omoguÄavaju korisnicima da navedu koliko agresivni žele biti, ostavljajuÄi Nmap−u da odabere toÄne vrijednosti. PredloÅ¡ci takoÄer rade neka manja podeÅ¡avanja brzine za koja trenutno ne postoje drugi naÄini. Npr. −T4 sprjeÄava da dinamiÄko kaÅ¡njenje skeniranja prijeÄe 10ms za TCP portove, dok −T5 drži tu vrijednost na 5ms. PredloÄke možete kombinirati s finijim kontrolama, sve dok je template naveden prvi inaÄe Äe vrijednosti iz predloÅ¡ka nadjaÄati one koje ste naveli. Predlažem korisÅ¡tenje opcije −T4 kod skeniranja modernih i pouzdanih mreža. Ostavite tu opciju na poÄetku komandne linije Äak i kad koristite neke finije naredbe kako bi imali koristi od dodatnih optimizacija koje predložak donosi.

Ukoliko ste na pristojnoj broadband ili eternet konekciji, predlažem koriÅ¡tenje opcije −T4. Neki ljudi vole −T5, mada je preagresoivan za moj ukus. Isto tako ljudi ponekad stave −T2 misleÄi da je manja vjerovatnost da Äe tako sruÅ¡iti host ili se inaÄe smatraju pristojnima. No oni u stvari ne razumiju koliko je opcije −T pristojno u stvari spora. Ovaj naÄin skeniranja može potrajati i do 10 puta duže nego defaultni.Padovi raÄunala i problemi s bandwithom su rijetki s koriÅ¡tenjem defaultne opcije −T3, pa je normalno preporuÄam opreznim skenerima.Izbjegavanje otkrivanja verzije je u svakom sluÄaju efikasnije u pokuÅ¡aju rjeÅ¡evanja tih problema nego igranje s vremenima odaziva.

Iako su opcije −T0 i −T1 korisne u izbjegavanju otkrivanja od strane IDS sustava, skeniranje tisuÄu portova Äe trajati jaaaako dugo. Kod takcih skenova je možda bolje direktno navesti vremena odaziva nego se pouzdati u preddefinirane vrijednosti opcija −T0 i −T1.

Glavni efekt koriÅ¡tenja opcije T0 je taj da su skenovi serijski (skenira se port po port) i nakon odskeniranog porta Äeka 5 minuta prije nego Äe poslati iduÄu sondu.T1 i T2 su sliÄni s tim da T1 Äeka 15 sekundi izmeÄu sondi, dok T2 Äeka 0.4 sekunde izmeÄu sondi. T3 je defaultna postavka koja ukljuÄuje paralilizam (skenirano je viÅ¡e portova istovremeno). Opcije T3 je isto kao i −−max−rtt−timeout 1250 −−initial−rtt−timeout 500 −−max−retries 6, te podeÅ¡ava maksimalno TCP kaÅ¡njenje na 10ms. Opcija T5 je isto kao i −−max−rtt−timeout 300 −−min−rtt−timeout 50 −−initial−rtt−timeout 250 −−max−retries 2 −−host−timeout 900000 kao i postavljanje maksimalnog TCP sken kaÅ¡ njenja na 5ms.

IZBJEGAVANJE I ZAVARAVANJE VATROZIDA I IDS−A

Mnogo pionira interneta zu zamislili globalnu otvorenu mrežu univerzalnog adresnog prostora u kojoj je dozvoljeno spajanje bilo koja dva Ävora. To bi omoguÄilo hostovima da Å¡alju i primaju informacije jedan od drugog. Ljudi bi mogli pristupiti svim svojim sustavima s posla i mijenjati postavke grijanja i hlaÄenja, pa Äak i otkljuÄavati vrata gostima koji su uranili.Ta verzija univerzalne povezanosti je uguÅ¡ena nedovoljnim adresnim prostorom i ponajviÅ¡e iz sigurnosnih razloga. U ranim 90−tima, firme su poÄele uvoditi vatrozide s primarnom namjenom da smanje moguÄnosti povezivanja koje su postojale. Ogromne mreže su ofgraÄene od nefiltriranog interneta koriÅ¡tenjem aplikacijskih proxy−a, NAT ureÄajai paket filtera. Otvoreno kolanje informacija predalo je tron kontroliranim komunikacijskim kanalima i sadržajem koji je njima prolazio.

Mrežne barijere poput vatrozida mogu otežati mapiranje mreže, a vremenom neÄe biti niÅ¡ta lakÅ¡e, jer uguÅ¡iti lagodno istraživanje mreže je primarni cilj veÄine ureÄaja. No ipak, Nmap nudi mnogo moguÄnosti kako bi nam pomogao u razumijevanju tih kompleksnih mreža i kako bi provjerio da li filteri uistinu rade onako kako smo zamislili. Äak podržava mehanizme za obilaženje loÅ¡e implementiranih mjera zaÅ¡tite. Jedna od najboljeh metoda pomoÄu koje Äete razumjeti postavke svoje mrežne sigurnosti je pokuÅ¡aj da je obiÄete. PokuÅ¡ajte se postaviti u mentalni sklop napadaÄa i iskoristite tehnike iz ovog poglavlja protiv svojih mreža. Pokrenite FTP bounce sken, idle sken, napad fragmentacijom ili pokuÅ¡ajte tunelirati kroz svoj proxy server.

Uz to Å¡to brane mrežnu aktivnost, firme sve viÅ¡e nadgledaju promet sa sustavima za otkrivanje upada (engl. intrusion detection system) IDS. VeÄina poznatijih IDS sustava dolaze s podeÅ¡enim pravilima koja mogu prepoznati Nmap skenove, jer ponekad je sken u stvari prethodnik napada. VeÄina tih sustava je nedavno prerasla u sustave za zaÅ¡titu od upada (engl. intrusion prevention system) IPS koji aktivno blokiraju promet koji ocjene kao zloÄudan. Na Å¡tetu mrežnih administratora i proizvoÄaÄa IDS sustava, pouzdano ustanoviti Å¡to je zloÄudno, a Å¡to nije samo analizom paketa je teÅ¡ko. NapadaÄi koji imaju strpljenja i sposobnosti obiÄno mogu uz pomoÄ nekin Nmap−ovih opcija proÄi nezapaženo od IDS sustava. U meÄuvremenu admnistratori se moraju boriti s velikom koliÄinom lažnih uzbuna, gdje je normalna mrežna aktivnost pogreÅ¡no dijagnosticirana i možda Äak blokirana od IPS sustava.

Ponekad ljudi predlažu da Nmap ne bi trebao nuditi moguÄnosti za obilaženjem vatrozida i provlaÅ¡enja pored IDS−a. Tvrde da Äe te moguÄnosti biti koriÅ¡tene od strane napadaÄa isto kao i od strane administratora. Problem u ovoj logici je taj Å¡to Äe metode tako i tako biti dostupne napadaÄima koji Äe koristiti neki fdrugi alat ili sami doprogramirati funkcionalnost u Nmap, dok bi administratori imali puno teži posao u sprjeÅ¡avanju upada na svoje sustave. Postavljanje samo modernih, zakrpanih FTP servera je mnogo uÄinkovitija obrana od sprjeÄavanja distribucije alata koji mogu napraviti FTP bounce napad.

Ne postoji Äarobni metak (ili Nmap opcija) za otkrivanje i potkopavanje vatrozida i IDS sustava. Za to je potrebna vjeÅ¡tina i iskustvo. Tutorial je neÅ¡to Å¡to ne spada u ovaj dokument, koji samo navodi opcije i opisuje Å¡to one mogu.

−f (fragmentiraj pakete); −−mtu (koristi navedeni MTU)

−f opcija prisiljava pokrenuti sken (ukljuÄujuÄi i ping sken) da koristi male fragmente IP paketa. Ideja se sastoji od toga da zaglavlje TCP paketa prelomi na viÅ¡e paketa kako bi paket filterima, IDS−ovima i drugim dosadnjakoviÄima bilo teže otkriti Å¡to radite. Budite pažljivi s tim! Neki programi imaju problema u radu s takvim malim paketima. Jedan stari sniffer imenom Sniffit, je automatski pukao kad bi primio prvi fragment. Nakon Å¡to navedete ovu opciju jednom, Nmap podijeli pakete u 8 bytova ili manje. Tako Äe 20 bytno TCP zaglavlje biti podijeljeno u 3 paketa, dva po 8 bytova i jedan od 4. Imajte na umu da svaki od tih paketa koje smo prelomili dobiva novo zaglavlje, koje nema nikakve veze s originalnim. Navedite −f joÅ¡ jednom i Nmap Äe koristiti 16 bytova po fragmentu (smanjujuÄi broj fragmenata). Isto tako možete definirati bilo koju željenu veliÄinu koriÅ¡tenjem −−mtu opcije. Ukoliko koristite −−mtu opciju nemojte koristiti i −f opciju. Fragment mora biti viÅ¡ekratnik broja 8. Iako fragmenti neÄe proÄi pored paet filtera i vatrozida koji skupljaju se fragmente kako bi vidjeli Å¡to je u originalnom paketu, popout opcije CONFIG_IP_ALWAYS_DEFRAG u linux jezgri operativnog sustava, Äinjenica je da si neke mreže ne mogu dozvoliti udar na performanse koji ta opcija ima, pa je stoga na njima iskljuÄena. Drugi pak sustavi ne mogu imati upaljnu tu opciju, jer fragmenti mogu doÄi u njihovu mrežu drugom rutom. Neki sustavi defragmentiraju izlazne pakete u samoj jezgri, poput linuxa koji ima iptables s upaljenim modulom praÄenja konekcije. Pokrenite sken dok je upaljen snifer poput ethereal−a kako bi se osigurali da su odlazni paketi fragmentirani. Ukoliko vaÅ¡ OS radi probleme (kao Å¡to smo naveli malo prije kod linuxa i iptables−a), pokuÅ¡ajte slati sirove eternet frame−ove opcijom
−−send−eth
.

−D (sakrij sken pomoÄu mamaca)

Ovaj naÄin skeniranja uÄini to da na hostu koji skenirate izgleda kao da ga skeniraju i sustavi koje ste stavili u mamce. Tako Äe IDS navesti 5− port skenova s jedne IP adrese i tako za sve mamce koje ste naveli i za vas. Samim tim neÄe znati tko je stvarno skenirao mrežu, a tko je bio nevina žrtva (mamac). Ovo može biti eliminirano traženjem ruterskog puta (engl. router path tracing), odbacivanja odgovora (engl. response−dropping) i nekim drugim aktivnim mehanizmima, ali je ipak efikasna tehnika za sakrivanj IP adrese.

Odvojite svaki host mamac sa zarezimaa možete opcionalno navesti i ME (Å¡to predstavlja vaÅ¡u IP adresu), kako bi bila pozicionirana baÅ¡ na onom mjestu u skeniranju na kojem je želite. Ako postavite ME na 6. mjesto ili kasnije, neki uobiÄajeni detektori port skenova (poput alata “scanlogd” firme Solar Designer’s) uopÄe neÄe pokazati VaÅ¡u IP adresu. Ukoliko ne kkoristite ME opciju, Nmap Äe staviti vaÅ¡u IP adresu na proizvoljno mjesto.

Imajte na umu da hostovi koje navodite kao mamce moraju biti upaljeni, jer Äete inaÄe sluÄajno napasti host koji skenirate Syn flood napadom. Isto tako popriliÄno je lako ustanoviti tko vas skenira ako samo jedan host od navedenih uistinu postoji na mreži. Možete koristiti IP adrese umjesto imena (kako vas mamci ne bi vidjeli u svojim name server logovima).

Mamci se koriste u inicijalnom ping skenu (koriÅ¡tenjem ICMP, SYN, ACK ili bilo kojeg drugog naÄina) kao i za trajanja stvarnog skena portova. Mamci se takoÄer koriste i kod udaljenog otkrivanja operativnog sustava (−O). Mamci NE rade s otkrivanjem verzije ili TCP connect() skena.

Äinjenica je da Äe koriÅ¡tenje previÅ¡e mamaca usporiti skeniranje i potencijalno ga uÄiniti manje toÄnim. Isto tako, neki ISP−ovi Äe filtrirati lažirane pakete, ali veÄina ih ne zabranjuje.

−S (Lažiraj ishodiÅ¡nu adresu)

U nekim situacijama Nmap neÄe moÄi ustanoviti vaÅ¡u ishodiÅ¡nu IP adresu (Nmap Äe vam reÄi ako doÄe do toga). U tom sluÄaju koristite opciju −S s IP adresom mrežnog adaptera preko kojeg želite poslati paket.

JoÅ¡ jedna moguÄnost koriÅ¡tenja ove opcije je lažirati sken kako bi ciljano raÄunalo mislilo da ga skenira netko drugi. Zamislite firmu koju konstantno skenira konkurencija! −e opcija j eobiÄno potrebna za ovu namjenu i −P0 je takoÄer preporuÄeno.

−e (koristi navedenu mrežnu karticu)

Ova opcija kaže Nmap−u koju mrežnu karticu da koristi za slanje i primanje paketa. Nmap bi to trebao otkriti automatski, a sam Äe vam reÄi ako to ne uspije.

−−source−port ; −g (Lažiraj broj ishodiÅ¡nog porta)

IznenaÄujuÄe Äesta greÅ¡ka je samo vjerovanje prometu koji dolazi s odreÄenog porta. Jednostavno je shvatiti odakle to dolazi. Administrator podesi novi novcati vatrozid i najednom je obasut pritužbama korisnika kako su im aplikacije prestale raditi. Äak Å¡toviÅ¡e, možda je prestao raditi i DNS, jer UDP DNS odgovori s vanjskih servera viÅ¡e ne mogu uÄi u mrežu. FTP je joÅ¡ jedan dobar primjer. Kod aktivnih FTP prijenosa, FTP pokuÅ¡a uspostaviti vezu nazad prema klijentu da bi poslao zatraženu datoteku.

Postoje sigurna rjeÅ¡enja tih problema, Äesto u obliku proxy−a na aplikacijskom nivou ili modula na vatrozidu koji parsaju protokol. Nažalost postoje i lakÅ¡a, manje sigurna rjeÅ¡enja. VidjevÅ¡i da DNS odgovori dolaze s porta 53 i aktivni FTP s porta 20, mnogi su administratori pali u zamku jednostavno dozvoljavajuÄi ulazni promet s tih portova. ObiÄno pretpostavljaju da napadaÄi neÄe uoÄiti i iskoristiti takve rupe u vatrozidu. U nekim sluÄajevima administratori smatraju to rjeÅ¡enje kao privremenu zakrpu, dok ne implementiraju bolje rjeÅ¡enje, a onda zaborave na to.

U te zamke ne padaju samo preoptereÄeni mrežni administratori. Mnogo ureÄaja je isporuÄeno s takvim nesigurnim pravilima. Äak je i Microsoft bio kriv. IPSec filter koji dolazi s Windows 2000 i s WIndows XP OS−om ima implicitno pravilo koje dozvoljava sav TCP i UDP promet s porta 88 (Kerberos). JoÅ¡ jedan dobro poznati primjer je ZOne Alarm osobni vatrozid, koji je do verzije 2.1.25 dozvoljavao bilo koje dolazne UDP pakete sa ishodiÅ¡nog porta 53 (DNS) i 67 (DHCP).

Nmap nudi opcije −g i −−source−port (iste su) kako bi iskoristili ovakve slabosti. Jednostavno navedite broj porta i Nmap Äe ga koristiti kao ishodiÅ¡ni port gdje je to moguÄe. Nmap mora koristiti razliÄite portove kako bi neki testovi otkrivanja OS−a radili ispravno,a DNS zahtjevi ignoriraju opciju −−source−port, jer se kod toga Nmap oslanja na sistemske biblioteke. VeÄina TCP skenova ukljuÄujuÄi i SYN sken podržava ove opcije u potpunosti isto kao i UDP sken.

−−data−length (Dodaj proizvoljne podatke na pakete koje Å¡aljeÅ¡)

U normalnim situacijama Nmap Å¡alje minimalistiÄke pakete koji se sastoje samo od zaglavlja. Tako da su Nmap−ovi TCP paketu u naÄelu veliÄine 40 bytova, a ICMP paketi 28 bytova. Ova opcija kaže Nmap−u da doda odreÄenu koliÄinu proizvoljnih bytova u paket koji Å¡alje. Paketi koje koristi otkrivanje OS−a (−O) nisu zahvaÄeni ovom opcijom, dok veÄina ping skenova i portskenova je. To usporava skeniranje, ali ga isto tako Äini manje sumnjivim.

−−ttl (Podesi polje IP time−to−live)

PodeÅ¡ava polje time−to−live i IPv4 paketima na zadanu vrijednost.

−−randomize−hosts (Proizvoljno poredaj hostove koje skeniraÅ¡)

Ova opcija kaže Nmap−u da pomijeÅ¡a svaku grupu od 8096 hostova prije nego ih poÄne skenirati. To može uÄiniti skeniranje manje oÄitim za veÄinu sustava za nadgledanje mreže, pogotovo kad ovu opciju kombinirate sa sporim vremenima kaÅ¡njenja (engl. timing options). Ukoliko želite pomijeÅ¡ati veÄe grupe, poveÄajte PING_GROUP_SZ u nmap.h biblioteci i ponovno kompajlirajte Nmap. Alternativno rjeÅ¡enje je da kreirate listu ciljanih IP adresa s list skenom (−sL −n −oN naziv datoteke), pomijeÅ¡ate je s perl skriptom i onda dodate tu listu Nmap−u s opcijom −iL.

−−spoof−mac (Lažiraj MAC adresu)

Ova opcija zatraži Nmap da koristi navedenu MAC adresu za sve ethernet frame−ove koje poÅ¡alje. Ova opcija podrazumijeva −−send−eth opciju kako bi osigurala da Nmap uistinu Å¡alje pakete na nivou etherneta. MAC adresa može imati nekoliko formata. Ukoliko je string “0”, Nmap Äe sam odabrtati proizvoljnu MAC adresu za trajanje sesije. Ukoliko je zadani string saÄinjen od parnog broja hex znamenaka (gdje su parovi opcionalno odvojenih dvotoÄkom), Nmap Äe korisiti tu MAC adresu. Ako je upisano manje od 12 znamenaka, Nmap Äe ostatak nadopuniti s proizvoljnim vrijednostima. Ako nije navedena 0 niti hex string, Nmap pregleda datoteku nmap−mac−prefixes tražeÄi naziv proivoÄaÄa koji sadrži navedeni string (case sensitive). Ako se neÅ¡to poklopi, Nmap koristi OUI (3 bytni prefix) proizvoÄaÄa, a ostatak dopuni proizvoljno. Ispravni −−spoof−mac argumenti su npr. Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, and Cisco.

−−badsum (Å alji pakete s lažnim TCP/UDP checksumom)

Ova opcija traži od Nmap−a da koristi neispravne TCP i UDP checksume za pakete koje Å¡alje na ciljano raÄunalo. Kako skoro svaki IP stack odbacuje takve pakete, svaki odgovor koji dobijete najvjerovatnie dolazi od vatrozida ili IDS sustava koji nisu provjeravali checksum. Za viÅ¡e detalja o ovoj tehnici, pogledajte: https://nmap.org/p60-12.txt.

IZVJEÅ TAJI

Svaki sigurnosni alat je koristan onoliko koliko dobar izvjeÅ¡taj ponudi. Kompleksni testovi i algoritmi su od malo koristi ako njihov rezultat nije predstavljen na organiziran i razumljiv naÄin. Obzirom na razliÄite naÄine koriÅ¡tenja Nmap−a od strane ljudi i drugih programa, jedan format ne može zadovoljiti sve, tako da Nmap nudi viÅ¡e formata izvjeÅ¡taja, ukljuÄujuÄi interaktivni mod koji direktno možete proÄitati i XML kako bi ga kasnije mogli pregledavati i analizirati drugi automatizirani alati.

Uz to Å¡to nudi razliÄite formate izvjeÅ¡taja, Nmap nudi opcije za upravljanje koliÄinom prikazanih informacija, kao i poruke za debugiranje. IzvjeÅ¡taji mogu biti standardni (na ekran op prev.) ili spremljeni u datoteke, u koje Nmap može dodavati podatke ili ih prepisati. Datoteke u koje se spremaju rezultati taskoÄer mogu biti koriÅ¡tene za prekinute skenove koje ste nastavili.

Nmap nam nudi izvjeÅ¡taje u 5 razliÄitih formata. Defaultni se zove interaktivni izvjeÅ¡ taj i poslan je na standardni izlaz (sdtout) (zaslon raÄunala, op. prev.). TakoÄer postoji i normalni izvjeÅ¡taj koji je sliÄan interaktivnom s tim da prikazuje manje informacija i upozorenja, jer je predviÄen za kasniju analizu, a ne trenutnu..

XML izvjeÅ¡taj je jedan od najbitnijih, jer ga lako možete konvertirati u HTML, može lako biti pregledavan pomoÄu programa poput Nmap−ovog grafiÄkog korisniÄkog suÄelja, te može biti importiran u bazu podataka.

Dva preostala tipa izvjeÅ¡taja su jednostavni grepabilni izvjeÅ¡taj koji ukljuÄuje veÄinu informacija o hostu u jednoj liniji i sCRiPt KiDDi3 Izvj3Å¡t4j za korisnike koji se smatraju |<−r4d.

Dok je interaktivni izvjeÅ¡taj defaultni i nema komandnolinijskih opcija, preostale 4 opcije koriste istu sintaksu. Mogu preuzeti jedan parametar, a to je naziv datoteke u koji Äe biti pohranjeni rezultati. Možete navesti viÅ¡e razliÄitih formata, ali svaki od njih smijete navesesti samo jednom. Npr. želite gledati normalni izvjeÅ¡taj za sebe, dok istovremeno želite razultate pohraniti i u XML datoteku, za kasniju programsku analizu. To možete postiÄi opcijama −oX myscan.xml −oN myscan.nmap. Iako su u ovom poglavlju koriÅ¡tena imena poput myscan.xml zbog jasnoÄe, preporuÄeno je koriÅ¡tenje odreÄenijih i jasnijih imena. Imena koja Äete odabrati ovise o vaÅ¡im željama i navikama, mada osobno koristim dugaÄka imena u kojima se nalazi datum skeniranjai nekoliko rijeÄi koje opisuju Å¡to je u stvari skenirano, a sve to pohranim u direktorij nazvan imenom tvrtke koju skeniram.

Iako navedene opcije spremaju rezultat u datoteke, Nmap i dalje ispisuje interaktivni izvjeÅ¡taj na zaslon raÄunala. Npr. naredba nmap −oX myscan.xml target sprema rezultate skena u XML datoteku imenom myscan.xml i takoÄer ispisuje na zaslon raÄunala ono Å¡to bi ispisao da opcija −oX nije bila navedena. Ovo možete promijeniti dodajuÄi znak “−” (minus op. prev.) kao parametar jednom od tipova izvjeÅ¡taja, Å¡to Äe prisiliti Nmap da deaktivira interaktivni izvjeÅ¡taj i umjesto njega na stdout poÅ¡alje format koji ste naveli. Tako Äe naredba nmap −oX − target posalti samo XML na stdout. Ozbiljne greÅ¡ke Äe i dalje biti ispisane na normalni tok greÅ¡aka − stderr.

Za razliku od nekih Nmap−ovih opcija, razmak izmeÄu opcije za naziv log datoteke (poput −oX) i naziva datoteke ili znamka minus je obavezan. Ukoliko ga izostavite, npr. napiÅ¡ete −oG− ili −oXscan.xml, Nmap Äe napraviti datoteke normalnog formata imenom G− i Xscan.xml.

Nmap takoÄer nudi i opcije za upravljanje koliÄinom prikazanih informacija i opcije da doda podatke u postojeÄu datoteku , a ne da je prepiÅ¡e. Sve navedene opcije opisane su u daljnjem tekstu:

Formati Nmap−ovih izvjeÅ¡taja

−oN (Normalni izvjeÅ¡taj)

Zahtjeva da normalni izvještaj bude spremljen u navedeno ime. Kao što je opisano gore u tekstu, to se malo razlikuje od interactivnog izvještaja.

−oX (XML izvjeÅ¡taj)

XML izvjeÅ¡taj Äe biti pohranjen u navedenu datoteku. Nmap ima i definiciju tipa dokumenta (engl Document Type Definition) kratica: DTD koja dozvoljava XML parserima da provjere Nmap−ov XML izvjeÅ¡taj. Iako je primarno namijenjeno za programsko koriÅ¡tenje, može pomoÄi i ljudima da interpretiraju Nmap−ov XML izvjeÅ¡taj. DTD definira ispravne elemente formata i Äesto navodi atribute i vrijednosti koje mogu poprimiti. Najsvježija verija je uvijek dostupna na: https://nmap.org/data/nmap.dtd.

XML nudi stabilan format koji je lako Äitljiv od strane programa. Besplatni XML parseri su dostupni za veÄinu kompjutorskih jezika, ukljuÄujuÄi C/C++, Perl, Python i Java−u. Äak postoje i poveznice za veÄinu tih jezika koje omoguÄuju direktno interpretiranje Nmap−ovih izvjeÅ¡taja. Primjeri su: Nmap::Scanner [9] i Nmap::Parser [10] u Perlu i CPAN−u. U veÄini sluÄajeva kad neka ozbiljnija aplikacija komunicira s Nmap−om, XML je željeni format.

XML izvjeÅ¡taj se poziva na XSL stilove, koji mogu biti koriÅ¡teni za formatiranje rezultata u HTML. Najjednostavniji naÄin je da jednostavno uÄitate XML izvjeÅ¡taj u web preglednik poput firefox−a ili IE−a. Defaultno Äe to raditi samo na raÄunalu nakojem ste pokrenuli nmap (ili na raÄunalu koje je sliÄno konfigurirano), jer je nmap.xsl hardkodiran. Koristite opciju −−webxml ili −−stylesheet kako bi kreirali prenosive XML datoteke koje prikazuju podatke u HTML−u na bilo kojem raÄunalu spojenom na web.

−oS (ScRipT KIdd|3 izvjeÅ¡taj)

Script kiddie izvjeÅ¡taj je poput interaktivnog s tim d je naknadno obraÄen kako bi bolje odgovarao l33t HaXXorZ koji je prije pazio na Nmap zbog njegovog konstantnog pisanja velikih slova i spelinga. Osobe koje ne razumiju humor (prije nego me poÄnu napadati), trebale bi shvatiti da ova opcija tu da bi ismijavala script kiddie−je, a ne da bi im “pomagala”.

−oG (Grepabilni izvjeÅ¡taj)

Ovaj format zvjeÅ¡taja je obraÄen zadnji jer nije previÅ¡e popularan. XML je mnogo moÄniji i odgovara veÄini iskusnih korisnika. XML je format za koji postoji hrpa izvrsnih parsera, dok je grepabilni izvjeÅ¡taj moj osobni mali hack. XML je proÅ¡iriv i podržava nove stvari koje budu ugraÄene u Nmap, dok je to Äesto ispuÅ¡teno u grepabilnom izvjeÅ¡taju, jer nema mjesta za njih.

No ipak, grepabilni izvjeÅ¡taj je popriliÄno popularan. To je jednostavni format koji prikazuje svakog hosta na jednoj liniji i može ga se lako pretraživati standardnim UNIX alatima, poput grep−a, awk−a, cut−a, sed−a, diff−a i Perl−a. Äak ga i ja koristim za jednokratne testove iz komandne linije. PronaÄi sve hostove koji imaju otvoren ssh port ili se na njima vrti Solaris je vrlo lako pomoÄu grep naredbe, a to pak može biti poslano awk ili cut naredbi da bi se prikazala željena polja.

Grepabilni izvjeÅ¡taj sastoji se od komentara (linija koje poÄinju s pound znakom (#)) i ciljanih linija. Ciljana linija sadrži kombinaciju od 6 imenovanih polja, odvojenih tabovima i iza njih dolazi dvotoÄka. Polja su: Host, Ports, Protocols, Ignored State, OS, Seq Index, IPID, and Status.

Najvažnije od tih polja je obiÄno Ports, koje daje datalje o svakom zanimljivom portu. To je zarezom odvojena lista portova. Svaki zapis o portu predstavlja jedan zanimljivi port i ima oblik sedam podpolja odvojenih slash znakom (/). Podpolja su: Port number, State, Protocol, Owner, Service, SunRPC info, and Version info.

Kao i kod XML formata, viÅ¡e informacija možete naÄi na sljedeÄem linku: http://www.unspecific.com/nmap-oG-output.

−oA (IzvjeÅ¡taj u svim formatima)

Radi jednostavnosti, možete navesti opciju −oA basename, kako bi spremili rezultate u normalnom, XML i grepabilnom formatu odjednom. spremljeni su u datoteke imanom basename.nmap,
basename
.xml i basename.gnmap. Kao i kod veÄine programa možete staviti prefiks ispred naziva datoteke kako bi je spremili u željeni direktorij, kao npr. ~/nmaplogs/foocorp/ na UNIX−u ili c:hackingsco na Windows platformi.

Opcije za prikaz koliÄine informacija i debugiranje

−v (poveÄaj koliÄinu prikazanih informacija)

PoveÄava nivo koliÄine prikazanih informacija, te Nmap prikazuje viÅ¡e informacija o tekuÄem sken procesu. Otvoreni portovi su prikazani odmah Äim su otkrivani i Nmap prikazuje procjenu koliko vremena mu treba za zavrÅ¡etak posla ako procijeni da Äe sken trajati viÅ¡e od nekoliko minuta. Ukoliko želite joÅ¡ viÅ¡e informacija, upiÅ¡ite ga dvaput. KoriÅ¡tenje −v opcije viÅ¡e od dva puta nema nikakav uÄinak.

VeÄina promjena koje se dobiju koriÅ¡tenjem ove opcije utjeÄu na normalni i script kiddie izvjeÅ¡taj. Ostali izvjeÅ¡taji su namijenjeni za automatiziranu obradu, pa Nmap u njima može navesti dodatne informacije bez suviÅ¡nog optereÄivanja korisnika. Ipak, postoji nekoliko promjena u ostalim modovima gdje veliÄinu izvjeÅ¡taja možete osjetno smanjiti ne navodeÄi neke detalje. Npr. komentirana linija u gerepabilnom formatu, koja daje listu svih skeniranih portova isprintana je samo u verose modu, jer može biti popriliÄno velika.

−d [level] (poveÄaj ili podesi nivo debugiranja)

Äak i kad verbose mod ne daje dovoljno informacija, debuging Vam stoji na raspolaganju, kako bi vas preplavio s joÅ¡ viÅ¡e podataka! Kao i kod opcje verbose (−v), ukljuÄujete ga s opcijom (−d), a sam nivo debugiranja možete poveÄati navoÄenjem opcije viÅ¡e puta. Äak možete navesti nivo debugiranja i navoÄenjem brojke nakon opcije (−d). Npr. (−d9) podeÅ¡ava nivo debugiranja 9. To je najviÅ¡i moguÄi nivo i kao rezultat Äe dazi tisuÄe linija osim ako ste pokrenuli jako jednostavan sken s par ciljeva i portova.

Debuging izvjeÅ¡taj je koristan kad sumnjate da u Nmap−u postoji greÅ¡ka ili ako ste jednostavno zbunjeni oko toga Å¡to Nmap radi i zaÅ¡to. Kako je ova opcija najviÅ¡e namjenjena developerima, debug linije nisu uvijek samoobjaÅ¡ njavajuÄe. Možete dobiti neÅ¡to poput: Timeout vals: Timeout vals: srtt: −1 rttvar: −1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. Ukoliko ne razumijete liniju, jedini smjer kojim možete nastaviti je da je ignorirate, potražite u izvornom kodu programa ili zatražite pomoÄ na razvojnoj listi (nmap−dev). Neke linije su samoobjaÅ¡njavajuÄe, ali poruke postaju sve Äudnije Å¡to je nivo debugiranja veÄi.

−−packet−trace (Prati pakete i podatke koji su poslani/primljeni)

Nmap ispiÅ¡e informaciju o svakom poslanom i primljenom paketu. Ovo se najÄeÅ¡Äe koristi za debugiranje, ali je isto tako dobar naÄin za nove korisnike da saznaju Å¡to Nmap radi ispod haube. Kako bi izbjegli ispisivanje tisuÄa linija, odaberite ograniÄeni broj portova koje skenirate, npr. −p20−30. Ako Vas pak zanima samo Å¡to radi podsustav otkrivanja verzije, radije koristite opciju −−version−trace.

−−iflist (Izlista mrežne adaptere i rute)

IspiÅ¡e popis mrežnih adaptera i ruta kako ih vidi Nmap. To je korisno u debugiranju problema s rutanjem ili krivog prepoznavanja ureÄaja (kao kad recimo Nmap tretira PPP konekciju kao ethernet).

Ostale opcije izvještaja

−−append−output (Dodaj rezultate u postojeÄi file umjesto da ih prepiÅ¡eÅ¡)

Kad navedete naziv datoteke nakon opcija poput −oX ili −oN, datoteka istog imena je prepisan aako postoji. Ukoliko želite zadržati sadržaj postojeÄe datoteke i u njega dodati nove rezultate, navedite −−append−output opciju. Svie navedene datoteke u tom pokretanju Nmap−a Äe biti saÄuvane i u njoh Äe biti dodani novi podaci. To ne radi dobro s XML datotekama (−oX), jer tako dobivena datoteka neÄe biti ispravna dok je ruÄno ne prepravite.

−−resume (Nastavi prekinut sken)

Neka temeljita Nmap skeniranja mogu potrajati i danima. Takvi skenovi ne uspiju uvijek odraditi posao do kraja. Zabrane mogu sprijeÄiti Nmap da radi tijekom radnih sati, mreža može pasti, raÄunalo na kojem je pokrenut Nmap može biti resetirano (planski ili neplanski) ili se Äak sam Nmap može sruÅ¡iti. Äak i osoba koja je pokrenula Nmap sken može biti ta koja Äe ga prekinuti koriÅ¡tenjem tipaka ctrl−C. Ponovno pokretanje cijelog skena nije isplativo. Na sreÄu, ukoliko ste spremali normalne (−oN) ili grepabilne (−oG) logove, možete zatraž iti Nmap da nastavi skeniranje tamo gdje je stalo. Jednostavno navedite opciju −−resume i proslijedite naziv datoteke normalnom ili grepabilnom naÄinu skeniranja. Nisu dozvoljeni nikakvi drugi argumenti, jer Äe Nmap pretražiti postojeÄu datoteku i koristiti iste opcije koje je koristio i prije. jednostavno pozovite Nmap: nmap −−resumelogfilename. Nmap Äe dodati nove rezultate u postojeÄu datoteku. Nastavljanje ne podržava XML izvjeÅ¡taje, jer bi spajanje dvije datoteke u jednu ispravnu bilo prekomplicirano.

−−stylesheet (Podesi XSL stil za transformiranje XML izvjeÅ¡taja)

Nmap dolazi s XSL stilom nazvanim nmap.xsl koji je namijenjen za gledanje ili prevoÄenje XML izvjeÅ¡taja u HTML. XML izvjeÅ¡taj sadrži xml−stylesheet naredbu koja pokazuje na nmap.xml datoteku gdje je inicijalno instalitrana od Nmap−a (ili u trenutni direktorij u kojem je pokrenut Nmap kad je u pitanju Windows OS). Jednostavno otvorite Nmap−ov XML izvjeÅ¡taj u neki noviji web preglednik i on bi trebao dohvatiti nmap.xsl i iskoristiti ga za prikaz rezultata. Ukoliko ž elite koristiti neki drugi stil, navedite ga kao argument opciji −−stylesheet. Morate navesti kompletnu putanju do njega ili URL. Npr. −−stylesheet −−stylesheet https://nmap.org/data/nmap.xsl. Ova naredba kaže pregledniku da uÄita zadnju verziju stila s isecure.org. Opcija −−webxml Äini isto to bez potrebe pretjeranog pisanja i pamÄenja linka. UÄitavanje XSL stila sa stranica insecure.org omoguÄava gledanje rezultata na jednostavniji naÄin Äak i raÄunalima koja nemaju instaliran Nmap (a samim tim i nmap.xsl). Tako da je URL najÄeÅ¡Äe i korisniji, no, nmap.xsl−a koji se nalazi na datoteÄnom sustavu koristi se ukoliko želite imati viÅ¡e privatnosti.

−−webxml (UÄitaj stil sa stranice Insecure.Org)

Ovo je jednostavno kratica za −−stylesheet https://nmap.org/data/nmap.xsl .

−−no−stylesheet (Izbaci deklaraciju stila iz XML−a)

Ukoliko ne želite da Nmap poveže XSL stil s XML−om, odaberite ovu opciju. U tom sluÄaju se ne koristi naredba xml−stylesheet

RAZNE OPCIJE

Ovo poglavlje opisuje neke važne (i neke ne toliko važne) opcije koje jednostavno ne spadaju nigdje drugdje.

−6 (UkljuÄi skeniranje IPv6 protokola)

Od 2002. godine, Nmap nudi i podrÅ¡ku za IPv6 svojih najpopularnijih svojstava. ToÄnije, ping scan ( samo TCP), connect() scan i otkrivanje verzije podržavaju IPv6. Sintaksa je jednaka osim Å¡to dodate opciju −6. Naravno, morate koristiti IPv6 sintaksu IP adrese ako navedete IP Adresu,a ne naziv hosta. Adresa može izgledati kao 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, pa je stoga preporuÄeno koriÅ¡tenje host imena. IzvjeÅ¡taj izgleda isto osim Å¡to je na liniji “ zanimljivih portova” IPv6 IP adresa.

Iako IPv6 nije pregazila svijet ipak se popriliÄno koristi u nekim zemljama (osobito Azijskim), a i veÄina modernih OS−ova ima ugraÄenu podrÅ¡ku. Da bi mogli koristiti Nmap s IPv6 protokolom i ciljano raÄunalo i vaÅ¡e raÄunalo moraju biti podeÅ¡eni za koriÅ¡tenje IPv6. Ukoliko vaÅ¡ ISP (poput veÄine drugih) ne dodjeljuje IPv6 IP adrese, postoje oni koji nude besplatno IPv6 tuneliranje, Å¡to popriliÄno dobro radi s Nmap−om. Jedan od boljih davatelja takvih usluga je BT Exact. TakoÄer sam koristio i usluge tvrtke Hurricane Electric http://ipv6tb.he.net/. 6to4 tuneli su joÅ¡ jedan popularan besplatan pristup.

−A (opcija agresivnog skeniranja)

OVa opcija omoguÄuje dodatne napredne i agresivne opcije. JoÅ¡ uvijek nisam u potpunosti odluÄio na Å¡ to Äe se sve odnositi. Trenutno ova opcija omoguÄuje OS detekciju (−O) i skeniranje verzije (−sV). U buduÄnosti mogu biti dodane nove moguÄnosti. Poanta je u tome da se ljudima omoguÄi pristojan set scan opcija bez potrebe za pamÄenjem velikog broja zastavica (engl. flag). Ova opcija samo ukljuÄuje navedene stvari bez podeÅ¡avanja vremena odaziva (engl. timing) (poput −T4) ili verbose opcija (−v) kojU najvjerovatnije takoÄer želite navesti.

−−datadir (Navedi korisniÄki definiranu lokaciju Nmap−ovih datoteka)

Nmap dohvaÄa neke podatke tijekom izvrÅ¡avanja programa iz datoteka: nmap−service−probes, nmap−services, nmap−protocols, nmap−rpc, nmap−mac−prefixes, and nmap−os−fingerprints. Najprije ih traži u direktoriju navedenom u −−datadir opciji (ako postoji). Sve datoteke koje se ne nalaze u navedenom direktoriju potražit Äe u direktoriju navedenom u NMAPDIR varijabli. Nakon toga je na redu ~/.nmap za stvarne i efektivne UID−e (samo kod POSIX sustava) ili lokacija Nmap izvrÅ¡ne datoteke (samo kod Win32 sustava), te na kraju u kompajliranoj lokaciji poput /usr/local/share/nmap ili /usr/share/nmap. Kao posljednju Äansu, Nmap Äe potražiti u tekuÄem direktoriju.

−−send−eth (koristi sirove (raw) pakete za slanje preko etherneta)

Zatraži Nmap da Å¡alje pakete na sirovom (raw) ethernet (data link) sloju umjesto na viÅ¡em IP (mrež nom) sloju. Defaultno, Nmap odabire koja je opcija bolja za platformu na kojoj je pokrenut. Sirove utiÄnice (engl. raw sockets) (IP sloj) su obiÄno najefikasnije na UNIX maÅ¡inama, dok su ethernet frame−ovi obavezni na Windows OS−u (IP sloj), jer je Microsoft izbacio podrÅ¡ku za sirove utiÄnice. Nmap ipak koristi sirove IP pakete na UNIX−u, bez obzira na ovu opciju, ako nema drugog izbora (recimo kad ste na mreži koja nije ethernet).

−−send−ip (Å alji na sirovom (raw) IP sloju)

Zatraži Nmap da Å¡alje pakete preko sirovih IP utiÄnica umjesto preko nižih ethernet okvira ( engl.frame). To je dodatak opciji −−send−eth objaÅ¡njenoj malo prije.

−−privileged (Pretpostavka da je korisnik u potpunosti privilegiran (op. prev. administrator sustava))

Kaže Nmap−u da jednostavno pretpostavi kako je dovoljno privilegiran da može koristiti sirove utiÄnice (engl. raw sockets), snifati pakete i sliÄne radnje koje na UNIX sustavima zahtjevaju root prava. Defaultno, Nmap prekida rad, ako su takve radnje zatražene od njega, ali getuid() nije nula (op. prev. korisnik nema ta prava). −−privileged opcija je korisna na onim sustavima koji omoguÄuju neprivilegiranim korisnicima koriÅ¡tenje sirovih paketa (poput Linux kernela isl.). Obavezno navedite ovu opciju prije bilo koje druge koja zahtijeva privilegije (poput SYN scan−a, OS detekcije isl.). Alternativa ovoj opciji je NMAP_PRIVILEGED varijabla.

−−noninteractive (Za pokretanje Nmap−a iz nekog drugog programa)

Ovu opciju možete navesti kad je Nmap pokrenut od strane neke druge aplikacije. Trenutno je jedina razlika u tome Å¡to je Runtime interaction (opisano u poglavlju nazvanom the section called “INTERAKCIJA ZA VRIJEME IZVRÅ AVANJA”) iskljuÄeno. Bez obzira na zbunjujuÄe sliÄno ime, ova opcija nije jednostavna suprotnost −−interactive opciji.

−V; −−version (IspiÅ¡i broj verzije)

IspiÅ¡e broj verzije Nmap−a i prekine izvrÅ¡avanje programa

−h; −−help (IspiÅ¡i sumarnu help stranicu)

IspiÅ¡e kratki help ekran s najÄeÅ¡Äe koriÅ¡tenim mokandama i zastavicama. Pokretanje Nmap−a bez ijednog argumenta napravi isto to.

INTERAKCIJA ZA VRIJEME IZVRÅ AVANJA

Bilješka
Ova opcija je za sad nedostupna na Windows OS−u

Tijekom izvrÅ¡avanja Nmap−a sve tipke koje pritisnete su uhvaÄene. To omoguÄvava interakciju s programom bez da ga zaustavljate u radu. OdreÄene specijalne tipke Äe mijenjati opcije, dok Äe druge ispisati statusne poruke koje vas obavjeÅ¡tavaju o tekuÄem skenu. Konvencija je takva da mala slova poveÄavaju koliÄinu ispisa, dok velika slova smanjuju koliÄinu ispisa. Ova funkcionalnost može biti iskljuÄena navoÄenjem −−noninteractive opcije.

v / V

PoveÄaj / smanji koliÄinu prikazanih informacija

d / D

poveÄaj / smanji nivo debugiranja

p / P

UkljuÄi / iskljuÄi praÄenje paketa

Bilo što drugo

IspiÅ¡e statusnu poruku poput sljedeÄe:

Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service Scan

Service scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 remaining)

PRIMJERI

Ovdje su neki primjeri koriÅ¡tenja Nmap−a i to od jednostavnih i rutinskih do malo manje kompleksnih i ezoteriÄnih. KoriÅ¡tene su neke stvarne IP adrese i domene kako bi stvar bila malo konkretnija. Umjesto njih trebali bi staviti adrese/domene iz svoje mreže.. Iako osobno ne smatram da je skeniranje tuÄih mreža iligelano i da bi trebalo biti, neki mrežni administratori ne vole nedozvoljeno skeniranje njihovih mreža i mogli bi se žaliti. Dobiti dozvolu prije samog Äina je u svakom sluÄaju ispravan postupak.

Za testiranje imate dozvolu skenirati host scanme.nmap.org. Dozvola vrijedi samo za skeniranje koriÅ¡tenjem Nmap−a i ne vrijedi za testiranje exploita i DOS (denial of Service) napada. Kako ne bi preopteretili mrežu, molim Vas da ne skenirate viÅ¡e od 12−tak portova dnevno. Ukoliko Äe ovaj host biti napadan na bilo koji naÄin, uklonit Äu ga s NET−a i Nmap Äe javiti greÅ¡ku Failed to resolve given hostname/IP: scanme.nmap.org. Ova dozvola vrijedi i za hostove scanme2.nmap.org, scanme3.nmap.org itd., iako navedeni hostovi za sad ne postoje.

nmap −v scanme.nmap.org

Ova naredba skenira sve rezervirane TCP portove na raÄunalu scanme.nmap.org. Opcija −v ukljuÄuje verbose mod..

nmap −sS −O scanme.nmap.org/24

PokreÄe skriveni (engl. stealth) SYN scan prema svakom raÄunalu koje je upaljeno od njih 255 moguÄih na mreži “class C” na kojoj se nalazi scanme host. TakoÄer pokuÅ¡a ustanoviti koji OS je pokrenut na svakom od otkrivnih (upaljenih) hostova. Ovo zahtijeva root prava zbog SYN scan−a i OS detekcije.

nmap −sV −p 22,53,110,143,4564 198.116.0−255.1−127

PokreÄe enumeraciju hostova i TCP scan na prvoj polovici svakog od 255 moguÄih 8 bitnih subneta u mrežnog ID−a 192.168 klase B adresnog prostora. Scan provjerava da li je na ciljanim raÄunalima pokrenut sshd, DNS, pop3d, imapd i/ili port 4564. Za svaki od navedenih portova koji su otvoreni, pokrenuto je i otkrivanje verzije, kak obi se ustanovilo koja aplikacija je otvorila taj port.

nmap −v −iR 100000 −P0 −p 80

Ova naredba zatraži Nmap da nasumiÄno odabere 100 000 hostova i skenira ih u potrazi za web serverom (port 80). Enumeracija hostova je iskljuÄena opcijom −P0, jer slanje nekoliko sondi kako bi se ustanovilo da li je host upaljen ili ne kad se skenira samo jedan port je ionako nepotrebno.

nmap −P0 −p80 −oX logs/pb−port80scan.xml −oG logs/pb−port80scan.gnmap 216.163.128.20/20

Skenira 4096 IP adresa za web serverom (bez prethodnog pinganja) i sprema izvještaj u grepabilnom iXML formatu.

GREÅ KE

Poput svog autora niti Nmap nije savrÅ¡en, no Vi možete pomoÄi slanjem prijava o greÅ¡kama, pa Äak i piÅ¡uÄi patcheve. Ukoliko se Nmap ne ponaÅ¡a onako kako oÄekujete od njega, najprije ga nadogradite na najnoviju verziju dostupnu na https://nmap.org/. Ukoliko je problem i dalje tu, istražite da li je veÄ otkriven i prijavljen. PokuÅ¡ajte “zaguglati” poruku o greÅ¡ci ili otiÄite na Nmap−dev arhive na http://seclists.org/. TakoÄer proÄitajte i kompletan manual. Ukoliko niÅ¡ta od toga ne pomogne, poÅ¡aljite izvjeÅ¡taj o greÅ¡ci na . Molim Vas napiÅ¡ite sve Å¡to ste do tad otkrili o problemu, te koju verziju Nmap− imate i koju verziju OS−a imate. IzvjeÅ¡taji o prijavljenim problemima i upiti o koriÅ¡tenju Nmap−a koji su poslani na dev@nmap.org imaju viÅ¡e Å¡ansi da budu odgovoreni nego oni poslani direktno Fyodor−u.

Patchevi za otklanjanje bugova su joÅ¡ i bolji od samih prijava. Osnovne upute za kreiranje patch datoteka s promjenama su dostupne na https://nmap.org/data/HACKING. Patchevi mogu biti poslani na nmap−dev (Å¡to je preporuÄeno) ili direktno Fyodoru.

AUTHOR

Fyodor (http://www.insecure.org)

Stotine ljudi su doprinjeli u stvaranju Nmap−a tijekom godina. To je navedeno u CHANGELOG datoteci koja je distribuirana s Nmap−om, a dostupna je i na sljedeÄem linku: https://nmap.org/changelog.html.

PRAVNE SMJERNICE

Nmap Copyright i licenciranje
Nmap sigurnosni skener je (C) 1996−2005 Insecure.Com LLC. Nmap je takoÄer reigistered trademark Insecure.Com LLC. Program je besplatan;možete ga redistribuirati a/ili modificirati pod uvjetima GNU General Public License kako je objavljeno od strane Free Software Fondacije;Verzija 2. To vam garantira pravo koriÅ¡tenja, modificiranja i redistribuiranja ovog softvera pod odreÄenim uvjetima. Ukoliko želite inkorporirati Nmap tehnologiju u svoj softver, možda Äemo vam prodati dodatne licence (kontaktirajte ). Mnogi proizvoÄaÄi sigurnosnih skenera veÄ imaju licencu Nmap tehnologije poput otkrivanja hostova, skeniranja portova, OS detekcije i otkrivanja servisa/verzije.

Imajte na umu da GPL postavlja važna ograniÄenja na “derivirana djela”, ali ne daje detaljne definicije istih. Kako bi se izbjegli nesporazumi, za potrebe ove licence, mi smatramo da aplikacija sadrži “ derivirano djelo”, ako Äini bilo Å¡to od navedenog:

• UkljuÄuje izvorni kod iz Nmap−a

• Äita ili sadrži Nmap datoteke koje imaju copyright, poput nmap−os−fingerprints ili nmap−service−probes.

• PokreÄe Nmap i Äita njegove rezultate (za razliku od tipiÄnih shell ili izvrÅ¡nih meni aplikacija, koje jednostavno ispiÅ¡u sirovi Nmap izvjeÅ¡taj i time nisu derivirana djela).

• Integrira/sadrži/agregira Nmap u neki izvrÅ¡ni instaler, poput onog napravljenog od strane InstallShield−a.

• Linka na biblioteku (dll, op. prev.) ili izvrÅ¡u datoteku koja radi bilo Å¡to od gore navedenog.

Naziv “Nmap” je takoÄer ukljuÄen u to. Ova lista nije eksluzivna, ali je navedena kako bi pojasnila naÅ¡u interpretaciju deriviranih djela s najÄeÅ¡Äim primjerima. Zabrane se primjenjuju samo u sluÄaju da uistinu redistribuirate i Nmap. Npr. miÅ¡ta vas ne sprjeÄava da napiÅ¡ete i prodate front−end za Nmap. Distribuirajte front end i usmjerite ljude na https://nmap.org/ kako bi preuzeli Nmap.

Ne smatramo da su to dodatne zabrane povrh GPL−a, nego samo pojaÅ¡njenja toga kako mi interpretiramo “ derivirano djelo” jer se primjenjuje na naÅ¡ produkt pod GPL licencom. To je sliÄno naÄinu na koji je Linus Torvalds objavio svoju interpretaciju “deriviranog djela” i kako se to odnosi na module linux kernela. NaÅ¡a interpretacija se odnosi samo na Nmap − ne govorimo o nijednom drugom produktu licenciranom po GPL−u.

Ukoliko imate bilo kakvo pitanje o GPL licenciranju i restrikcijama kod koriÅ¡tenja Nmap−a u ne GPL djelima, rado Äemo Vam pomoÄi. Kao Å¡to je gore navedeno, takoÄer nudimo i alternativne licence za integriranje Nmapa u neke druge aplikacije i ureÄaje. Takvi ugovori su prodani mnogim sigurnosnim izdavaÄima i generalno sadrže stalnu licencu kao i uslugu prioritetne podrÅ¡ke, a uz to financijski pomažu kontinuirani razvoj Nmap tehnologije. Molimo Vas da poÅ¡ aljete mail na za daljne informacije.

Kao posebno izuzeÄe od GPL uvjeta, Insecure.Com LLC daje dozvolu za povezivanje koda ovog programa s bilo kojom verzijom OpenSSL biblioteke koja je distribuirana pod sliÄnom licencom kao i s licencom koja se nalazi u datoteci Copying.OpenSSL i distribuirati povezanu kombinaciju oba programa. Morate poÅ¡tivati GNU GPL na svim podruÄjima za bilo koji kod koji nije OpenSSL. Ukoliko modificirate navedenu datoteku možete proÅ¡iriti to izuzeÄe i na svoju verziju programa, ali niste obavezni to napraviti.

Ukoliko dobijete navedene datoteke s pismenom licencom ili ugovorom koji navodi drukÄije uvjete od navedenih gore, onda je ta alternativna licenca jaÄa i preuzima primat.

Creative Commons licenca za ove upute
Nmap referentne upute su (C) 2005 Insecure.Com LLC. Time su stavljene pod verziju 2.5
Creative Commons Attribution License [3] . To Vam omoguÄuje da redistribuirate, modificirate tekst po želji, dok god navodite druge izvore koji su radili na njemu. Osim toga, možete tretirati ovaj dokument kao da spada pod istu licencu kao i Nmap (obajÅ¡njeno prije).

Dostupnost izvornog koda i doprinos zajednici (engl. comunity)
Izvorni kod je dostupan s programom zato jer vjerujemo da korisnik ima pravo znati Å¡to uistinu program radi prije nego Äe ga pokrenuti. To Vam isto tako omoguÄava provjeru softvera na sigurnosne rupe (do sad nije pronaÄena niti jedna).

Izvorni Vam kod isto tako omoguÄava prijenos Nmap−a na nove platforme, popravljanje greÅ¡aka i dodavanje novih moguÄnosti. Potaknuti ste da promjene poÅ¡aljete na kako bi eventualno bile inkorporirane u buduÄe verzije glavne distribucije. Slanjem promjena Fyodoru ili nekom na Insecure.Org mailing listi developera, podrazumijeva se da Fyodoru i Insecure.Org−u dajete puna prava na koriÅ¡tenje, modificiranje i relicenciranje koda. Nmap Äe uvijek biti dostupan kao open source, ali to je bitno jer je nemoguÄnost relicenciranja koda stvorila ogromne probleme nekim drugim besplatnim softverskim projektima (poput KDE−a i NASM−a). TakoÄer povremeno relicenciramo kod drugim tvrtkama kako je navedeno gore. Ukoliko želite definirati posebne licenÄne uvjete za svoj doprinos, navedite to odmah kad ih poÅ¡aljete.

Nema garancije
Program je distribuiran u nadi da Äe bit koristan, ali BEZ IKAKVE GARANCIJE; Äak i bez pretopstavljene garancije na PRIHVATLJIVU KVALITETU ili SPOSOBNOST ZA ODREÄENE ZADAÄE. Pogledajte GNU General Public License za viÅ¡e detalja na
http://www.gnu.org/copyleft/gpl.html ili u COPYING datoteci ukljuÄenoj s Nmap distribucijom.

Treba uzeti u obzir da je Nmap povremeno sruÅ¡io loÅ¡e napisane aplikacije, TCP/IP stackove, pa Äak i operativne sustave. Iako je to ekstremno rijetko, važno je za znati. Nmap nikad ne bi trebalo pokrenuti na kritiÄnim sustavima osim ako ste spremni prihvatiti da sustav neko vrijeme ne radi. Ovdje potvrÄujemo da Nmap može sruÅ¡iti vaÅ¡ sustav ili mrežu i ograÄujemo se od bilo kakve odgovornosti za bilo kakvu Å¡tetu ili problem prouzroÄen od Nmap−a.

Neispravno korištenje
Zbog male moguÄnosti pada sustava i zbog toga Å¡to neki crno Å¡eÅ¡iraÅ¡i vole koristiti Nmap za prikupljanje informacija, postoje administratori koji se uznemire i mogu se žaliti kad primjete da im je mreža skenirana. Stoga je uvijek preporuÄeno zatražiti dozvolu prije nego zapoÄnete i lagani scan mreže.

Nmap nikad ne bi trebao biti instaliran sa specijalnim privilegijama (npr. suid root) iz sigurnosnih razloga.

Softver drugih tvrtki
Ovaj produkt sadrži softver razvijen od
Apache Software Fondacije [11] . Modificirana verzija Libpcap prijenosne paket capture biblioteke [12] je distribuirana zajedno s Nmap−om. Windows verzija Nmap−a koristi obradu libpcap−a − WinPcap [13] . PodrÅ¡ka za regularne izraze je dana od PCRE biblioteke [14] koja je open source softver. Napisao ga je Philip Hazel. Neke funkcije sirovog netvorkinga koriste Libdnet [15] mrežnu biblioteku koju je napisao Dug Song. Modificirana verzija je distribuirana s Nmap−om. Nmap se opcionalno može povezati s OpenSSL kriptografskim alatima [16] za podrÅ¡ku detekcije SSL verzije. Sav gore navedeni softver se slobodno redistribuira pod softverskom licencom po BSD−u.

Klasifikacija kontrole izvoza u US−u.
Klasifikacija kontrole izvoza u US−u: Insecure.Com LLC vjeruje da Nmap spada pod US ECCN (export control clasification number − klasifikacijski broj kontrole izvoza) 5D992. Ta se kategorija zove “Softver informacijske sigurnosti koji nije kontroliran ECCN−om 5D002”. Jedina zabrana te klasifikacije je AT (anti terorizam), koja se primjenjuje na gotovo svu robu i zabranjuje izvoz hrpi lažljivih zemalja, poput Iran−a i Sjeverne Koreje (op. prev. iliti onih s kojima Ameri nisu dobri). Tako da Nmap ne zahtijeva nikakvu posebnu licencu, dozvolu ili bilo kakvu drugu autorizaciju ameriÄke vlade.

BILJEÅ KE

1.

https://nmap.org/

2.

originalne Engleske verije

https://nmap.org/man/

3.

Creative Commons Attribution Licence

http://creativecommons.org/licenses/by/2.5/

4.

RFC 1122

http://www.rfc-editor.org/rfc/rfc1122.txt

5.

RFC 792

http://www.rfc-editor.org/rfc/rfc792.txt

6.

UDP

http://www.rfc-editor.org/rfc/rfc768.txt

7.

TCP RFC

http://www.rfc-editor.org/rfc/rfc793.txt

8.

RFC 959

http://www.rfc-editor.org/rfc/rfc959.txt

9.

Nmap::Scanner

http://sourceforge.net/projects/nmap-scanner/

10.

Nmap::Parser

http://www.nmapparser.com

11.

Apache Software Fondacije

http://www.apache.org

12.

Libpcap prijenosne paket capture biblioteke

http://www.tcpdump.org

13.

WinPcap

http://www.winpcap.org

14.

PCRE biblioteke

http://www.pcre.org

15.

Libdnet

http://libdnet.sourceforge.net

16.

OpenSSL kriptografskim alatima

http://www.openssl.org