Provided by: nmap_7.94+git20230807.3be01efb1+dfsg-3build2_amd64
MENO
nmap - Nastroj na skumanie siete a scanner bezpecnosti/portov
PREHĽAD
nmap [Typ scanu...] [Moznosti] {Specifikacia cielovej stanice}
OPIS
Nmap (“Network Mapper”) je open-source nastrojom na skumanie siete a kontrolu bezpecnosti. Bol vyvinuty s ohladom na rychle scanovanie velkych sieti, hoci funguje vyborne aj pri nasadeni proti jednotlivym hostitelom. Nmap neobvyklymi sposobmi pouziva neupravene IP pakety na urcenie hostitelskych stanic v sieti, sluzieb, ktore (aplikacia Nmap neobvyklym sposobom pouziva neupravene IP pakety na urcenie cisla a verzie) tieto hostitelske stanice ponukaju, na akom operacnom systeme (a verziach OS) bezia, aky typ paketovych filtrov alebo firewallu je pouzity, a mnoho dalsich charakteristickych veci. Hoci sa Nmap bezne pouziva na vykonavanie kontrol bezpecnosti, mnoho systemovych a sietovych administratorov ho vyuzije aj pri obvyklych ulohach ako napriklad obsah siete, sprava casovych rozvrhnuti upgradeovania sluzby ci monitorovanie uptimu hostitelskej stanice alebo sluzby. Vystup aplikacie Nmap je tvoreny zoznamom scanovanych cielovych stanic s dodatocnymi informaciami o kazdom z nich v zavislosti na pouzitych moznostiach. Klucovou medzi tymito informaciami je “tabulka zaujimavych portov ”. Tato tabulka obsahuje zoznam cisla portu a protokolu, nazov sluzby a stav. Stav moze byt bud otvoreny, filtrovany, zatvoreny, alebo nefiltrovany. Otvoreny Open znamena, ze aplikacia na cielovom pocitaci nacuva spojeniam alebo paketom na tomto porte. Filtrovany znamena, ze nejaky firewall, filter alebo sietova prekazka blokuje port takym sposobom, ze Nmap nedokaze urcit, ci je port otvoreny alebo zatvoreny. Zatvorene porty neobsahuju ziadne na nich nacuvajuce aplikaciu, aj ked by sa mohli kedykolvek otvorit. Porty su oznacovane ako nefiltrovane ak reaguju na testovanie Nmapom, no Nmap nedokaze urcit, ci su otvorene alebo zatvorene. Nmap ohlasi kombinaciu stavov otvoreny|filtrovany a zatvoreny|filtrovany ak nedokaze urcit, ktory z dvoch stavov zodpoveda portu. . Ak bola vyzadovana detekcia verzie, tabulka portov moze takisto obsahovat podrobnosti o verzii softwaru. Ak je vyzadovany scan protokolu IP (-sO), Nmap poskytne informacie namiesto nacuvajucich portov informacie o podporovanych protokoloch IP. Okrem tabulky zaujimavych portov dokaze Nmap poskytnut dalsie informacie o cielovych staniciach, vratane reverznych nazvov DNS, odhadov operacneho systemu, typoch zariadeni a MAC adries. Typicky Nmap scan je zobrazeny na tomto mieste.Príklad 1, “Ukazkovy Nmap scan”. Jedinymi parametrami Nmapu pouzitymi v tomto priklade su -A, na povolenie detekcie OS a verzie,-T4 kvoli rychlejsiemu behu programu, a dva hostitelske nazvy cielovych stanic. Príklad 1. Ukazkovy Nmap scan # 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 400x250; 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 Najnovsia verzia Nmapu sa nachadza na adrese https://nmap.org/. Najnovsia verzia manualu je k dispozicii na adrese https://nmap.org/man/.
POZNAMKY O PREKLADE
Tato slovenska verzia referencnej prirucky Nmapu bola prelozena z verzie 2991 povodnej anglickej verzie[1] Stanislavom Sivakom. Dufam sice, ze tento preklad viac spristupni Nmap slovensky hovoriacim ludom na celom svete, ale nemozem zarucit, ze preklad je taky uplny alebo aktualny ako oficialna anglicka verzia. Toto dielo moze byt modifikovane a siritelne podla podmienok licencie Creative Commons Attribution License[2].
ZOZNAM MOZNOSTI
Tento zoznam moznosti sa zobrazi, ak je Nmap spusteny bez parametrov a jeho najnovsia verzia je k dispozii na adrese https://nmap.org/data/nmap.usage.txt. Pomaha ludom zapamatat si najbeznejsie moznosti, ale nie je nahradou za podrobnu dokumentaciu v zostavajucej casti tohoto manualu. Na tomto mieste nie su dokonca uvedene niektore malo zname, nejasne moznosti. Pouzitie: nmap [Typ(y) scanu] [Moznosti] {specifikacia cielovej stanice} SPECIFIKACIE CIELOVEJ STANICE: Je mozne zadat hostitelsky nazov stanice, IP adresy, siete atd. Priklad: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL <inputfilename>: Pouzit ako vstup zoznam hostistelskych stanic alebo sieti -iR <num hosts>: Zvolit nahodne cielove stanice --exclude <host1[,host2][,host3],...>: Vynechat hostitelske stanice alebo siete --excludefile <exclude_file>: Vynechat zoznam zo suboru ZISTOVANIE HOSTITELSKEJ STANICE: -sL: List Scan - zobrazit zoznam cielovych stanic, ktore sa maju scanovat -sP: Ping Scan - nevykonat nic ine okrem zistenia, ci je hostitelska stanice online -P0: Treat all hosts as online -- preskocit zistovanie hostitelskych stanic -PS/PA/PU [portlist]: pre zadane porty vykonat zistenie protokolov TCP SYN/ACK alebo UDP -PE/PP/PM: vyskusat ICMP echo, parameter timestamp a poziadavku na sietovu masku -n/-R: Nikdy nevykonavat DNS preklad/Vzdy vykonavat preklad DNS [povodne nastavenie: niekedy] --dns-servers <serv1[,serv2],...>: Zadat vlastne servery DNS --system-dns: Pouzit prekladac DNS operacneho systemu SPOSOBY SCANOVANIA: -sS/sT/sA/sW/sM: Scan typu TCP SYN/Connect()/ACK/Window/Maimon -sN/sF/sX: Scany typu TCP Null, FIN a Xmas --scanflags <flags>: Nastavit vlastne flagy scanu TCP scan -sI <zombie host[:probeport]>: Scan typu Idlescan -sO: Scan protokolu IP -b <ftp relay host>: Scan vyuzivajuci FTP bounce SPECIFIKACIA PORTOV A PORADIE SCANOVANIA: -p <port ranges>: Len specifikovane porty Priklad: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 -F: Fast - Vykonat scan len na portoch zahrnutych v subore nmap-services -r: Scanovat porty postupne a nie nahodne DETEKCIA SLUZBY/VERZIE: -sV: Testovat otvorene porty na urcenie informacii o sluzbe/verzii --version-light: Kvoli rychlejsej identifikacii sluzby/verzie vykonat len tie najpravdepodobnejsie testy --version-all: Vykonat vsetky mozne testy --version-trace: Zobrazit podrobnosti o priebehu scanovanie verzie (pre ucely debugovania) DETEKCIA OS: -O: Povolit detekciu OS --osscan-limit: Zuzit detekciu OS len na slubne vyzerajuce cielove stanice --osscan-guess: Pouzit agresivnejsiu detekciu OS CASOVANIE A VYKON: -T[0-5]: Nastavit casovaciu sablonu (vyssie cislo zodpoveda rychlejsej sablone) --min-hostgroup/max-hostgroup <size>: Velkosti skupin paralelnych scanov --min-parallelism/max-parallelism <numprobes>: Paralelizacia testu --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Udava velkost hodnoty RTT testu --max-retries <tries>: Udava pocet retransmisii testu scanovania portov. --host-timeout <msec>: Po uplynuti tohoto casoveho limitu ukoncit test cielovej stanice --scan-delay/--max-scan-delay <msec>: Prisposobit oneskorenie medzi testami OBIDENIE FIREWALLU/IDS A FALSOVANIE: -f; --mtu <val>: Fragmentovat pakety ( s pridanou moznostou fragmentovania podla velkosti MTU) -D <decoy1,decoy2[,ME],...>: Ukryt scan pouzitim trikov -S <IP_Address>: Sfalsovat zdrojovu adresu -e <iface>: Pouzit zadane rozhranie -g/--source-port <portnum>: Pouzit dane cislo portu --data-length <num>: Do odosielanych paketov vlozit nahodne data --ttl <val>: Nastavit velkost polozky time-to-live protokolu IP --spoof-mac <mac address/prefix/vendor name>: Sfalsovat MAC adresu aktualneho pocitaca --badsum: Odoslat pakety s falosnym kontrolnym suctom TCP/UDP VYSTUP: -oN/-oX/-oS/-oG <file>: Vystup scanu zadaneho suboru vo formate obycajnom, XML, s|<rIpt kIddi3, a Grep. -oA <basename>: Vystup sucasne vo vsetkych troch hlavnych formatoch -v: Zvysit uroven priebezneho vystupu (pre vacsi ucinok pouzit dvakrat) -d[level]: Nastavit alebo zvysit uroven debugovania (Zmysel maju hodnoty do 9) --packet-trace: Zobrazit vsetky odoslane a prijate pakety --iflist: Vytlacit rozhrania hostitelskej stanice a trasy (pre ucely debugovania) --append-output: Namiesto vymazania dat suborov pridat vystup k datam zadanych vystupnych suborov --resume <filename>: Pokracovat v prerusenom scane --stylesheet <path/URL>: Na prenesenie vystupu vo formate XML do formatu HTML pouzit stylesheet XSL --webxml: Na ziskanie prenositelnejsieho formatu XML pouzit referencny stylesheet zo stranky Insecure.Org --no-stylesheet: Nepouzivat stylesheet pre vystup v XML ROZNE: -6: Povolit scan pre protokol IPv6 -A: Povolit detekciu OS a verzie --datadir <dirname>: Zadat vlastne umiestnenie datoveho suboru pre Nmap --send-eth/--send-ip: Odoslat pouzitim neupravenych ethernetovych ramcov alebo IP paketov --privileged: Usudzovat, ze uzivatel ma plne opravnenia -V: zobrazit cislo verzie -h: zobrazit suhrn tejto stranky napovedy. PRIKLADY: 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
SPECIFIKACIA CIELOVEJ STANICE
Vsetko v prikazovom riadku Nmapu co nie je parametrom (alebo argumentom parametra) sa povazuje za specifikaciu cielovej stanice. Najjednoduchsim pripadom je specifikovat cielovu IP adresu alebo hostitelsky nazov stanice, ktora sa ma scanovat. Niekedy je potrebne scanovat celu siet susednych hostitelskych stanic. Pre tento ucel podporuje Nmap adresovanie typu CIDR. K IP adrese alebo hostitelskemu nazvu je mozne pripojit /numbits a Nmap vykona scan kazdej IP adresy, u ktorej sa zhoduju prve numbits s referencnou IP adresou alebo hostitelskym nazvom. Napriklad po zadani adresy v tvare 192.168.10.0/24 by sa scanovalo 256 hostitelskych stanic medzi 192.168.10.0 (v binarnom tvare: 11000000 10101000 00001010 00000000) a 192.168.10.255 (v binarnom tvare: 11000000 10101000 00001010 11111111), vratane. Zadanie adresy 192.168.10.40/24 by sposobilo presne to iste. Za predpokladu, ze nazov scanme.nmap.org je na IP adrese 205.217.153.62, specifikacia scanme.nmap.org/16 sposobi, ze by sa scanovalo 65,536 IP adries medzi adresami 205.217.0.0 a 205.217.255.255. Najmensia povolena hodnota je /1, co sposobi scanovanie polovice internetu. Najvacsia hodnota je 32, co ma za nasledok scanovanie len spomenutej hostitelskej stanice, pretoze vsetky bity IP adresy su pevne. Zapis typu CIDR je sice kratky, no nie vzdy dostatocne flexibilny. Napriklad, ak je potrebne scanovat adresy v rozsahu 192.168.0.0/16, ale pritom preskocit vsetky adresy zakoncene .0 alebo .255, pretoze bezne su to broadcastove adresy. Nmap to podporuje pomocou pouzitia specifikacie jednotlivych oktetov adresy. Namiesto zadania obycajnej IP adresy je mozne specifikovat zoznam cisel alebo rozsah pre kazdy oktet, oddeleny ciarkou. Rozsah 192.168.0-255.1-254 napriklad preskoci vsetky adresy v zadanom rozsahu, ktore obsahuju na konci .0 alebo .255. Rozsahy sa nemusia viazat len na posledne oktety: specifikacia 0-255.0-255.13.37 vykona scan vsetkych adries na internete konciace oktetmi 13.37. Tento druh specifikacie sa moze hodit pri skumani internetu a vyskume. Adresy protokolu IPv6 mozu byt specifikovane len plne urcenou IPv6 adresou alebo hostitelskym nazvom. Zapisy typu CIDR a rozsahy oktetov nie su podporovane pre IPv6, pretoze su zriedkavo uzitocne. Nmap akceptuje viacnasobne specifikacie hostitelskych stanic v prikazovom riadku, ktore pritom nemusia byt rovnakeho typu. Prikaznmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255 funguje podla ocakavania. Zatial co su cielove stanice obvykle specifikovane v prikazovom riadku, je mozne tiez specifikovat nasledujuce moznosti, a tym riadit vyber cielovych stanic: -iL <inputfilename> (Vstup zo zoznamu) Nacita specifikacie cielovych stanic z inputfilename. Zadavanie velkeho zoznamu hostitelskych stanic do prikazoveho riadku je casto tazkopadne avsak casto ziadane. Napriklad vas DHCP server moze exportovat zoznam momentalnych 10000 pridelenych adries, ktore sa maju scanovat, alebo je mozne scanovat vsetky IP adresy okrem tychto na zistenie hostitelskych stanic pouzivajucich neopravnene staticke adresy. Vytvorite zoznam hostitelskych stanic, ktore sa maju scanovat a nazov suboru zadate ako argument k parametru-iL. Polozky v subore mozu byt v lubovolnom formate, ktory je akceptovany Nmapom v prikazovom riadku (IP adresa, hostitelsky nazov, IP adresa typu CIDR, IPv6, alebo rozsahy oktetov). Kazda polozka musi musi byt oddelena aspon jednou medzerou, tabulatormi alebo novym riadkom. Ak sa maju hostitelske stanice nacitavat zo standardneho vstupu a nie aktualneho suboru, je mozne pouzit spojitko (-) -iR <num hosts> (Vybrat nahodne cielove stanice) Pre rozsiahle internetove prieskumy a dalsi vyskum je mozne zvolit nahodne cielove stanice. Argument num hosts udava, kolko IP adries ma Nmap generovat. Automaticky sa preskocia adresy privatne, multicastove alebo nealokovane. Argument 0 udava scan, ktory sa nikdy neskonci. Je potrebne uvedomit si, ze niektori sietovi administratori s nevolou sleduju neopravnene scanovania sieti a mozu sa stazovat. Pouzitie tejto moznosti je na vlastne nebezpecie! Ak sa budete v jedno dazdive odpoludnie naozaj nudit, pokuste sa prikazom nmap -sS -PS80 -iR 0 -p 80 najst nahodne webove servery. --exclude <host1[,host2][,host3],...> (Vynechat hostitelske stanice alebo siete) Specifikuje zoznam cielovych stanic oddelenych ciarkou, ktore sa maju vynechat zo scanu, aj ked su castou celkoveho specifikovaneho sietoveho rozsahu. Zoznam pouziva obvyklu syntax Nmapu, to znamena hostitelske nazvy, bloky adries podla CIDR, rozsahy oktetov, atd. Tato moznost je uzitocna, ak sa v scanovanych sietach vyskytuju nedotknutelne kriticke servery, systemy s nepriaznivou reakciou na scanovanie portov, ci systemy spravovane dalsimi ludmi. --excludefile <exclude_file> (Vynechat subor zo zoznamu) Ponuka podobnu funkcionalitu ako moznost --exclude s tym rozdielom, ze vynechane cielove stanice su namiesto prikazoveho riadku ulozene v exclude_file s polozkami oddelenymi novym riadkom, medzerou alebo tabulatorom.
ZISTOVANIE HOSTITELSKYCH STANIC
Jednym z uplne prvych krokov pri prieskume siete je zuzit niekedy obrovsku mnozinu rozsahov IP adries na zoznam aktivnych alebo zaujimavych hostitelskych stanic. Scanovanie kazdeho portu kazdej jednej adresy nie je obycajne nevyhnutne. Samozrejme, ze ciel scanovania zavisi od typu scanu. Sietovych administratorov mozu zaujimat len hostitelske stanice, na ktorych bezi urcita sluzba, kym spravcov bezpecnosti mozu dbat o kazde zariadenie s IP adresou. Administratorovi moze stacit ICMP ping, aby nasiel hostitelske stanice vo vnutornej sieti, kym tester moznosti vonkajsieho preniknutia do siete moze pouzit mnozinu testov pri pokuse vyhnut sa obmedzeniam firewallu. Pretoze potreby pri zistovanie hostitelskych stanic su rozmanite, Nmap ponuka siroku paletu moznosti prisposobenia pouzitych technik. Zistovanie hostitelskej stanice sa niekedy nazyva ping scan, zachadza vsak daleko za jednoduchym ICMP echo request spojenou so vsadepritomnym ping nastrojom. Pouzivatelia mozu krok pingovania vynechat uplne pouzitim parametra (-sL) alebo zakazanim pingu parametrom (-P0), ci pouzit v sieti nahodne kombinacie multi-portovych testov TCP SYN/ACK, UDP, a ICMP. Cielom tychto testov je pokusit sa ziskat odpovede, ktore ukazuju, ze IP adresa je vlastne aktivna (je pouzivana hostitelskou stanicou alebo sietovym zariadenim). Vo viacerych sietach je aktivne len male percento IP adries v rovnakom momente, co je obvykle hlavne pre rozsah privatnych adries, napr. 10.0.0.0/8 podla standardu RFC1918. Tato siet obsahuje 16 milionov IP adries, ale videl som, ze ich pouzivali spolocnosti s menej ako tisic pocitacmi. Zistovanie hostitelskych stanic dokaze najst tieto pocitace v riedko alokovanom oceane IP adries. Ak nie su zadane ziadne parametre pre zistovanie hostitelskych stanic, Nmap odosle kazdej cielovej stanici TCP ACK paket urceny pre port 80 a poziadavku ICMP Echo Request. Vynimkou je je ARP scan pouzivany pre vsetky cielove stanice v lokalnej ethernetovej sieti. Pri neprivelegovanych pouzivateloch UNIXoveho shellu sa namiesto typu ACK odosle paket typu SYN pouzitim systemoveho volaniaconnect() Tieto predvolene nastavenia odpovedaju parametrom -PA -PE. Taketo zistovanie hostitelskych stanic je sice casto postacujuce pri scanovani lokalnych sieti, ale pri testovani bezpecnosti sa odporuca pouzit rozsiahlejsiu mnozinu testov na zistovanie. Parametre-P* (vyberajuce typy pingu) sa mozu kombinovat. Vyhliadky preniknutia nekompromisnymi firewallmi sa mozu zvysit odoslanim viacerych typov testov vyuzivajuc rozlicne typy portov a priznakov TCP a ICMP sprav. Je dolezite vsimnut si, ze zistovanie ARP (-PR) sa normalne vykonava na cielovych staniciach v lokalnej ethernetovej sieti, aj pri zadani dalsich parametrov -P*, pretoze je to takmer vzdy rychlejsie a efektivnejsie. Nasledujuce parametre sluzia na ovladanie zistovania hostitelskych stanic. -sL (List scan) List scan je neupravena podoba zistovania hostitelskych stanic, ktora jednoducho zobrazi zoznam kazdej hostitelskej stanice specifikovanej sieti bez odoslania paketov cielovym staniciam. V predvolenom nastaveni vykonava Nmap reverzny preklad DNS hostitelskych stanic kvoli ziskaniu nazvov. Je casto prekvapujuce, kolko uzitocnych informacii vydaju jednoduche hostitelske nazvy. Napriklad nazov fw.chi.playboy.com je firewallom spolocnosti Playboy Enterprises kancelarie v Chicagu. Nmap na konci takisto oznami celkovy pocet IP adries. Zoznam scanovania je dobrou kontrolou spravnosti, ze su vybrate nalezite IP adresy. Ak hostitelske stanice vykazuju nazvy domen, ktore nerozponavate, je ich vhodne preskumat hlbsie, aby sa predislo scanovaniu siete nespravnej spolocnosti. Kedze myslienkou je len jednoduchy vypis zoznamu hostitelskych stanic, parametre funkcionality vyssieho stupna ako scanovanie portov, detekcia OS alebo scanovanie pouzitim pingu nemoze byt kombinovane. Ak chcete zakazat vykonat tieto vyssie funkcie a zakazat scanovanie pouzitim pingu, dalsie informacie su uvedene pri parametri -P0. -sP (Ping scan) Tento parameter zabezpeci, ze sa vykona len ping scan (zistovanie hostitelskych stanic) a potom sa zobrazia dostupne hostitelske stanice, ktore odpovedali na scan. Ziadne dalsie testovanie ako scan portov alebo detekcia OS, sa nevykona. Je to o krok dotieravejsie ako list scan a casto sa moze pouzit pre rovnake ucely. Dovoluje jemne preskumanie cielovej siete bez vzbudenia velkej pozornosti. Poznatok o pocte aktivnych hostitelskych stanic je pre utocnikov cennejsi ako zoznam poskytnuty list scanom kazdej IP adresy a nazvu host. stanice. Systemovi administratori tiez casto ocenia tento parameter. Moze sa pouzit jednoducho na zistenie poctu dostupnych pocitacov v sieti alebo monitorovanie dostupnosti servera. Casto sa to nazyva ping sweep a je spolahlivejsie ako vysielanie pingu broadcastovej adrese, pretoze mnoho hostitelskych stanic neodpoveda na broadcastove poziadavky. Parameter-sP normalne vysle ICMP echo request a TCP paket na port 80. Ak je prikaz spusteny neprivilegovanym pouzivatelom, vysle sa na port 80 cielovej stanice SYN paket (pouzitim volania funkcie connect()). Ak sa privilegovany pouzivatel pokusa scanovat cielove stanice na lokalnej ethernetovej sieti, pouzivaju sa spravy ARP request (-PR) , ak nie je explicitne zadany parameter --send-ip. Parameter-sP sa moze kombinovat s akymkolvek z testov zistovania ( parametre -P*, s vynimkou -P0) kvoli vacsej flexibilite. Ak sa pouziju nejake z tychto typov testov a parametrov cisel portov, prepisu sa tym predvolene testy (ACK a echo request). Ak sa medzi zdrojovou host. stanicou so spustenym Nmapom a cielovou sietou nachadza nekompromisny firewall, odporuca sa pouzitie tychto pokrocilych technik, inac by mohli hostitelske stanice chybat v pripade, ze firewall vyluci spusteny test alebo odpovede hostitelskych stanic. -P0 (Bez pingu) Tento parameter kompletne preskoci fazu zistovania. Nmap obvykle pouziva tuto fazu na zistenie aktivnych pocitacov pred rozsiahlejsim scanovanim. V predvolenom nastaveni vykonava Nmap len intenzivne testovanie ako scanovania portov, detekciu verzie alebo detekciu OS pri zistenych aktivnych hostitelskych staniciach. Zakazanie zistovania hostitelskych stanic parametrom -P0 sposobi, ze Nmap vykona pozadovanie funkcie scanovania na kazdej specifikovanej IP adrese. Takze ak je v prikazovom riadku zadany adresovy priestor triedy B (/16), bude sa scanovat vsetkych 65 536 IP adries. Druhy znak v parametri -P0 je nula a nie pismeno O. Riadne zistovanie hostitelskych stanic sa vynecha ako pri list scane, ale namiesto zastavenia a zobrazenia cieloveho zoznamu, Nmap pokracuje vo vykonavani pozadovanych funkcii ako keby bola kazda cielova IP adresa aktivna. -PS [portlist] (Ping TCP SYN ) Tento parameter vysiela prazdny TCP paket s nastavenym flagom SYN. Predvoleny cielovy port je 80 (konfigurovatelny v case kompilacie zmenou hodnoty premennej DEFAULT_TCP_PROBE_PORT v subore nmap.h), no alternativny port moze byt specifikovany ako parameter. Zoznam portov oddeleny ciarkou moze byt dokonca specifikovany za parametrom (napriklad -PS22,23,25,80,113,1050,35000), a v tomto pripade sa testy budu vykonavat paralelne pre kazdy port. SYN flag vyjadruje pre vzdialeny system pokus o nadviazanie spojenia. Za normalnych podmienok by bol cielovy port zatvoreny a spat by bol odoslany RST(reset) paket. Ak sa port zda byt otvoreny, ciel vysle druhy stupen mechanizmu TCP 3-way handshake, a teda odpovie SYN/ACK TCP paketom. Pocitac so spustenym Nmapom potom zrusi vznikajuce spojenie odpovedanim RST paketom namiesto ACK paketom, ktory by dokoncil uplny mechanizmus 3-way-handshake a nadviazal plne spojenie. RST paket nie je odoslany Nmapom, ale kernelom pocitaca, na ktorom je spusteny Nmap, ako odpoved na neocakavany paket SYN/ACK. Nmap sa nestara o to, ci je port otvoreny alebo zatvoreny. Odpoved s flagom RST alebo SYN/ACK opisana vyssie prezradi Nmapu, ci je hostitelska stanica dostupna a ci odpoveda. Na pocitacoch s UNIXom moze vseobecne len privilegovany pouzivatel root posielat a prijimat neupravene TCP pakety. Pri neprivilegovanych pouzivateloch sa automaticky pouzije systemove volanie funkcie connect() na kazdy cielovy port. Ma to za efekt odoslanie SYN paketu cielovej stanici ako pokusu o nadviazanie spojenia. Ak funkcia connect() vrati rychlo uspesny vysledok alebo chybu ECONNREFUSED, zakladny TCP stack musel prijat SYN/ACK alebo RST paket a hostitelska stanica je oznacena ako dostupna. Ak je pokus o spojenie neukonceny az do dosiahnutia casoveho limitu, hostitelska stanica je oznacena ako nedostupna. To sa pouziva aj pre spojenia pre protokol IPv6, kedze podpora neupravenych IPv6 paketov v Nmape este nie je dostupna. -PA [portlist] (Ping TCP ACK) Ping TCP ACK je dost podoba na prave rozobraty SYN ping. Rozdiel je v tom, ze namiesto SYN flagu je nastaveny ACK flag. Takyto ACK paket znaci potvrdenie dat nad vybudovanym TCP spojenim, ale pritom ziadne taketo spojenie neexistuje, takze vzdialene hostitelske stanice by mali vzdy odpovedat RST paketom, cim v tomto procese prezradia svoju existenciu. Parameter-PA pouziva rovnaky predvoleny port ako test SYN (80) a takisto moze spracovat zoznam cielovych portov v rovnakom formate. Ak sa o to pokusa neprivilegovany pouzivatel alebo je specifikovany cielova stanica s protokolom IPv6, pouzije sa obvykle systemove volanie funkcie connect(), co nie je bezchybne, pretoze connect() vysiela SYN paket a nie ACK paket. Pricinou moznosti zvolenia medzi testami SYN a ACK ping je maximalizovat sancu obidenia firewallov. Vela administratorov nastavi router a dalsie jednoduche firewally tak, ze blokuju prichadzajuce SYN pakety okrem tych, ktore su urcene pre verejne sluzby ako napr. webova stranka spolocnosti alebo postovy server. Toto brani pred dalsimi prichodzimi spojeniami k organizacii, zatial co pouzivatelia mozu nadvazovat neobmedzene vychadzajuce spojenia na internet. Tento bezstavovy pristup zabera malo systemovych prostriedkov na firewalle alebo routeri a je siroko podporovany v hardwarovych a softwarovych filtroch. Linuxovsky firewallovy software Netfilter/iptables ponuka parameter --syn na realizaciu tejto bezstavovej metody. Ak su zavedene taketo bezstavove pravidla, je mozne, ze testy SYN ping (-PS) pri zatvorenych cielovych portoch budu blokovane. V takychto pripadoch sa velmi zide test ACK, pretoze je schopny prejst tymito pravidlami. Dalsi bezny typ firewallu pouziva stavove pravidla, ktore odhadzuju neocakavane pakety. Tato funkcia bola spociatku implementovana hlavne na high-endovych firewalloch, hoci sa v poslednych rokoch stala beznejsou. Linuxovsky system Netfilter/iptables podporuje tuto funkciu cez parameter --state, ktory triedi pakety na zaklade stavu spojenia. Test SYN bude v takychto podmienkach pravdepodobne fungovat, zatial co ACK pakety budu vseobecne povazovane za falosne a budu zahodene. Riesenim tohoto problemu je vykonat oba testy SYN a ACK zadanim parametrov. -PS a -PA. -PU [portlist] (Ping UDP) Dalsou moznostou zistenia hostitelskych stanic je UDP ping, ktory vysiela prazdny UDP paket (v pripade, ze nie je specifikovany parameter --data-length ) na dane cielove porty. Zoznam portov ma rovnaky format ako pri predtym rozoberanych parametroch -PS a -PA. Ak nie je specifikovane inac, predvoleny port je 31338, co je mozne zmenit v case kompilacie zmenou premennej DEFAULT_UDP_PROBE_PORT v suborenmap.h. V predvolenom nastaveni sa pouziva velmi neobvykly port, pretoze odosielanie na otvorene porty je casto nevyziadane v tomto specialnom type scanovania. Po zisteni zatvoreneho portu na cielovej stanici by mal UDP test vratit spravu ICMP Port unreachable. To indikuje Nmapu, ze pocitac je aktivny a dostupny. Mnoho dalsich chybovych sprav ICMP ako host/network unreachable alebo TTL exceeeded indikuje neaktivnu alebo nedosiahnutelnu hostitelsku stanicu. Touto cestou sa interpretuje aj neobdrzanie ziadnej odpovede. Ak sa dosiahne otvoreny port, vacsina sluzieb jednoducho ignoruje prazdny paket a nevratia ziadnu odpoved. To je dovod, preco je predvolenym portom testu port 31338, u ktoreho je vysoka pravdepodobnost, ze sa nebude pouzivat. Niekolko sluzieb, napr. sluzba chargen, odpovie na prazdny UDP paket a takto prezradi Nmapu, ze pocitac je dostupny. Hlavna vyhoda tohoto typu scanu je, ze obchadza tie firewally a filtre, ktore presetruju len TCP protokol. Niekedy som napriklad vlastnil bezdratovy broadbandovy router Linksys BEFW11S4. Externe rozhranie tohoto zariadenia filtrovalo vsetky TCP porty v predvolenom nastaveni. ale UDP testy stale dokazali zistit spravy port unreachable a takto prezradit zariadenie. -PE; -PP; -PM (Typy ICMP Pingu ) Okrem neobvyklych, predtym rozoberanych typov TCP a UDP testov, Nmap dokaze odoslat normalne pakety odoslane vsade sa vyskytujucim programom ping. Nmap odosiela paket typu 8(echo request) na cielove IP adresy stanic, ocakavajuc, ze dostupne hostitelske stanice odpovedia spravou typu 0 (Echo Reply). Nanestastie pre sietovych badatelov, mnoho hostitelskych stanic a firewallov v sucasnosti blokuje tieto pakety namiesto odpovede podla normy RFC 1122[3]. Z tohoto dovodu su samotne ICMP scany zriedkavo spolahlive pri nasadeni proti neznamym cielovym staniciam na internete, no pre systemovych administratorov monitorujucich vnutornu siet mozu byt praktickou a efektivnou metodou. Tato moznost sa povoli zadanim parametra -PE. Aj ked echo request je standardnou poziadavkou ICMP pingu, Nmap pokracuje dalej. Standard ICMP (RFC 792[4]) takisto specifikuje poziadavky timestamp request, information request a address mask request ako spravy s kodmi 13, 15, a 17. Aj ked zdanlivy ucel pre tieto dotazy moze byt ziskanie informacii ako napr. masky adresy alebo momentalny cas, mozu byt lahko pouzite na zistovanie hostitelskych stanic. System, ktory odpovie, je aktivny a dostupny. Nmap v sucanosti neimplementuje poziadavky information request, pretoze nie su siroko podporovane. RFC 1122 trva na tom, ze “hostitelska stanica by NEMALA implementovat tieto spravy”. Dotazy na casove razitko a masku adresy mozu byt odoslane parametrami -PP a -PM. Odpoved timestamp reply (ICMP kod 14) alebo odpoved mask reply (kod 18) prezradi to, ze hostitelska stanica je dostupna. Tieto dve dotazy mozu byt cenne, ked administrator specificky zablokuje pakety poziadavky echo request a zabudne pritom, ze na tento ucel sa daju pouzit dalsie ICMP dotazy. -PR (Ping ARP ) Jeden z najbeznejsich pouzivatelskych scenarov pouzitia Nmapu je scanovanie lokalnej ethernetovej siete. Vo vacsine takychto sieti, hlavne tych pouzivajucich privatne adresove rozsahy podla RFC1918, je vacsina IP adries nepouzivana v lubovolnom casovom okamihu. Ak sa Nmap pokusi o odoslanie neupraveneho IP paketu ako napr. ICMP echo request, operacny system musi urcit adresu cieloveho zariadenia (ARP) oodpovedajucu cielovej IP adrese, aby sa mohol odoslat ethernetovy ramec s prislusnou adresou. Tento proces je casto pomaly a problematicky, pretoze operacne systemy neboli vytvorene s ocakavanim, ze budu musiet v kratkom casovom intervale vykonat miliony ARP dotazov na nedostupne hostitelske stanice. ARP scan prenechava zodpovednost pri poziadavkach ARP request na Nmap a jeho optimalizovane algoritmy a ak je ziskana spiatocna odpoved, Nmap sa nezaujima o IP ping pakety, pretoze uz vie, ze prislusna hostitelska stanica je aktivna. Preto je ARP scan omnoho rychlejsi a spolahlivejsi ako scany zalozene na IP. Takto sa to aj bezne vykonava, ked sa scanuju ethernetove hostitelske stanice, ktore Nmap detekuje v lokalnej ethernetovej sieti, a to aj ked su pouzite odlisne typy pingov(napriklad -PE alebo -PS). Ak sa chcete predsa vyhnut ARP scanu, pouzite parameter --send-ip. -n (Bez prekladu DNS) Indikuje Nmapu, aby nikdy nevykonaval reverzny preklad DNS aktivnych IP adries, ktore najde. Kedze DNS je casto pomale, proces sa urychli. -R (DNS preklad pre vsetky cielove stanice) Indikuje Nmapu, aby vzdy vykonaval reverzny preklad cielovych IP adries. Za normalnych podmienok sa to vykonava len ak je pocitac povazovany za aktivny. --system-dns (Pouzit systemovy prekladac DNS) V predvolenom nastaveni preklada Nmap IP adresy tak, ze odosiela dotazy priamo DNS serverom nastavenym v lokalnej host. stanici a potom caka na odpovede. Vela dotazov (casto tucty) sa vykonava paralelne kvoli vykonu. Specifikovanim toho parametra sa namiesto toho pouzije systemovy prekladac. (jedna IP adresa sucasne prostrednictvom volania getnameinfo()). Je to pomalsie a malokedy pouzivane -- v pripade, ze sa v DNS kode Nmapu vyskytuje chyba, kontaktujte nas prosim. Systemovy prekladac sa vzdy pouziva pre scany IPv6 protokolu. --dns-servers <server1[,server2],...> (Servery, ktore sa maju pouzit pre reverzne DNS dotazy) Za normalnych okolnosti sa Nmap pokusi urcit DNS servery z konfiguracneho suboru (UNIX) alebo registrov (Win32) lokalneho pocitaca, avsak alternativne je mozne pouzit tuto moznost na zadanie vlastnych serverov. Tento parameter sa nedodrzuje, pri pouziti parametra --system-dns alebo scanu protokolu IPv6. Pouzitie viacerych DNS serverov je casto rychlejsie ako odoslanie dotazov na jeden server.
ZAKLADY SCANOVANIA PORTOV
Aj ked Nmap ziskal rokmi vacsiu funkcionalitu, zacinal ako efektivny scanovac portov a to aj zostava jeho hlavnou funkciou. Jednoduchy prikaz nmap target scanuje viac ako 1660 TCP portov cielovej stanice target. Zatial co mnoho scanovacov portov tradicne deli vsetky porty na otvorene alebo zatvorene, Nmap pouziva granularnejsi pristup. Deli porty do 6 stavov: otvoreny, zatvoreny, filtrovany, nefiltrovany, otvoreny|filtrovany, alebo zatvoreny|filtrovany. Tieto stavy nie su pravymi vlastnostami samotneho portu, ale opisuju, ako ich vidi Nmap. Napriklad ak scan z tej istej siete, v akej sa nachadza cielova stanica moze odhalit port 135/tcp ako otvoreny, kym scan v rovnakom case a parametrami z internetu mozu odhalit, ze port je filtrovany. Sest stavov portov rozpoznavanych Nmapom otvoreny Aplikacia na tomto porte aktivne prijima TCP spojenia alebo UDP pakety. Zistenie tohoto faktu je casto hlavnym cielom scanovania portov. Ludia s bezpecnostou v mysli vedia, ze kazdy otvoreny port je pristupom pre utok. Utocnici a testeri preniknutia chcu vyuzivat otvorene porty, zatial co administratori sa pokusaju zatvorit ich alebo chranit ich firewallmi bez limitovania opravnenych pouzivatelov. Otvorene porty su zaujimave aj pre nebezpecnostne scany, pretoze ukazuju sluzby dostupne v sieti. zatvoreny Zatvoreny port je pristupny (prijima a odpoveda na pakety testu vykonavaneho Nmapom), ale ziadna aplikacia na nom nepocuva. Mozu sa zist pri zistovani ci je hostitelska stanica aktivna na IP adrese (zistenie hostitelskej stanice alebo ping scan) a ako cast detekcie OS. Pretoze zatvorene porty su dosiahnutelne, moze byt uzitocne vykonat neskorsi scan a niektore mozu byt neskor otvorene. Administratori mozu uvazovat o blokovani takychto portov prostrednictvom firewallu. Tie by sa potom objavili vo filtrovanom stave, ktory je rozobrany nizsie. filtrovany Nmap nedokaze urcite, ci je port otvoreny, pretoze filtrovanie paketov zabranuje testom dosiahnut tento port. Filtrovanie moze pochadzat z osobitneho firewalloveho zariadenia, pravidiel routera alebo hostitelskeho softwaroveho firewallu. Tieto porty frustruju utocnikov, pretoze poskytuju malo informacii. Niekedy odpovedia chybovou spravou ICMP ako napriklad typ 3, kod 13 (destination unreachable: communication administratively prohibited), ale filtre, ktore jednoducho zahodia test bez odpovede su ovela beznejsie. Tento jav prinuti Nmap zopakovat pokus niekolkokrat kvoli moznemu pripadu, ze test bol zahodeny kvoli zahlteniu siete. Toto dramaticky spomaluje scan. nefiltrovany Nefiltrovany stav znamena, ze port je pristupny, ale Nmap nedokaze urcite, ci je otvoreny alebo zatvoreny. Len ACK scan, pouzivany na zmapovanie pravidiel firewallu, klasifikuje porty do tohoto stavu. Scanovanie nefiltrovanych portov inymi typmi scanu ako napr. Window scan, SYN scan alebo FIN scan, moze pomoct rozlustit, ci je port otvoreny. otvoreny|filtrovany Nmap charakterizuje porty tymto stavom, ak nedokaze urcit, ci je port otvoreny alebo filtrovany. K tomu dochadza pri typoch scanov portov, kde otvorene porty neposkytuju odpoved, co moze tiez znamenat, ze paketovy filter zahodil test alebo vyvolanu odpoved, takze Nmap nedokaze naisto urcit, ci je port otvoreny alebo filtrovany. Protokoly UDP,IP a scany FIN, Null a Xmas vykonavaju takuto klasifikaciu portov. zatvoreny|filtrovany Tento stav je pouzity, ked Nmap nedokaze urcit ci je port zatvoreny alebo filtrovany. Pouziva sa len pri scane typu IPID Idle.
SPOSOBY SCANOVANIA PORTOV
Ako novacik pokusajuci sa opravit auto, mozem sa trapit dlhe hodiny, aby som nasiel vhodne zakladne naradie (kladivo, lepiaca paska, kluc, atd) na danu ulohu. Ked sa uz citim utrapene a odtiahnem svoj vrak ku naozajstnemu mechanikovi, ten stale obchadza auto s velkou debnou naradia, az kym nevylovi tu vecicku co z prace urobi hracku. Podobne je aj umenie scanovania. Experti ovladaju kopu metod scanovania a zvolia prislusnu (alebo kombinaciu) pre danu ulohu. Na druhej strane neskuseni pouzivatelia a rychlokvaseni majstri v praci so skriptom budu riesit kazdy problem predvolenym SYN scanom. Kedze Nmap je zadarmo, jedinou barierou pred majstrovstvom v scanovani portov je vedomost, co urcite poraza svet automobilov, kde zistenie potreby pruzinoveho kompresora stale vyzadujuce zaplatit zan tisice dolarov, moze vyzadovat velke zrucnosti. Vacsina typov scanov je dostupna len pre privilegovanych pouzivatelov, z toho dovodu, ze posielaju a prijimaju neupravene pakety, co si na UNIXovych systemoch vyzaduje pristup roota. Na platforme Windows sa odporuca administratorsky ucet, hoci po nahrati kniznice WinPcap do OS funguje niekedy Nmap aj pre neprivilegovanych pouzivatelov. V roku 1997 po vydani Nmapu bola otazka privilegii roota dost vaznym obmedzenim, kedze mnohi pouzivatelia mali pristup len ku shared shell uctu. Svet sa vsak zmenil. Pocitace su lacnejsie, ovela viac ludi ma teraz neprestajny priamy pristup na internet a UNIXove systemy pre desktop (vratane Linuxu a MAC OS X) su rozsirene. Dostupna je aj verzia Nmapu pre Windows, co dovoluje spustit program na este viac desktopoch. Z tychto vsetkych dovodov nemaju pouzivatelia taku potrebu spustat Nmap z obmedzenych shared shell uctov. To je stastne, pretoze parametre vyzadajuce privilegia robia z Nmapu ovela mocnejsi a flexibilnejsi nastroj. Nmap sa sice pokusa produkovat presne vysledky, ale je dolezite si uvedomovat, ze vsetko jeho chapania problemu su zalozene na paketoch odoslanych cielovymi pocitacmi alebo firewallmi pred nimi. Taketo hostitelske stanice mozu byt nedoveryhodne a posielat zamerne matuce odpovede a uviest Nmap do omylu. Ovela beznejsie su vsak hostitelske stanice nevyhovujuce standardu RFC, ktore neodpovedaju na testy Nmapom tak ako by mali. Specialne nachylne na tento problem su scany typu FIN, Null a Xmas. Taketo potiaze su specificke pre iste typy scanov a su rozobrate v zaznamoch o jednotlivych typoch scanov. Tento cast dokumentuje asi tucet metod scanovania portov podporovanych Nmapom. Len jedna metoda moze byt pouzita sucasne, s vynimkou UDP scanu (-sU), ktory moze byt kombinovany s lubovolnym dalsim TCP scanom. Ako pomocka pre pamat, parametre typu scanovania portov su vo formate -sC, kde C predstavuje hlavny znak v nazve scanu, obycajne ten prvy. Vynimkou je uz odmietnuty FTP bounce scan (-b). V predvolenom nastaveni vykonava Nmap SYN scan, hoci ak pouzivatel nema dostatocne privilegia alebo ciele IPv6 neboli specifikovane, nahradzuje ho volanim Connect(), aby sa mohli odoslat neupravene pakety (to vyzaduje pristup roota na UNIXovych pocitacoch). Zo vsetkych spomenutych scanov mozu pouzivatelia bez privilegii spustit len scany connect() a ftp bounce. -sS (Scan TCP SYN ) SYN scan je predvolenym a najoblubenejsim typom scanu a to z dobrych dovodov. Dokaze byt vykonany rychlo, scanujuc tisicky portov za sekundu tam, kde je rychla siet bez obmedzeni dotieravych firewallov. SYN scan je relativne nenapadny a tajny, pretoze nikdy nedokonci fazu nadvazovania TCP spojeni. Funguje aj proti akymkolvek TCP stackom a nezavisi teda na svojraznostiach konkretnych platform ako dalsie Nmapovske scany Fin, Null, Xmas, Maimon a Idle. Umoznuje takisto ciste a spolahlive rozlisenie medzi otvorenymi, zatvorenymi a filtrovanymi stavmi. Na tuto metodu sa casto odkazuje ako na polootvorene scanovanie,pretoze nie je potrebne otvarat plne TCP spojenie. Odosle sa SYN paket ako keby sa nadvazovalo skutocne spojenie a potom sa caka na spojenie. Prichodzi SYN/ACK paket indikuje, ze port nacuva (je otvoreny), kym RST (reset) naznacuje, ze port nenacuva. Ak sa neodosle ziadna odpoved ani po niekolkych retransmisiach, port sa oznaci ako filtrovany. Taketo oznacenie sa pouzije, aj ked pride chybova sprava ICMP unreachable error (typ 3, kody 1,2, 3, 9, 10, alebo 13). -sT (Scan TCP connect()) Scan TCP Connect() je predvolenym typom TCP scanu, ak SYN scan nepatri medzi moznosti. K tomu dochadza, ak pouzivatel nema privilegia na odosielanie neupravenych paketov, alebo pri scanovani sieti s protokolom IPv6. Nmap namiesto vytvorenia neupravenych paketov, ako pri vacsine dalsich scanov, poziada operacny system o vytvorenie spojenia s cielovou stanicou a portom pomocou systemoveho volania connect(). Je to presne to iste volanie na vyssej urovni k vytvoreniu spojenia, ktore vyuzivaju webove prehliadace, klienti P2P a vacsina dalsich aplikacii vyuzivajucich siet a tvori cast programoveho rozhrania znameneho pod menom Berkeley Sockets API. Namiesto prijimania a spracovavania neupravenych odpovedi po sieti, Nmap pri kazdom pokuse o spojenie pouziva toto rozhranie API na ziskanie informacii o stave. Ak je dostupny SYN scan, je obycajne lepsou volbou. Nmap ma mensiu kontrolu nad vysokourovnovym volanim connect() ako nad neupravenymi paketmi, co sposobuje horsiu efektivnost.Systemove volanie dokoncuje nadvazovanie spojeni k otvorenym portom cieloveho hostitela namiesto vykonania polootvoreneho resetu, ktory vykonava SYN scan. Tento postup nielenze trva dlhsie, ale takisto vyzaduje viac paketov na ziskanie tych istych informacii a cielove pocitace budu spojenie pravdepodobne zaznamenavat do logu. Poriadny IDS to sice tiez zachyti, ale vacsina pocitacov nema takyto system. Ked sa Nmap pripoji a potom zavrie spojenia bez odoslania dat, vacsina sluzieb na priemernom UNIXovom system prida poznamku do syslogu. Niektore fakt ubohe sluzby mozu pritom spadnut, ale to je nezvycajne. Administrator, ktory vidi v logu niekolko pokusov o spojenie od jedneho systemu by mal vediet, ze bol scannovany s ohladom na nadviazanie spojenia. -sU (UDP scany) Zatial co vacsina oblubenych sluzieb na internete funguje na TCP protokole, UDP[5] sluzby su tiez siroko nasadzovane. Tri najbeznejsie z nich su DNS, SNMP a DHCP (registrovane porty 53, 161/162 a 67/68). Pretoze scanovanie UDP je vseobecne pomalsie a narocnejsie ako TCP, niektori spravcovia bezpecnosti si nevsimaju tieto porty a to je chyba, lebo zneuzitelne UDP sluzby su celkom bezne a utocnici iste nebudu ignorovat cely protokol. Nastastie, Nmap dokaze pomoct urobit supis tychto UDP portov. UDP scan je mozne spustit parametrom -sU. Moze sa kombinovat s TCP scanom ako napr. SYN scan (-sS) a tak sa mozu skontrolovat oba protokoly pocas jedneho spustenia. UDP scan funguje tak, ze odosle kazdemu cielovemu portu prazdnu hlavicku UDP header bez dat. Ak sa vrati chybova sprava ICMP port unreachable error (typ 3, kod 3) port je zatvoreny. Ostatne chybove spravy ICMP (typ 3, kody 1, 2, 9, 10 alebo 13) oznacuju port ako filtrovany. Prilezitostne moze sluzba odpovedat UDP paketom a tym dokaze, ze port je otvoreny. Ak sa po opakovanych retransmisiach neobjavi ziadna odpoved, port je oznaceny ako otvoreny|filtrovany. To znamena, ze port by mohol byt otvoreny alebo mozno paketove filtre blokuju komunikaciu. Na pomoc pri odliseni otvorenych a filtrovanych portov sa moze pouzit parameter (-sV). Velkou vyzvou pre scanovanie UDP je rychlost. Otvorene a filtrovane porty malokedy posielaju odpoved a tak pre vyprsi casovy limit, co vyusti v dalsie retransmisie pre pripad, ze sa test alebo odpoved mohli v sieti stratit. Zatvorene porty su casto vacsim problemom. Obycajne odosielaju spat chybovu spravu ICMP port unreachable error, no na rozdiel od RST paketov odosielanych zatvorenymi TCP portmi ako odpoved na SYN alebo Connect scan, , mnoho hostitelskych stanic standardne pouziva limit takychto odoslanych chybovych sprav. Specialne prisne na tento fakt su Linux a Solaris. Napriklad linuxove jadro 2.4.20 dava obmedzenie na spravy typu destination unreachable v pocte jedna sprava za sekundu (v subore net/ipv4/icmp.c). Nmap detekuje obmedzenie v pocte a podla toho sa spomali, aby sa vyhol zaplaveniu siete nepotrebnymi paketmi, ktore by cielova stanica zahodila. Linuxovske obmedzenie 1 paket za sekundu nanestastie sposobuje, ze by scan 65536 portov trval 18 hodin. Napady ako tento proces urychlit su napr.scanovanie viacerych hostov sucasne , vykonat najprv rychly scan popularnych portov, scanovat spoza firewallu alebo pouzitie parametru --host-timeout na preskocenie pomalych hostitelskych stanic. -sN; -sF; -sX (TCP Null, FIN a Xmas scany) Tieto tri typy scanov (dalsie sa daju vykonat pouzitim parametra --scanflags su opisane v dalsej casti) vyuzivaju malu dieru v standarde TCP RFC[6], aby rozlisili medziotvorenymi a zatvorenymi portmi. Na strane sa 65 hovori, ze “ak je [cielovy] port zatvoreny.... prichadzajuci segment, ktory neobsahuje flag RST sposobi, ze sa ako odpoved odosle RST segment.” Dalsia strana potom rozobera pakety odosielane na otvorene porty bez nastavenych bitov SYN, RST ani ACK a tvrdi: “je nepravdepodobne, ze sa dostanete do tejto situacie, ale ak k nej dojde, zahodte segment a vratte sa.” Ak sa scanuju systemy zodpovedajuce tomuto textu RFC, lubovolny paket neobsahujuci nastavene bity SYN, RST ani ACK vyvola odpoved s RST bitom, ak bol port zatvoreny a ziadnu odpoved, ak je port zatvoreny. Pokial nie su zahrnute ziadne z tychto troch bitov, je v poriadku lubovolna kombinacia flagov (FIN, PSH a URG). Nmap ich vyuziva pomocou tychto troch typov scanov: Null scan (-sN) Nenastavuje ziadne bity(tcp flag header je nastaveny na 0) FIN scan (-sF) Nastavi len bit TCP FIN. Xmas scan (-sX) Nastavi flagy FIN, PSH a URG, cim sa paket "rozsvieti" ako Vianocny stromcek. Tieto tri typy scanov maju rovnake spravanie az na to nastavenie TCP flagov. Ak dojde ako odpoved RST paket, port sa povazuje za zatvoreny, kym ziadna odpoved znaci otvoreny|filtrovany. Port sa oznaci ako filtrovany ak dorazi chybova sprava ICMP unreachable (typ 3, kod 1, 2, 3, 9, 10 alebo 13). Klucovou vyhodou tychto typov scanov je, ze sa dokazu pretlacit cez iste bezstavove firewally a routre s filtrovanim paketov. Okrem toho su este viac tajnejsie ako SYN scan, no neda sa na to spoliehat -- vacsina modernych IDS sa da nastavit tak, aby ich detekovala. Velkou nevyhodou je, ze cely rad systemov sa nedrzi do pismena standardu RFC 793, posielaju odpovede RST bez ohladu na to, ci je port otvoreny alebo zatvoreny. Preto su vsetky taketo porty oznacovane ako closed. Hlavne operacne systemy s takymto spravanim su Microsoft Windows, mnohe zariadenia Cisco , BSDI a IBM OS/400. Tento scan vsak funguje na mnohe UNIXovske systemy. Dalsim hacikom tychto scanov je, ze nedokazu rozlisit otvorene porty od istychfiltrovanych, takze vyvolaju odpoved otvoreny|filtrovany. -sA (Scan TCP ACK) Tento scan sa lisi od ostatnych doposial rozoberanych v tom, ze nikdy neurcuje porty v stave otvoreny (dokonca ani otvoreny|filtrovany). Pouziva sa na zmapovanie sad pravidiel firewallu, ci su stavove alebo bezstavove a ktore porty su filtrovane. Testovaci ACK Paket ma nastaveny len ACK flag (ak nie je pouzity parameter --scanflags). Ak sa scanuju nefiltrovane systemy, stavy portov otvoreny a zatvoreny vratia zhodny RST paket. Nmap ich potom oznaci ako nefiltrovane, co znamena, ze su dostupne pomocou ACK paketu , ale nie je rozpoznane, ci su otvorene alebo zatvorene. Porty, ktore neodpovedia ci odoslu spat nejaku chybovu spravu ICMP (typ 3, kod 1,2,3,9,10 alebo 13) su oznacene ako filtrovane. -sW (Scan TCP Window) Window scan je presne taky isty ako ACK scan az na to, ze vyuziva implementacne detaily istych systemov na rozlisenie otvorenych a zatvorenych portov, namiesto prosteho vypisu nefiltrovany po navrate RST paketu. Realizuje sa to preskumanim polozky RST paketu s nazvom TCP Window. Na niektorych systemoch pouzivaju otvorene porty kladnu velkost okienka, dokonca aj pre RST pakety, kym, zatvorene porty maju nulovu velkost okienka, takze namiesto vypisu stavu portu ako nefiltrovany Window scan zobrazi port v staveotvoreny alebo zatvoreny podla velkosti okienka (kladna resp. nulova). Tento typ scanu sa spolieha na implementacny detail mensiny systemov na internete, takze mu nie je mozne vzdy doverovat. Systemy ktore to nepodporuju obycajne vratia vsetky porty v stave zatvoreny. Je samozrejme mozne, ze pocitac nema ziadne otvorene porty. Ak je vacsina scanovanych portov zatvorena, ale niekolko beznych portov (napr. 22, 25, 53) je v stave filtrovany system je pravdepodobne nachylny na tento scan. Zriedkavo mozu systemy vykazat presne opacne spravanie. Ak je scan ukaze, ze je 1000 otvorenych portov a 3 zatvorene alebo filtrovane , tieto tri porty mozu byt pokojne tie otvorene. -sM (Scan TCP Maimon) Maimon scan je pomenovany po svojom objavitelovi, Urielovi Maimonovi. Tuto techniku opisal v casopise Phrack, vydanie #49 (November 1996) Nmap s touto metodou bol vydany o dve vydania neskor. Metoda funguje presne ako scany Null, FIN a Xmas, ale test je typu FIN/ACK. Podla standardu RFC 793 (TCP), RST paket by mal byt generovany ako odpoved na tento test bez ohladu na otvoreny alebo zatvoreny port. Uriel vsak spozoroval, ze mnohe systemy odvodene od BSD jednoducho zahodia paket, ak je port otvoreny. --scanflags (Vlastny TCP scan) Naozaj pokrocili pouzivatelia Nmapu sa nemusia obmedzovat len na vopred ponuknute type scanov. Parameter --scanflags vzdy umozni zadanim lubovolnych TCP flagov vytvorit vlastny scan. Neobmedzujte svoju kreativitu pri vyhybani sa systemom IDS, ktorych vyrobcovia jednoducho prelisovali manual k Nmapu a pridali specificke pravidla. Argumentom parametru--scanflags moze byt hodnota cisla flagu ako napr. 9 (PSH a FIN), no je jednoduchsie pouzivat nazvy, staci zlepit dokopy lubovolnu kombinaciu flagov URG, ACK, PSH, RST, SYN a FIN. Napriklad --scanflags URGACKPSHRSTSYNFIN nastavi vsetko, hoci to nie je prilis uzitocne pre scanovanie. Poradie nazvov nie je dolezite. Okrem specifikovanie ziadanych flagov je mozne zadat typ TCP scanu (napriklad-sA alebo -sF), co Nmapu napovie ako interpretovat odpovede. Napriklad SYN scan povazuje absenciu odpovede za port so stavom filtrovany, kym FIN scan odpovie na rovnaku situaciu otvoreny|filtrovany. Nmap bude postupovat presne tak ako pri zakladnych typoch scanu, no pouzije TCP flagy, ktore budu zadane. Ak nie je zadany zakladny typ scanu, pouzije sa SYN scan. -sI <zombie host[:probeport]> (Scan naprazdno - Idlescan) Tato pokrocila metoda umoznuje naozaj slepy scan portov cielovej stanice s tym, ze z lokalnej skutocnej IP adresy nie su odosielane ziadne pakety. Namiesto toho sa pouzije utok po bocnom kanale, ktory vyuziva delenie na IP fragmenty a predpovedatelne tvorenie sekvencie ID cisel na zombie hostitelovi. Tym sa zhromazduju informacie o otvorenych portoch na cielovom pocitaci. IDS systemy zobrazia, ze scan pochadza z pocitaca zombie, ktory bol specifikovany, musi byt samozrejme aktivny a splnat urcite kriteria. Tento fascinujuci typ scanu je prilis zlozity na plny popis v tejto prirucke, takze som uplne detaily popisal neformalnym sposobom a ulozil na adresu https://nmap.org/book/idlescan.html. Okrem toho, ze tento scan je vynimocne nenapadny (kvoli svojej slepej povahe), umoznuje zmapovat doveryhodne vztahy medzi pocitacmi zalozene na IP adrese. Zoznam portov zobrazuje otvorene porty z pohladu zombie hostitela. Takze je mozne pokusit sa o scan cielovej stanice pouzitim roznych zombie pocitacov, o ktorych si myslite, ze su doveryhodne (pomocou pravidiel routra alebo paketoveho filtra). Ak sa ma na strane zombie pocitaca testovat specificky port kvoli zmenam hodnoty IPID, pridajte dvojbodku nasledovanu cislom portu. Inak Nmap pouzije povodny port urceny na tcp pingovanie - 80. -sO (Scan protokolu IP) Scan protokolu IP umoznuje urcite, ktore protokoly IP (TCP, ICMP, IGMP, atd.) su podporovane cielovymi pocitacmi. Technicky to nie je scan portov, pretoze prebieha roznymi cislami protokolov IP a nie cislami portov protokolov TCP a UDP. Aj napriek tomu pouziva parameter -p na vyber scanovanych cisel protokolov, oznamuje vysledky v normalnom formate tabulky portov a dokonca pouziva ten isty mechanizmus scanu ako prave metody scanovania portov, takze je dost blizko scanovaniu portov, a preto patri sem. Okrem toho, ze je uzitocny vo vlastnom zmysle, scan protokolov demonstruje silu open-source softwaru. Zatial co zakladna myslienka je dost jednoducha, nerozmyslal som nad jej pridanim ani som nedostal poziadavky o takuto funkcionalitu. Potom vsak v lete roku 2000 dostal Gerhard Rieger tento napad, napisal excelentny patch, ktory to implementoval a poslal ho do mailing listu skupiny hackerov nmapu. Tento patch som vlozil do stromu Nmapu a na dalsi den vydal novu verziu. Len malo zastupcov komercneho softwaru ma nadsenych uzivatelov, ktori vytvaraju a prispievaju svojimi vylepseniami. Scan protokolu funguje podobne ako UDP scan. Namiesto iterovania cez cisla portov v policku UDP paketu vysiela Nmap hlavicky IP paketu a iteruje cez 8-bitove policko IP protokolu. Hlavicky su zvycajne prazdne, neobsahuju data a ani patricnu hlavicku pre vyhlaseny protokol. Troma vynimkami su protokoly TCP, UDP a ICMP. Tu je patricna hlavicka protokolu zahrnuta, pretoze niektore systemy ich inak neodoslu a pretoze uz Nmap obsahuje funkcie na ich vytvorenie. Namiesto pozorovania sprav ICMP port unreachable protocol sa scan zaujima o spravy ICMP protocol unreachable. Ak Nmap prijme od cieloveho hostitela akukolvek odpoved akehokolvek protokolu, Nmap oznaci protokol ako otvoreny. Chybova sprava ICMP protocol unreachable(typ 3, kod 2) sposobi, ze sa protokol oznaci ako zatvoreny Dalsie chybove spravy ICMP unreachable (typ 3, kod 1, 3, 9, 10 alebo 13) sposobia stav protokolu ako filtrovany (hoci v rovnakom momente dokazuju, ze je otvoreny). Ak sa neobdrzi ziadna odpoved po retransmisiach, protokol sa oznaci ako otvoreny|filtrovany. -b <ftp relay host> (FTP bounce scan) Zaujimavou funkciou protokolu FTP (RFC 959[7]) je podpora takzvanych proxy ftp spojeni, co umoznuje pouzivatelovi pripojit sa k jednemu FTP serveru a potom ziadat o to, aby sa subory posielali serveru tretej strany. Tato vlastnost je priam idealna pre zneuzitie na mnohych urovniach , takze mnohe servery ju prestali podporovat. Jednym z tychto zneuziti tejto funkcie je vyvolanie situacie, kde FTP server scanuje porty dalsich hostitelskych stanic. Je mozne zaradom jednoducho poziadat FTP server o zaslatie subor na kazdy zaujimavy port cieloveho hostitela. Chybova sprava opise, ci je port otvoreny alebo nie. To je dobry sposob ako obist firewally, pretoze FTP servery organizacii su casto umiestnovane tam, kde maju vacsi pristup k vnutornym hostitelskym staniciam ako kazda ina stanica na internete. Nmap podporuje ftp bounce scan pomocou parametra -b. Ako argumenty pouziva pouzivatelske meno:heslo@server:port. Server je nazvom IP adresy zranitelneho FTP servera. Tak ako aj pri normalnej URL adrese, aj tu sa moze vynechat pouzivatelske meno:heslo, pricom sa pouziju anonymne prihlasovacie udaje (pouzivatel: anonymous heslo:-wwwuser@). Cislo portu (a predchadzajuca dvojbodka ) mozu byt vynechane tiez, pricom sa vtedy pouzije povodny FTP port (21) na serveri. Tato zranitelnost bola siroko rozsirena v roku 1997, ked bol Nmap vydany, no bola do velkej miery opravena. Zranitelne servery su stale naokolo, takze stoji to za to vyskusat ich. Ak je cielom obist firewall, je mozne scanovat cielovu siet s cielovym portom 21 (alebo aj akekolvek ftp sluzby ak sa scanuju vsetky porty s detekciou verzie) a potom vyskusat spustit scan bounce scan ftp. Nmap prezradi, ci je hostitelska stanica zranitelna alebo nie. Ak sa pokusate len zakryt svoje stopy, nie je nevyhnutne (a v skutocnosti by sa ani nemalo) obmedzovat sa na hostitelske stanice v cielovej sieti. Pred scanovanim nahodnych internetovych adries na zistenie zranitelnych FTP serverov zoberte do uvahy, ze systemovym administratorom sa nemusi pacit zneuzitie ich serverov takymto sposobom.
SPECIFIKACIA PORTU A PORADIE SCANOV
Okrem vyssie rozoberanych scanov ponuka Nmap moznosti na specifikaciu scanovanych portov a ci ma byt poradie scanov nahodne alebo sekvencne. V predvolenom nastaveni scanuje Nmap vsetky porty do a vratane 1024 tak ako aj vyssie cisla portov zobrazenych pre scanovane protokoly v subore nmap-services. -p <port ranges> (Scanovat len specifikovane porty) Tento parameter specifikuje, ktore porty sa maju scanovat a prepise povodne nastavenie. Mozu byt pouzite jednotlive cisla portov, ako aj rozsahy oddelene spojovnikom, napr. 1-1023. Zaciatocne a konecne hodnoty rozsahu mozu byt vynechane, cim budu Nmapom pouzite hodnoty 1 resp. 65535. Je teda mozne specifikovat parameter -p- cim sa budu scanovat porty od 1 po 65535. Po explicitnom specifikovani je mozne scanovat aj port 0. Pri scanovani protokolu IP ,(-sO), tento parameter specifikuje cisla protokolov, ktore sa maju scanovat (0-255). Ak sa scanuju TCP aj UDP porty, mozete prislusny protokol charakterizovat pismenami T: alebo U: predchadzajucimi cislo portu. Toto pismeno plati az kym nespecifikujete dalsie pismeno. Napriklad argument -p U:53,111,137,T:21-25,80,139,8080 bude scanovat UDP porty 53,111 a 137 a takisto spomenute TCP porty. Na to, aby sa scanovali TCP aj UDP, je potrebne zadat parameter -sU a aspon jeden typ TCP scanu (napriklad -sS, -sF alebo -sT). Ak nie je zadane ziadne urcujuce pismeno, cisla portov su pridane do zoznamu vsetkych protokolov. -F (Rychly scan s limitovanym poctom portov) Udava, ze je nutne scanovat len porty uvedene v subore nmap-services ktory je dodavany spolu s Nmapom(alebo subor s protokolmi pomocou parametra -sO). Tento sposob je ovela rychlejsi ako scannovanie vsetkych 655535 portov na hostitelskej stanici. Pretoze tento zoznam obsahuje viac ako TCP portov, nie je tu vyrazny rozdiel oproti povodnemu TCP scanu s okolo 1650 portmi. Rozdiel je dramaticky, ak specifikujete svoj vlastny maly subor nmap-services pouzitim parametru --datadir. -r (Nevyberat porty nahodne) V predvolenom nastaveni vybera Nmap poradie scanovanych portov nahodne (okrem toho, ze iste vseobecne pristupne porty su z dovodov efektivnosti na zaciatok). Tento proces randomizacie je za normalnych okolnosti ziadany, ale parametrom -r je mozne specifikovat sekvencne scanovanie portov.
DETEKCIA SLUZBY A VERZIE
Pouzite Nmap na vzdialeny pocitac a ten potom moze prezradit, ze porty 25/tcp, 80/tcp a 53/udp su otvorene. Pouzitim svojej databazy nmap-services s obsahom okolo 2,200 znamych sluzieb, by dokazal Nmap oznamit, ze tieto porty pravdepodobne patria postovemu serveru (SMTP) webovemu serveru (HTTP) a DNS serveru (DNS). Toto vyhladanie je obycajne presne - drviva vacsina daemonov nacuvajucich na TCP porte 25 su v skutocnosti postove servery, no urcite sa na tomto neda stavit bezpecnost, ludia mozu mat spustene sluzby na zvlastnych portoch. Aj ked ma Nmap pravdu a hypoteticky server ma spustene servery SMTP, HTTP a DNS, neznamena to vela informacii. Ked vykonavate odhady zranitelnosti alebo hoci aj jednoduche supisy siete vasich firiem alebo klientov, chcete naozaj vediet aj to, ake mailove a DNS servery a ich verzie su spustene. Ziskanie presneho cisla verzie pomaha dramaticky urcit, pred akymi zneuzitim je server zranitelny. Detekcia verzie pomaha zistit tuto informaciu. Po zisteni TCP alebo UDP portov pomocou jednej z metod scanu, detekcia verzie skuma tieto porty, aby zistila, co na nich bezi.Subor s databazou nmap-service-probes obsahuje testy na dotazovanie rozlicnych sluzieb a zodpovedajucih vyrazov na rozpoznanie a vykonanie rozboru odpovedi. Nmap sa pokusa urcit protokol sluzby (napriklad ftp, ssh, telnet, http), nazov aplikacie (napriklad ISC Bind, Apache httpd, Solaris telnetd), cislo verzie, hostitelsky nazov, typ zariadenia(napr. tlaciaren, router), skupinu OS (napr. Windows, Linux) a niekedy rozlicne podrobnosti ako napr. ci je X server otvoreny spojeniam verziu SSH protokolu alebo pouzivatelske meno v programe KaZaA). Samozrejme, ze vacsina sluzieb neposkytuje tieto informacie. Ak bol Nmap kompilovany s podporou OpenSSL , pripoji sa k SSL serverom, aby urcil sluzbu nacuvajucu za zasifrovanou vrstvou. Ked su objavene RPC sluzby, automaticky sa pouzije Nmap RPC grinder (-sR) na urcenie RPC programu a cisla verzie. Po tom, co scan UDP portov nie je schopny urcit, ci je port otvoreny alebo zatvoreny, niektore UDP porty su oznacene v stave otvoreny|filtrovany. Detekcia verzie sa bude snazit vyvolat odpoved tychto portov (presne tak ako aj pri otvorenych portoch) a stav sa moze zmenit na otvoreny, ak tato detekcia uspeje. Pri otvorenych|filtrovanych TCP portoch sa postupuje tou istou cestou. Je potrebne si vsimnut, ze parameter Nmapu -A medzi inym ponuka detekciu verzie. Dokument opisujuci priebeh, pouzitie a vlastne prisposobenie detekcie verzie je dostupny na adrese https://nmap.org/vscan/. Ak Nmap dostane odpovede od sluzby, ale nevie ju priradit ziadnej polozke v databaze, zobrazi specialny fingerprint a takisto adresu URL, kde mozete odoslat odpoved, ak ju poznate. Venujte prosim tejto operacii niekolko minut, aby bola na prospech kazdemu. Vdaka tymto odpovediem ma Nmap okolo 3,000 zodpovedajucich vzorov pre viac ako 350 protokolov napr. smtp, ftp, http, atd. Detekcia verzie sa povoli a da sa ovladat nasledujucimi parametrami: -sV (Detekcia verzie) Umoznuje detekciu verziu ako bolo spomenute vyssie. Je mozne pouzit namiesto toho parameter -A, ktorym sa povoli aj detekcia OS. --allports (Pri detekcii verzie nevynechavat ziadne porty) V predvolenom nastaveni Nmap pri detekcii verzie vynechava TCP port 9100, pretoze niektore tlaciarne tlacia vsetko co pride na tento port a vedie to k hromade vytlacenych stran poziadaviek HTTP get request, poziadaviek SSL session request, atd.. Toto spravanie sa da zmenit upravenim alebo odstranenim direktivy Exclude v suborenmap-service-probes alebo mozete zadat parameter--allports, aby sa scanovali vsetky porty nehladiac na direktivu Exclude. --version-intensity <intensity> (Nastavit intenzitu scanovania verzie) Ak sa vykonava scan verzie (-sV), Nmap odosiela seriu testov , pricom kazdemu z nich je priradena vynimocna hodnota medzi 1 az 9. Kym testy z nizsou hodnotou su ucinne na testovanie sirokej skalu beznych sluzieb, vyssie cisla su len zriedkavo uzitocne. Stupen intenzity udava, ktore testy sa maju pouzit. Cim vyssie je cislo, tym vacsia je pravdepodobnost, ze sluzba bude spravne indentifikovana, taketo scany vsak trvaju dlhsie. Predvolena hodnota je 7. Ak je test registrovany na cielovy port v subore nmap-service-probes pomocou direktivy ports, tento test sa vykona bez ohladu na stupen intenzity. Zaistuje to to, ze DNS testy sa budu vzdy robit vhladom na lubovolny otvoreny port 53, SSL skuska vzhladom na port 443, atd.. --version-light (Povolit light mod ) Je to pohodlny alias pre parameter --version-intensity 2. Tento light mod znacne urychluje scanovanie verzie, no znizuje sa pravdepodobnost spravnej identifikacie sluzieb. --version-all (Vyskusat kazdy test) Alias pre parameter --version-intensity 9, cim sa zaisti vykonanie kazdeho testu voci kazdemu portu. --version-trace (Sledovat cinnost scanovania verzie) Nmap zobrazi rozsiahle debugovacie informacie cinnosti scanovania verzie. Je to podmnozina vystupu pri zadani parametra --packet-trace. -sR (RPC scan) Tato metoda funguje v spojeni s rozlicnymi scanmi portov Nmapu, vsetky zistene otvorene TCP/UDP porty zahlti NULL prikazmi programu SunRPC za ucelom zistenia, ci su to porty sluzby RPC a ak ano, ktoremu programu a cisle verzii sluzia. Rovnake informacie sa daju efektivne ziskat pomocou parametru rpcinfo -p aj ked je mapovac portov cielovej stanice za firewallom alebo chraneny TCP wrappermi. Decoye momentalne nefunguju s RPC scanom. Toto je automaticky povolene ako cast scanu verzie pri zadani parametra (-sV). Kedze detekcie verzie obsahuje okrem tohoto este ovela viac veci, parameter -sR sa pouziva zriedka.
DETEKCIA OS
Jedna z najznamejsich funkcii Nmapu je vzdialena detekcia OS pomocu fingerprintingu stacku TCP/IP. Nmap odosiela vzdialenej hostitelskej stanici rad TCP a UDP paketov a potom skuma kazdy bit odpovedi. Po vykonani serie testov ako napr. sampling TCP ISN, poradie a podpora moznosti TCP, sampling IPID a pociatocna kontrola velkosti okienka porovnava Nmap vysledky so databazou nmap-os-fingerprints skladajucej sa z viac ako 1500 znamych odtlackov OS a pri zhode zobrazi podrobnosti o OS. Kazdy fingerprint zahrna textovy popis OS vo volnom formate a klasifikaciu poskytujucu nazov vyrobcu OS (napr. Sun), zakladny typ OS Each fingerprint includes a freeform textual description of the (napr. Solaris), generacia OS (napr. 10) a typ zariadenia (bez specialneho ucelu, router, switch, herna konzola, atd). Ak Nmap nedokaze odhadnut OS pocitaca a podmienky su pritom dobre (napr. zistilo sa, ze aspon 1 port je otvoreny a aspon 1 zatvoreny), Nmap poskytne adresu URL, na ktorej mozete zadat fingerprint, ak ste si isty OS beziacom na vasom pocitaci. Tymto prispievate do mnoziny operacnych systemov znamych Nmapu a proces sa spresnuje pre kazdeho dalsieho. Detekcia OS umoznuje vykonanie niekolko dalsich testov, ktore vyuzivaju informacie vzdy nadobudnute tymto procesom. Jednym z nich je merania uptimu, ktore na odhadnutie casu od posledneho restartovania pocitaca vyuziva moznost TCP timestamp (RFC 1323). Parameter sa oznamuje len pre pocitace, ktore poskytuju tuto informaciu. Dalsim z nich je TCP Sequence Predictability Classification - Klasifikacia predvidatelnosti TCP sekvencie. Toto meranie zistuje, ake je narocne nadviazat falosne TCP spojenie so vzdialenou hostitelskou stanicou a je uzitocne na zistovanie slabin relacii, ktore stavaju doveru na zdrojovej IP adrese (rlogin, firewall, filtre, atd.) alebo takisto je uzitocne kvoli moznosti ukryvania zdroja utoku. Tento typ falsovania sa dnes vykonava zriedkavo, no mnohe pocitace su na to stale zranitelne. Vlastne cislo obtiaznosti je zalozene ne statistickom vzorkovani a moze sa menit. Vseobecne je lepsie pouzit anglicku klasifikaciu, napr. “worthy challenge” - hodne vyzvy alebo “trivial joke” - jednoduchy zabava. Normalne sa to oznamuje len v mode verbose (-v). Ak sa povoli verbose mod sucasne z parametrom -O, oznamuje sa aj Vytvaranie sekvencie IPID. Vacsina pocitacov sa nachadza “inkrementalnej” triede, co znamena, ze zvysuju cislo policka ID v IP hlavicke kazdeho odoslaneho paketu, co z nich robi zranitelne ciele pre niektore pokrocile utoky, ktore su zalozene na zbere informacii a falsovani. Dokument popisujuci cinnost, pouzitie a priposobenie detekcie verzie je dostupny vo viacerych jazykoch na adrese.https://nmap.org/osdetect/. Detekcia OS je povolovana a ovladana nasledujucimi moznostami parametrov: -O (Povolit detekciu OS) Umozni detekciu OS podla vyssie opisaneho rozboru. Alternativne sa pouzitim parametra -A umozni detekciu OS aj verzie. --osscan-limit (Obmedzit detekciu OS len na slubne cielove stanice) Detekcia OS je ovela efektivnejsie, ak je zisteny aspon 1 port otvoreny a 1 port zatvoreny. Po nastaveni tohoto parametra sa nebude vykonavat detekcia OS na pocitacoch, ktore nesplnaju tieto kriteria, cim sa da usetrit podstatny cas, hlavne pri scanoch s parametrom -P0 aplikovanych na mnohych hostitelskych staniciach, no je to dolezite len ak sa pre detekciu OS zada parameter -O alebo -A. --osscan-guess; --fuzzy (Odhadnut vysledky detekcie OS) Ak je Nmap nedokaze detekovat uplnu zhodu s OS, niekedy navrhne dalsie co najblizsie zhody ako moznosti. Nmap to normalne vykonava, len ak je zhoda velmi podobna. Kazda z tychto dvoch ekvivalentnych moznosti sposobi agresivnejsi odhad Nmapu.
CASOVANIE A VYKON
Jednou z mojich najvyssich priorit pri vyvoji Nmapu bol vzdy vykon. Predvoleny scan (nmap hostname) hostitelskej stanice v mojej lokalnej sieti trva patinu sekundy. Trva to sice menej ako zmrknutie oka, ale pridava to na vyzname, ak sa scanuju stovky alebo tisice hostitelskych stanic. Navyse urcite moznosti scanov ako UDP scanovanie a detekcia verzie mozu podstatne zvysit cas vykonanavania scanu, tak ako aj urcite nastavenia firewallu, zvlast obmedzenie poctu odpovedi. Nmap sice na zrychlenie scanov vyuziva paralelizmus a mnohe pokrocile algoritmy, je to pouzivatel, kto ma absolutnu kontrolu nad tym, ako Nmap pracuje. Ak je cas obmedzenim, pouzivatelia na urovni expertov sikovne produkuju prikazu, aby ziskali len informacie, o ktore maju zaujem. Metody zlepsujuce casy scanov zahrnuju vynechanie nekritickych testov a prechadzanie na poslednu verziu Nmapu (zdokonolanie vykonu sa vykonava casto). Optimalizovanie casovych parametrov dokaze takisto sposobit markantny rozdiel. Tieto parametre su spomenute nizsie: --min-hostgroup <numhosts>; --max-hostgroup <numhosts> (Prisposobit velkosti paralelnych skupin pri scanovani) Nmap ma schopnost sucasne scanovat porty alebo verzie viacerych hostitelskych stanic a to takym, sposobom, ze sa cielovy rozsah IP adries rozdeli do skupin a potom sa scanuje jedna skupina sucasne. Vo vseobecnosti su efektivnejsie vacsie skupiny, no nevyhodou je, ze vysledky nemozu byt poskytnute, kym nie je ukoncene cela skupina. cize ak Nmap zacne so skupinou velkosti 50, pouzivatel nedostane ziadnu spravu (okrem updatov v mode verbose) az kym nie je ukoncenych vsetkych 50 hostitelskych stanic. V predvolenom nastaveni riesi Nmap tento konflikt kompromisom. Zacne skupinou o pocte 5, takze prve vysledky sa dostavia rychlo a potom sa velkost skupiny zvysi na 1024. Presne predvolene cisla zavisia od zadanych parametroch. Z dovodov efektivity pouziva Nmap rozsiahle skupiny pre UDP scany alebo malo portove TCP scany. Po zadani maximalnej velkosti skupiny pomocou parametra --max-hostgroup Nmap nikdy neprokroci tuto hodnotu. Po zadani minimalnej velkosti skupiny parametrom --min-hostgroup nebude Nmap pouzivat mensie skupiny ako bolo zadane. Ak vsak nie je dostatok hostitelskych stanic, Nmap moze pracovat s mensimi skupinami ako specifikovane parametrom. Aj ked je to zriedkavo vyuzivane, oba parametre mozu byt pouzite sucasne na specifikovanie rozsahu skupiny. Hlavne pouzitie tychto parametrov je specifikacia vacsieho minima velkosti skupiny, takze plny scan pobezi rychlejsie. Vseobecna volba velkosti minima na scan porcii siete triedy C je cislo 256. Nie je obvykle prilis uzitocne zvysovat toto cislo, ak sa jedna o scan s mnohymi portmi. Pri scanoch s par cislami portov je velkost skupiny hostitelskych pocitacov rovna 2048 alebo viac prospesna. --min-parallelism <numprobes>; --max-parallelism <numprobes> (Upravit paralelizaciu testov) Tieto parametre ovladaju absolutny pocet testov, co moze byt nedokoncene pre skupinu hostitelskych pocitacov. Pouzivaju sa pri scanovani portov a zistovenie hostitelskych pocitacov. V povodnom nastaveni pocita vzdy sa meniaci idealny stav paralelizmu v zavislosti na vykone siete. Ak su pakety zahadzovane, Nmap spomali a povoli menej neukoncenych scanov. Idealny pocet testov pri dobrych podmienkach v sieti pomaly stupa. Tieto parametre urcuju na tuto premennu minimalnu a maximalnu hranicu. V predvolenom nastaveni sa idealny paralelizmus moze znizit az na 1, ak sa sietove testy javia ako nespolahlive a na druhej strane idealizmus stupa pri vybornych podmienkach. Najcastejsim pouzitim je nastavenie parametra --min-parallelism na vyssiu hodnotu ako je 1 kvoli urychleniu scanovania pomalych hostitelskych stanic alebo sieti. Je to riskantny parameter na zabavu, pretoze prilis vysoka hodnota moze ovplyvnit presnost a takisto schopnost Nmapu ovladat paralelizmus dynamicky podla sietovych podmienok. Hodnota desat moze byt rozumna, hoci tuto hodnotu nastavujem len ako poslednu moznost. Parameter --max-parallelism je niekedy nastaveny na 1, aby sa predislo odosielaniu viac ako jedneho testu sucasne. Moze sa to hodit v kombinacii s parametrom --scan-delay (rozoberanom nizsie), hoci tento druhy parameter je dostatocne silny, aby sam sluzil svojmu ucelu. --min-rtt-timeout <time>, --max-rtt-timeout <time>, --initial-rtt-timeout <time> (Nastavit casovy interval testu) Nmap si uchovava hodnotu casoveho intervalu kvoli urceniu, ako dlho bude cakat na odpoved testu predtym ako to vzda alebo vykona retransmisiu testu. Pocita sa to na zaklade casov odpovedi predchadzajucich testov. Ak je latencia siete vyznamnym faktorom a meni sa, tento casovy interval narastie na niekolko sekund. Takisto zacina na opatrnej(vysokej) urovni a ak Nmap scanuje neodpovedajuce hostitelske stanice, moze to na nej aj chvilu ostat. Tieto parametre maju hodnotu v milisekundach alebo je mozne pridat argument jednotky s, maleboh to a takto sa cas specifuje v sekundach, minutach alebo hodinach. Specifikovanie nizsich hodnot parametrov--max-rtt-timeout a --initial-rtt-timeout ako predvolene hodnoty moze vyznamne skratit casy scanov, co plati hlavne pre scany bez pingu (-P0) a dalej pre velmi filtrovane siete, nie je vsak dobre zadavat prilis kratke hodnoty, pretoze potom moze scan pozadovat viac casu ako je specifikovane a pre vela testov vyprsi casovy interval, zatial co odpoved je stale na ceste. Ak su vsetky hostitelske stanice v lokalnej sieti, rozumna hodnota intervalu je 100 milisekund --max-rtt-timeout. Ak je zahrnute routovanie, je potrebne najprv vykonat ping hosta bud pomocnym programom ICMP ping alebo prisposobenym programom pre tvorenie paketov ako napr. hping2, ktory sa pravdepodobnejsie dostane cez firewall. Vsimnite si maximalny cas hodnoty RTT (Maximum Round Trip) asi 10 paketov. Tuto hodnotu mozete zdvojnasobit pre --initial-rtt-timeout a stroj- alebo stvornasobit pre parameter--max-rtt-timeout. Vseobecne nenastavujem tento parameter maximum rtt pod 100ms, bez ohladu na hodnoty pingov, a ani ich nezvysujem nad 1000ms. Parameter --min-rtt-timeout je malokedy pouzivany. Moze sa zist, ked je siet taka nespolahliva, ze aj predvolena hodnota Nmapu je prilis agresivna. Kedze vsak Nmap pri spolahlivej sieti znizuje casovy interval na minimum, tento parameter nie je potrebny a jeho pouzitie by sa malo nahlasit ako bug do mailingu listu nmap-dev. --max-retries <numtries> (Specifikovat maximalny pocet retransmisii testov scanovania portov) Ak Nmap nedostane odpoved na test scanu portov, moze to znamenat , ze port je filtrovany alebo ze bol test alebo odpoved jednoducho stratena po sieti. Je mozne tiez, ze cielova stanica obmedzenie poctu odpovedi a to docasne zablokovalo odpoved, takze sa Nmap opatovna pokusi poslat pociatocny test. Ak Nmap detekuje slabu sietovu spolahlivost, moze sa pokusit o retransmissiu viackrat pred ukoncenim snahy. Na jednej strane to zvysuje presnost, no takisto aj cas scanov. Ak je kriticky vykon, scany mozu byt urychlenie limitovanim povoleneho poctu retransmisii. Retransmisiam sa zabrani parametrom --max-retries 0, no zriedkakedy sa to odporuca. Predvolena hodnota (bez parametru-T) je 10 ten retransmisii. Ak sa siet zda byt spolahliva a cielove stanice neobmedzuju pocet odpovedi, Nmap obycajne vykona len jednu retransmisiu, takze vacsina scanov ani nie je ovplyvnena, ak sa parameter --max-retries znizi na 3. Tieto hodnoty dokazy podstatne zrychlit scany pomalych (s obmedzenim poctu odpovedi) hostitelskych stanic. Ak Nmap prilis skoro zanechava testy portov, obycajne sa stracaju nejake informacie, hoci moze to stale moze byt uprednostnovane pred situaciou, kde uplynie interval parametru --host-timeout a stratia sa vsetky informacie o cielovej stanici. --host-timeout <time> (Zanechat pomale cielove stanice) Niektore hostitelske stanice jednoducho potrebuju dlhy cas na to, aby boli prescanovane, co moze byt dosledkom zleho vykonu alebo nespolahliveho sietoveho hardwaru/softwaru, obmedzeniu poctu paketov alebo obmedzujuceho firewallu. Najpomalsich malo percent scanovanych hostitelskych stanic moze zabrat podstatu casu scanu. Niekedy je lepsie orezat tieto straty casu a preskocit taketo stanice uz na zaciatku. Da sa to dosiahnut zadanim parametra --host-timeout s pozadovanym poctom milisekund cakania. Alternativne je mozne pripojit argument jednotky s, m aleboh to , cim sa casovy interval specifikuje v sekundach, minutach alebo hodinach. Ja casto specifikujem hodnotu 30m, aby Nmap neplytval viac ako polhodinou na 1 stanicu. Vsimnite si, ze Nmap moze sucasne scanovat dalsie hostitelske stanice, takze to nie je uplna strata casu. Hostitelska stanica, ktorej casovy interval vyprsi sa vynecha a nezobrazi sa pre nu tabulka portov, detekcia OS, ani detekcia verzie. --scan-delay <time>; --max-scan-delay <time> (Nastavit oneskorenie medzi testami) Tento parameter sposobi, ze Nmap bude cakat aspon zadany hodnotu v milisekundach medzi odoslanim dalsieho testu hostitelskej stanice. Tak ako aj pri inych parametroch casu, aj tu je mozne pripojit s, maleboh ako argument na specifikovanie oneskorenia v sekundach, minutach alebo hodinach namiesto ms. Hodi sa to hlavne v pripade obmedzenia poctu odpovedi. Pocitace so systemom Solaris ako aj niektore ine obycajne na test UDP scanu odpovedia jednou ICMP spravou za sekundu. Vsetko co sa odosle Nmapom navyse, bude stratene. Parameter --scan-delay nastaveny na 1s udrzi Nmap na takejto pomalej rychlosti. Nmap sa pokusi detekovat obmedzenie a priposobit oneskorenie scanu podla toho, ale nie je na skodu specifikovat to explicitne, ak uz viete, aka rychlost je najvhodnejsia. Ak Nmap prisposobuje oneskorenie scanu smerom nahor pri obmedzeni rychlosti odpovedi, scan sa dramaticky spomali. Parameter--max-scan-delay specifikuje najvacsie oneskorenie, ktore povoli Nmap. Nastavenie prilis nizkej hodnoty moze pri zavedenej obmedzenej rychlosti odpovedi viest k zbytocnym retransmisiam paketov a moznym vynechanym portom. Dalsie pouzitie parametra --scan-delay je vyhnut sa systemom detekcie (IDS) a narusenia (IPS) zalozenych na prahovej hodnote. -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (Nastavit casovu sablonu) Je sice pravda, ze vyssie rozoberane jemne casove ovladanie scanov je mocne a ucinne, no niektori ludia to povazuju za dezorientujuce. Niekedy dokonca moze volenie primeranych hodnot zabrat viac casu ako scan, ktory sa pokusat optimalizovat, a tak Nmap ponuka jednoduchsi pristup so siestimi sablonami. Je ich mozne specifikovat parametrom -T a ich cislami(0 - 5) ci menami. Nazvy sablon tu paranoid (0), sneaky (1), polite (2), normal (3), aggressive (4) a insane (5). Prve dve su urcene pre obidenie systemov IDS. Mod Polite sa spomali, ked scan pouziva mensiu sirky pasma a prostriedkov cieloveho pocitaca. Mod Normal je predvolenym a teda -T3 neurobi ziadnu zmenu. Mod Aggressive urychli scan predpokladom, ze ste na rozumne rychlej a spolahlivej sieti. Konecne mod Instane predpoklada, ze ste na vynimocne rychlej sieti alebo chcete obetovat presnost za rychlost. Tieto sablony dovoluju pouzivatelovi specifikovat agresivitu, zatial co, Nmap sam vyberie presne hodnoty casovania. Sablony takisto vykonavaju male prisposobenia rychlosti, na ktore momentalne neexistuju jemne ovladacie parametre. Napriklad moznost -T4 zakazuje, aby dynamicke oneskorenie scanu prekrocilo 10ms pre TCP porty a-T5 ohranici tuto hodnotu 5 milisekundami. Pokial sa sablona specifikuje ako prva, moze byt pouzita v kombinacii s jemnym ovladanim, inak sa povodne hodnoty pre sablony prepisat vami specifikovanymi hodnotami. Odporucam pouzitie parametra -T4 ak sa scanuju moderne a spolahlive siete. Aj ked zadate dalsie jemne ovladanie kvoli dodatocnym malym povolenym optimalizaciam, zachovajte tento parameter (na zaciatok prikazoveho riadku). Ak ste na poriadnej sieti s broadbandovym alebo ethernetovym pripojenim, vzdy by som odporucal pouzitie parametra-T4. Niektori ludia preferuju moznost -T5, hoci pre mna je prilis agresivna. Ini zasa niekedy zadaju -T2, pretoze si myslia, ze tymto je mensia pravdepodobnost sposobenia spadnutia pocitaca alebo pretoze sa sami vo vseobecnosti povazuju za zdvorilych. Casto si pritom neuvedomuju, za moznost -T Polite je skutocne velmi pomala. Takyto scan moze trvat desatkrat viac ako povodny scan. Spadnutia pocitacov a problemy so sirkou pasma su zriedkave pri pouziti predvoleneho parametra casovania (-T3) a tak ho normalne odporucam pre pozornych scannerov. Vynechanie detekcie verzie je vsak casovo ovela ucinnejsie ako hranie sa s hodnotami casovania. Zatial co moznosti -T0a-T1 mozu byt uzitocne pre vyhnutie sa upozorneni systemov IDS, scanovanie tisicov portov pocitacov bude trvat vynimocne dlho. Pri takomto dlhom scane je mozno lepsie nastaveni presnych hodnot casovania namiesto spolahnutia sa na vopred pripravene moznosti-T0a-T1 . Hlavnymi nasledkami pouzitia parametruT0 je serializacia scanovania portov, takze sa sucasne scanuje len jeden port, a pred vyslanim dalsieho testu sa caka 5 minut. Moznosti T1 a T2 su podobne, ale medzi jednotlivymi testami cakaju len 15 resp. 0.4 sekund. MoznostT3 je predvolenou pre Nmap a zahrna paralelizaciu. Moznost T4 je ekvivalentna zadaniu--max-rtt-timeout 1250 --initial-rtt-timeout 500 --max-retries 6 a nastavuje maximalne oneskorenie TCP scanu na 10 ms. MoznostT5 je ekvivalentna zadaniu --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --max-retries 2 --host-timeout 900000 a takisto nastavenia maximalneho oneskorenia TCP scanu na 5ms.
VYHNUTIE SA FIREWALLU/ SYSTEMU IDS A FALSOVANIE
Mnohi priekopnici internetu si predstavovalo globalnu otvorenu siet s univerzalnym priestorom IP adries umoznujucim vykonavat virtualne spojenia medzi lubovolnymi dvoma uzlami. To umoznuje hostitelskym staniciam posobit ako ozajstni peers, poskytujuc a ziskavajuc informacie od kazdeho jedneho. Ludia mohli pristupovat na vsetky domace systemy z prac a tak zmenit nastavenie ovladania klimy alebo otvorenia dveru pre skorych hosti. Tato vizia univerzalnej konektivity je vsak potlacena nedostatkom priestoru IP adries a obavami z bezpecnosti. Na zaciatku 90.rokov zacali organizacie nasadzovat firewally na rychly ucel obmedzenia konektivity. Obrovske siete boli uzavrete pred nefiltrovanym intenernetom pomocou aplikacnych proxy serverov, prekladu NAT a paketovych filtrov. Neobmedzeny tok informacii dal zelenu uzkej regulacii odsuhlasenych komunikacnych kanalov a obsahu, ktory cez ne prechadza. Sietove prekazky ako firewally vedia velmi stazit zmapovanie siete. Nezjednodusi sa to, pretoze potlacenie neplanovaneho skumania siete ja casto klucovym cielom implementovania tychto zariadeni. Napriek tomu obsahuje Nmap mnohe funkcie, ktore pomahaju pochopit tieto zlozite siete a overit, ze filtre funguju podla ocakavania, dokonca podporuje aj mechanizmy obidenia pre slabo implementovane obrany. Jednou z najlepsich metod pochopenia situacie vasej sietovej bezpecnosti je pokusit sa ju prelomit. Predstavte si seba ako utocnika a nasadte proti vasim sietam metody z tejto sekcie. Spustite scan FTP bounce ftp, Idle scan, utok pomocou fragmentacie alebo sa pokuste pretunelovat cez jeden z vasich proxy serverov. Okrem obmedzovania sietovej aktivity spolocnosti stale viac monitoruju traffic v sieti pomocou systemov na detekciu preniknutia (IDS). Vsetky hlavne systemy IDS sa dodavaju s pravidlami vytvorenymi na detekciu scanov Nmapu, pretoze tieto scany su niekedy pociatkom pre utoky. Vela tychto produktov sa casom vyvinulo do systemov s prevenciou preniknutia (IPS), ktore aktivne blokuju traffic, ktory sa zda byt skodlivy. Spolahlive detekovanie zlych umyslov pomocou analyzy dat v paketoch je nanestastie pre sietovych administratorov a vyrobcov systemov IDS tazky problem. Utocnici s trpezlivostou, zrucnostou a pomocou urcitych parametrov Nmapu mozu obycajne zabranit detekcii systemu IDS. Na druhej strane sa administratori musia popasovat s velkym mnozstvom falosnych pozitivnych vysledkov, kde sa nespravne diagnizuje nevinna aktivita a je v stave pohotovosti alebo je blokovana. Niekedy ludia navrhuju, ze by Nmap nemal ponukat funkcie na vyhnutie sa pravidlam firewallu alebo prejdenia cez systemy IDS. Zdovodnuju, ze tieto funkcie mozu byt tak vyuzite administratormi na zvysenie bezpecnosti ako aj utocnikmi. Problemom toho je, ze tieto metody by sa stale vyuzivali utocnikmi, ktori by si namiesto toho nasli dalsie nastroje alebo patche, ktore by fungovali s Nmapom. Na druhej strane, pre administratorov by bolo ovela tazsie vykonavat si svoju pracu. Nasadzovanie len modernych, opravenych FTP serverov je ovela mocnejsia obrana, ako snaha predist rozsireniu nastrojov implementujucich utok FTP bounce. Neexistuje ziadne specialne magicke kuzlo(alebo parameter Nmapu) na detekciu a podkopanie firewallov a systemov IDS. Vyzaduje si to zrucnost a skusenost. Tutorial je za mimo rozsahu tejto referencnej prirucky, ktora len podava zoznam relevantnych parametrov a opisuje, co robia. -f (fragmentovat pakety); --mtu (pouzitim specifikovanej velkosti jednotky MTU) Parameter -f sposobi, ze pozadovany scan(vratane scanov pingu) pouzije male fragmentovane IP pakety. Myslienka je rozdelit hlavicku TCP na niekolko paketov, cim sa stazi detekcia aktivity pre paketove filtre, systemy IDS a ine. Je nutne byt pri tomto opatrny. Niektore programy nedokazu korektne prijat male pakety. Sniffer zo starej skoly s nazvom Sniffit po prijati prveho segmetu okamzite zahlasil chybu "segmentation fault". Po jednom zadani tohoto parametra Nmap rozdeli pakety po hlavicke IP na maximalne 8 bajtov dlhe, takze 20-bajtova hlavicka TCP sa rozdeli na 3 pakety, dva s velkostou hlavicky TCP osem bajtov a posledny o velkosti styri. Samozrejme, ze kazdy fragment ma takisto hlavicku IP. Po opatovnom zadani moznosti -f sa na jeden fragment pouzije 16 bajtov, cim sa znizi pocet fragmentov. Dalej je mozne specifikovat vlastnu velkost offsetu zadanim parametra --mtu. Nezadavajte sucasne parametre-f a --mtu. Offset musi byt nasobkom cisla 8. Zatial co fragmentovane pakety neprejdu cez paketove filtre a firewally, ktore zhromazduju vsetky IP fragmenty v rade, ako napriklad parameter CONFIG_IP_ALWAYS_DEFRAG v jadre Linuxu, niektore siete si nemozu dovolit takyto zasah do vykonu siete a preto nechavaju parameter zakazany. Ine to zase neumoznuju, pretoze fragmenty mozu putovat do siete roznymi cestami. Niektore zdrojove systemy defragmentuju vychadzajuce pakety v jadre, jednym z nich Linux s modulom ip tables. Pocas vykonavania scanu je mozne pouzit sniffer napr. Ethereal a tym sa da sledovat, ci su odosielane pakety fragmentovane. Ak sa v lokalnom OS na lokalnom pocitaci vyskytnu problemy, skuste zadat parameter--send-eth cim sa to obide vrstva IP a odoslu sa neupravene ethernetove ramce. -D <decoy1 [,decoy2][,ME],...> (Zakryt scan pomocou decoys) Spusti sa scan pomocou obetnych stanic(decoys), cim sa pre vzdialenu hostitelsku stanicu bude specifikovana scanovacia hostitelska stanica/stanice javit ako decoy, ktora takisto ako ozajstna stanica scanuje cielovu siet. Ich system IDS preto moze zahlasit 5-10 scanov portov z roznych IP adries, no nebude vediet, ktore scany boli prave, a z ktorej IP adresy sa naozaj scanovalo. Zatial co sa tato metoda porazit pouzitim mechanizmov sledovania drah routerov, zahodenia odpovedi a dalsich aktivnych mechanizmov, je to stale ucinny sposob ako zakryt pravu IP adresu. Adresu kazdej decoy je potrebne oddelit ciarkami a je mozne pouzit parameter ME urcujuci, ktora z decoys reprezentuje vasu realnu IP adresu. Ak sa ME ME vlozi na vzdialenejsiu ako 6.poziciu, niektore bezne detektory scanov portov (napr. vyborny scanlogd spolocnosti Solar Designer) by nemali byt vobec dokazat zobrazit vasu IP adresu. Ak pouzijete ME , nmap vlozi vasu IP adresu na nahodnu poziciu. Vsimnite si, ze hostitelske stanice pouzite ako falosne scannery teda decoys by mali byt aktivne, inak mozete nahodne zahltit cielove stanice SYN paketmi. Ak bude aktivna len jedna hostitelska stanica, bude velmi jednoduche zistit, ktora z decoys vykonala scan. Namiesto DNS nazvov moze byt uzitocne pouzit IP adresy (takze vas siete pocitacov decoys nebudu vidiet v logu nameserveru.) Decoys su pouzivane pri pociatocnom ping scane (pouzijuc ICMP, SYN, ACK alebo ine) tak ako aj pocas samotnej fazy scanovania, a pouzivaju sa aj pri detekcii vzdialeneho OS (-O). Decoys nefunguju pri detekcii verzie alebo scane typu TCP connect(). Prilis mnoho decoys moze spomalit scan a potencialne ho znepresnit. Niektori internetovi provideri mozu filtrovat falosne pakety, no mnohi ich vobec neobmedzuju. -S <IP_Address> (Falosna zdrojova IP adresa) Pri niektorych okolnostiach nedokaze Nmap urcit lokalnu zdrojovu IP adresu ( ak je s tym problen, Nmap to oznami). V tejto situacii je nutne pouzit parameter-S s IP adresou, cez ktoru sa maju odosielat pakety. Dalsim moznym sposobom pouzitia tohoto flagu je falsovanie scanu, cim sa cielove stanice budu domnievat, ze ich scanuje niekto iny. Predstavte si firmu, ktora je opakovane scanovana konkurencnou firmou. Parameter -e bude pre tento typ pouzitia vsobecne vyzadovany a parameter -P0 je tiez vhodny. -e <interface> (Pouzit specifikovane rozhranie) Povie Nmapu, cez ktore rozhranie sa maju odosielat a prijimat pakety. Nmap by to mal vediet detekovat automaticky, ale v opacnom pripade to oznami. --source-port <portnumber>; -g <portnumber> (Falsovat zdrojove cislo portu) Jednou z bezne nespravnej konfiguracie je ak sa doveruje trafficu zalozenom na zdrojovom cisle portu. Nie je tazke pochopit ako k tomu dochadza. Administrator nastavi nablyskany novy firewall a bude zahlteny staznostami nevdacnych pouzivatelov, ktorych aplikacie prestali fungovat. Specialnym pripadom moze byt pokazeny DNS server, pretoze odpovede na DNS request z vonkajsich serverov uz nemozu vstupovat do siete. Dalsim castym prikladom je FTP. Pri aktivnych prenosoch FTP sa vzdialeny server pokusa o spatne spojenie ku klientovi, aby dodal pozadovany subor. Bezpecnymi rieseniami na tieto problemy su casto vo forme proxy serverov na aplikacnej urovni alebo firewallove moduly skumajuce protokoly. Existuju nanestastie aj jednoduchsie a nebezpecne riesenia. Vediac, ze DNS odpovede prichadzaju z portu 53 a aktivne ftp z portu 20, vela administratorov sa chytilo do pasce a jednoducho povolilo prichadzajuci traffic z tychto portov, pricom castu beru do uvahy, ze to ziadny utocnik nespozoruje a ani nezneuzije tuto dieru vo firewalle. V inych pripadoch to administrator povazuje za kratkodobe opatrenie az kym sa neimplementuje bezpecnejsie riesenie, a potom na tento upgrade zabudnu. Prepracovani sietovi administratori vsak nie su jedinymi, kto sa chyti do tejto pasce. Mnohe produkty sa dodavaju s tymito nebezpecnymi pravidlami, dokonca aj Microsoft bol vinny. Filtre protokolu IPsec dodavane so systemami Windows 2000 a Windows XO obsahuju implicitne pravidlo, ktore povoluje cely neobmedzeny TCP a UDP traffic z portu 88 (Kerberos). Dalsim dobre znamym pripadom povolovali verzie osobneho firewallu Zone Alarm az do verzie 2.1.25 vsetky prichadzajuce UDP pakety so zdrojovym portom 53(DNS) alebo 67 (DHCP). Nmap ponuka na objavenie tychto zranitelnosti ekvivalentne parametere-g a --source-port. Jednoducho zadate cislo portu a Nmap z neho odosle pakety. Pri niektorych testoch detekcie OS kvoli ich spravnej funkcii musi Nmap pouzivat odlisne cisla portov a DNS poziadavky ignoruju parameter --source-port, pretoze Nmap ich nechava na pleciach systemovych kniznic. Vacsina TCP scanov vratane SYN scanu ako aj UDP scan podporuju tento parameter uplne. --data-length <number> (Do odosielanych paketov pripojit nahodne data) Za normalnych okolnosti odosiela Nmap minimalne pakety obsahujuce len hlavicku, takze TCP pakety maju obycajne 40 bajtov a ICMP echo poziadavky len 28. Tento parameter napoveda Nmapu, aby pripojil nahodne bajty nahodnej dlzky do odosielanych paketov. Pakety detekcie OS(-O) nie su ovplyvnene na rozdiel od vacsiny ping a portscan paketov. Spomaluje to proces, ale trochu znenapadnuje scan. --ttl <value> (Nastavit pole IP time-to-live) Nastavi hodnotu pola IPv4 time-to-live odosielanych paketov na udanu hodnotu. --randomize-hosts (Nahodne vybrat poradie cielovych pocitacov) Nmap premiesa kazdu skupinu o velkosti az do 8096 hostitelskych stanic pred ich scanovanim, co moze znenapadnit scany pre rozne sietove moniturujuce systemy, hlavne ked sa skombinuju s parametrami pomaleho casovania. Ak chcete nahodne premiesat vacsie velkosti skupin, zvyste hodnotu premennej PING_GROUP_SZ v subore nmap.h a znovu skompilujte. Dalsim riesenim je vytvorit zoznam cielovych stanic pomocou list scanu An alternative solution is to generate the target IP list (-sL -n -oN filename), premiesat ho nahodne pomocoou scriptu napisaneho v Perli a potom tento zoznam predat Nmapu parametrom -iL. --spoof-mac <mac address, prefix, or vendor name> (Vytvorit falosnu MAC adresu) Nmap pouzije zadanu MAC adresu pre vsetky odosielane neupravene ethernetove ramce. Zahrna to v sebe parameter --send-eth, cim sa zaisti, ze Nmap vlastne odosle pakety na urovni ethernetu. Zadana MAC adresa moze byt v roznych formatoch. Ak je to jednoducho znak “0”, Nmap zvoli uplne nahodnu mac adresu. Ak je zadanym retazcom parny pocet hexadecimalnych cislic (s parmi dvoch nepovinne oddelenymi ciarkami), Nmap ich pouzije ako MAC adresu. Ak je zadanych menej ako 12 hexadec. cisel, Nmap vyplni zbytok zvyskom 6 byteov nahodnych hodnot. Ak sa nepouzije ani jedna z tycho moznosti, Nmap prehlada subor nmap-mac-prefixes pri pokuse najst nazov vyrobcu obsahujuci dany retazec (nezavisi na velkosti velkych a malych pismen). Ak je najdena zhoda, Nmap pouzije OUI vyrobcu (3-bajtova predpona) a nahodne vyplne 3 zostavajuce bajty. Spravne zadanymi prikladmi pre parameter--spoof-mac su Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2 ci Cisco. --badsum (Odoslat pakety s falosnym kontrolnym suctom TCP/UDP) Nmap pouzije neplatny kontrolny sucet TCP alebo UDP na odoslanie paketov cielovej stanici. Kedze prakticky vsetky hostitelske IP stacky dokladne zahadzuju taketo pakety, ak pride odpoved, pochadza pravdepodobne od firewallu alebo systemu IDS, ktory neoveroval kontrolny sucet. Viac podrobnosti o tejto metode najdete na adrese https://nmap.org/p60-12.txt
VYSTUP
Kazdy bezpecnostny nastroj je len tak uzitocny, ako uzitocny je vytvarany vystup. Zlozite testy a algoritmy maju malu hodnotu, ak nie su prezentovane v organizovanej a zrozumitelnej forme. Pri pohlade na pocet sposobov, akymi je Nmap pouzivany ludmi a dalsim softwarom, neexistuje jednotlivy format, ktory by vyhovoval kazdemu, takze preto Nmap ponuka niekolko formatov vratane interaktivneho modu citatelneho pre ludi a XML formatu lahko spracovavaneho softwarom. Okrem ponukania rozlicnych vystupnych formatov poskytuje Nmap parametre na ovladanie miery mnozstva vystupu tak ako aj debugovacie spravy. Vystupne typy mozu byt odoslane na standardny vystup alebo do nazvaneho suboru, do ktoreho moze Nmap data pripojit k existujucim alebo premazat subor a vlozit data. Vystupne subory mozu byt tiez pouzite na pokracovanie zachytavania vystupu z prerusenych scanov. Nmap ponuka vystup v piatich moznych formatoch. Predvolenym je interactive output a je odosielany na standardny vystup (stdout). Existuje aj normal output podobny interactive s tou vynimkou, ze zobrazuje menej runtimeovych informacii a upozorneni pri behu Nmapu, pretoze sa od neho ocakava, ze bude analyzovany az po skonceni scanu a nie interaktivne. Vystup vo formate je jednym z najdolezitejsich vystupnych typov a moze byt konvertovany na HTML format, lahko rozobraty dalsimi programami napr. grafickymi rozhraniami Nmapu, alebo importovany do databaz. Dva zostavajuce typy vystupov su jednoduchy grepable output obsahujuci vacsinu informacii o cielovej stanici na jednom riadku , asCRiPt KiDDi3 0utPUt pre pouzivatelov povazujucich sa za |<-r4d. Zatial co interaktivny vystup je predvoleny a nema ziadne suvisiace parametre prikazoveho riadku, dalsie styri formaty maju tu istu syntax. Pouzivaju jeden argument, ktorym nazov vystupneho suboru. Mozu byt zadane aj viacere formaty, ale vzdy len raz. Ak napriklad chcete ulozit normalny vystup pre seba a zaroven ho ulozit do XML formatu kvoli analyze programu, mozete pouzit parametre -oX myscan.xml -oN myscan.nmap. Tato kapitola sice pouziva kvoli strucnosti jednoduche nazvy suborov ako myscan.xml, ale odporuca sa pouzit popisnejsie nazvy. Zvolene nazvy su otazkou osobnych preferencii, hoci ja pouzivam dlhe nazvy zahrnujuce datum scanu a par slov opisujucich scan, ktory je umiestneny v adresari podla scanovej spolocnosti. Kym tieto parametre ukladaju vysledky do suborov, Nmap stale zobrazuje interaktivny vystup na stdout ako obycajne. Napriklad prikaz nmap -oX myscan.xml target zobrazi XML vystup do suboru myscan.xml a standardny vystup zobrazi presne tie iste interaktivne vysledky, ako keby parameter -oX nebol vobec specifikovany. Zmenit to mozete zadanim spojovnika ako argumentu pre jeden z typov formatov, co sposobi, ze Nmap deaktivuje interaktivny vystup a namiesto toho posle vysledky len do zadaneho formatu, cize prikaz nmap -oX - target odosle do stdout len vystup v XML. Vazne chyby mozu byt stale zobrazovane do normalneho chyboveho streamu s nazvom stderr. Na rozdiel od niektorych argumentov Nmapu, medzera medzi parametrom logovacieho suboru (napr. -oX) a nazvom suboru alebo spojovnikom je povinna. Ak vynechate flagy a zadate argumenty ako napr. -oG- alebo -oXscan.xml funkcia spatnej kompatibility Nmapu sposobi, ze sa vytvori vystupnych suborov v normal format s nazvom G-, resp. Xscan.xml . Nmap takisto ponuka parametre na ovladanie mnozstva vystupu scanu a ci sa maju vystupne subory prepisat alebo sa ma pokracovat v pripajani dat. Vsetky tieto parametre su opisane nizsie. Vystupne formaty Nmapu -oN <filespec> (Normalny vystup) Sposobi, zenormal output sa presmeruje do suboru so zadanym nazvom. Ako bolo rozobrate vyssie, tento vystup sa mierne lisi od interaktivneho - interactive output. -oX <filespec> (XML vystup) Sposobi, ze XML output sa presmeruje do suboru so zadanym nazvom. Nmap zahrna definiciu typu dokumentu (DTD), co umoznuje XML parserom vytvarat korektny XML vystup Nmapu. Je to sice urcene hlavne pre programove ucely, moze takisto pomoct ludom interpretovat XML vystup Nmapu. DTD definuje platne prvky formatu a casto vymenuva atributy a hodnoty, ktore mozu nadobudat. Posledna verzia je dostupna z adresy https://nmap.org/data/nmap.dtd. XML ponuka stabilny format lahko spracovatelny softwarom. Volne XML parsery su dostupne vo vsetkych hlavnych programovacich jazykoch vratane C/C++,Perl, Python a Java. Su ponukane napojenia pre vacsinu tychto jazykov tak, ze si vedia specificky poradit s vystupom a behom Nmapu. Prikladmi su Nmap::Scanner[8] a Nmap::Parser[9] v Perl CPAN. Skoro vo vsetkych pripadoch rozhrania netrivialnej aplikacie s Nmapom, XML je preferovanym formatom. XML vystup sa odkazuje na XSL stylesheet, ktory moze byt pouzity na formatovanie vysledkov do HTML. Najjednoduchsim sposobom ako ho pouzit je jednoducho nahrat vystup v XML do weboveho prehliadaaca akym je Firefox alebo IE. Za normalnych okolnosti to bude fungovat len na pocitaci, na ktorom bezi Nmap (alebo na podobne nastavenom) kvoli napevno zadanej ceste suboru nmap.xsl suboroveho systemu. Zadanim parametrov --webxml alebo --stylesheet vytvorite prenosne XML subory, ktore sa na kazdom pocitaci s webovym prehliadacom zobrazia v HTML formate. -oS <filespec> (ScRipT KIdd|3 oUTpuT) Vystup formatu Script kiddie je podobny interaktivnemu, no dodatocne sa spracuvava, aby vyhovoval skupine l33t HaXXorZ, ktori predtym opovrhovali Nmapom kvoli jeho doslednemu formatovaniu velkych pismen a hlaskovaniu. Ludia s nedostatkom zmyslu pre humor by si mali uvedomit, ze tento parameter je mysleny ako vtip pre script kiddies, predtym ako ma zacnu flamovat za to, ze im udajne “pomaham”. -oG <filespec> (Vystup typu Grep) Tento format vystupu je spomenuty ako posledny, pretoze je zastaraly. Vystup vo formate XML je ovela mocnejsi a takmer tak isto vhodny a pohodlny pre skusenych pouzivatelov. XML je standardom, pre ktory je dostupnych mnoho excelentnych parserov, kym vystup typu grep je len moj vlastny vymysel. XML je rozsiritelne na podporu novych vydanych funkcii Nmapu, zatial co tieto funkcie musim casto vynechat pri vystupe formatu grep kvoli nedostatku miesta na ich umiestnenie. Aj tak je vsak tento format stale dost oblubeny. Je to jednoduchy format, ktory zobrazuje kazdy hostitelsku stanicu na jeden riadok a moze byt jednoducho prehladavany a parsovany standardnymi UNIXovymi nastrojmi ako grep, awk, cut, sed, diff ci Perl. Aj ja ho dokonca pouzivam pre jednorazove testy na prikazovom riadku. Najst vsetky hostitelske stanice s otvorenym portom ssh alebo s beziacim systemom Solaris si vyzaduje jednoduchy grep na identifikaciu hostitelskych stanic, napojeny rurou - pipe na prikaz awk alebo cut, cim sa zobrazia pozadovane polia. Vystup vo formate Grep sa sklada z komentara (riadky zacinajuce sa znakom) a riadkami cielov. Riadok ciela zahrnuje kombinaciu 6 oznacenych poli, oddelenych tabulatorom a nasledovanym dvojbodkou, Host, Ports, Protocols, Ignored State, OS, Seq Index, IPID a Status. Najdolezitejsim z tychto poli je vo vseobecnosti Ports, ktore poskytuje podrobnosti o kazdom zaujimavom porte a obsahuje zoznam poloziek portov oddelenenych ciarkou, pricom kazda polozka reprezentuje jednotlivy port a zaujima podobu siedmych mensich poli oddelenych znakom /. Su nimi: Port number, State, Protocol, Owner, Service, SunRPC info a Version info. Tak ako pri vystupe XML, ani tento manual nemoze pokryvat dokumentaciu celeho formatu. Podrobnejsi pohlad na format typu grep Nmapu je dostupny z adresy http://www.unspecific.com/nmap-oG-output. -oA <basename> (Vystup vo vsetkych formatoch) Pre ucel pohodlnosti je mozne zadat -oA basename, cim sa vysledky scanu naraz ulozia v normalnom, XML a grep formate. Ulozia sa do suborov v tvare are stored in basename.nmap, basename.xml a basename.gnmap. Tak ako pri vacsine programov je aj tu mozne pridat predponu adresarovej cesty, napr. ~/nmaplogs/foocorp/ na UNIXovych systemoch alebo c:\hacking\sco na Windows. Miera vypisu a moznosti debugovania -v (Zvysit stupen miery vypisu) Zvysi stupen miery vypisu, cim Nmap zobrazi viac informacii o vykonavanom scane. Otvorene porty su zobrazovane hned pri ich najdeni. Ak Nmap odhaduje, ze scan zabere viac ako niekolko minut, zobrazi tento odhad. Pri dvojnasobnom pouziti parametru sa este viac zvysi miera vypisu. Viacnasobne pouzitie nema ziadny efekt. Vacsina zmien ovplyvnuje len interaktivny vystup a niektore tiez normalny a script kiddie format vystupu. Ostatne typy vystupov su spracovavane pocitacmi, takze Nmap poskytuje podstatne podrobnosti predvolene bez unavovania cloveka. Existuje vsak niekolko zmien v dalsich modoch, kde sa moze velkost vystupu podstatne zmensit vynechanim niektorych podrobnosti. Napriklad riadok s komentarom vo formate grep poskytujuci vsetkych scanovanych portov sa zobrazi len v mode verbose - s velkou mierou vypisu - pretoze moze byt dost dlhy. -d [level] (Zvysit alebo nastavit uroven debugovania) Ak ani mod verbose neposkytuje dostatocne udaje, je vhodne pouzit debugovanie, cim sa doda omnoho viac informacii. Tak ako pri parametri stupna urovne vypisu, (-v), debugovanie sa povoli riadkovym parametrom(-d) a jeho stupen sa da zvysit jeho niekolkonasobnym zadanim. Alternativne je mozne nastavit stupen debugovania dosadenim argumentu za parameter -d, napriklad -d9 nastavi uroven na devat, co predstavuje najvyssi platny stupen a v pripade, ze sa nevykonava velmi jednoduchy scan s par portmi a cielovymi stanicami vyprodukuje tisicky riadkov. Vystup debugovania je uzitocny, ak je podozrive, ze Nmap obsahuje bug, alebo ak ste proste zmateni, co Nmap robi a preco. Riadky debuggovania nie su prilis samo vysvetlujuce, kedze su urcene pre vyvojarov. Je mozne dopracovat sa k niecomu takemu: Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. Ak nerozumiete ani jednemu riadku, jedinym riesenim je ignorovat vypis alebo si ho vyhladat v zdrojovom kode, pripadne si vyziadat pomoc zo development listu (nmap-dev). Niektore riadku su samovysvetlujuce, no zvysovanim stupna debugovania sa straca prehlad. --packet-trace (Sledovat odosielane a prijimane pakety a data) Nmap zobrazi obsah kazdeho odoslaneho alebo prijateho paketu. Casto sa to pouziva pre debugovanie, ale zide sa tiez novacikom, ktori su presne rozumiet, co sa deje pod pokryvkou Nmapu. Ak chcete predist zobrazovaniu tisicov riadkov, je mozne specifikovat obmedzeny pocet portov na scanovanie, napr.-p20-30. Ak vas zaujima len priebeh detekcie verzie, zadajte --version-trace. --iflist (Zobrazit zoznam rozhrani a ciest) Zobrazi zoznam rozhrani a systemovych ciest tak ako boli detekovane Nmapom, co sa hodi pre debugovanie problemov s routovanim alebo nespravnou charakterizaciou zariadenia, napr. ak Nmap povazuje pripojenie PPP za ethernetovske. . Rozne moznosti vystupu --append-output (Pripojit vystup namiesto vymazania predchadzajucich dat) Pri specifikacii nazvu suboru za parametrom formatu vystupu napr. -oX alebo -oNsa v predvolenom nastaveni subor prepise. Ak chcete zachovat obsah suboru a pripojit nove vysledky, zadajte parameter --append-output a vsetky zadane nazvy suborov sa namiesto prepisovania budu rozsirovat o nove data. Nefunguje to pre data scanu pre format XML(-oX), pretoze sa vysledny subor nespracuje spravne, az kym ho neopravite rucne. --resume <filename> (Pokracovat v prerusenom scane) Niektore rozsiahle scany trvaju Nmapu velmi dlho - radovo aj dni. Taketo scany nebezia stale do konca. Mozu existovat obmedzenia, ze Nmap nesmie byt spusteny pocas pracovneho casu, mohla by spadnut siet, pocitac so spustenym Nmapom by mohol planovane ci neplanovane restartovat alebo by Nmap sam mohol zhavarovat. Administrator ho moze zrusit takisto a to stlacenim kombinacie ctrl-C. Restartovat cely scan od zaciatku moze byt neprijatelne. Nastastie, ak sa uchovavali logovacie zaznamy typu normal (-oN) alebo grep (-oG) , pouzivatel moze pokracovat v scanovani s tymi istymi cielovymi stanicami ako predtym pred prerusenim scanu. Docieli sa to zadanim parametra --resume a vystupneho suboru vo formate normal/grep ako argumentu. Ziadne dalsie argumenty nie su povolene, pretoze Nmap spracuvava subor pomocou predchadzajucich parametrov. Je teda potrebne zadat nmap --resume logfilename. Nmap pripoji nove vysledky do suborov specifikovanych v predchadzajucom vykonavani scanu. Taketo obnovenie scanu nepodporuje vystup v XML formate, pretoze miesanie vysledkov dvoch spusteni scanu do jedneho spolocneho spravneho XML suboru by bolo narocne. --stylesheet <path or URL> (Nastavit XSL stylesheet na prevod XML vystupu) Nmap je dodavany s XSL stylesheetom nazvanym nmap.xsl na prezeranie a preklad XML formatu do HTML. Vystup XML zahrna direktivu xml-stylesheet , ktora ukazuje na subor nmap.xml, kde bola pocitatocne nainstalovana Nmapom (vo Windowse aktualnym pracovnym adresarom). Nahrajete XML vystup Nmapu do moderneho weboveho prehliadaca a ten by mal zo suboroveho systemu najst subor nmap.xsl a pouzit ho na preklad vysledkov. Ak si zelate pouzit odlisny stylesheet, zadajte ho ako argument za parametrom --stylesheet. Je nutne zadat plnu cestu alebo adresu URL. Jednym z beznych prikladov je --stylesheet https://nmap.org/data/nmap.xsl, co sposobi, ze browser nahra najnovsiu verziu stylesheetu z adresy Insecure.Org. Parameter --webxml robi to iste bez tolkeho pisania a memorovania. Nahratie XSL stylesheetu z Insecure.Org ulahcuje prezeranie vysledkov na pocitaci, ktory nema Nmap (a preto ani nmap.xsl). URL je teda casto uzitocnejsia, ale ulozenie suboru v lokalnom suborovom systeme sa pouziva predvolene kvoli bezpecnosti. --webxml (Nahrat stylesheet z adresy Insecure.Org) Tento pohodlny parameter je jednoducho alternativou k zadaniu --stylesheet https://nmap.org/data/nmap.xsl. --no-stylesheet (Vynechat zadanie XSL stylesheetu z XML) Tento parameter zabrani Nmapu spajat XSL stylesheet s XML vystupom. Vynecha sa direktiva xml-stylesheet.
ROZNE MOZNOSTI
Tato cast opisuje niektore dolezite a menej dolezite moznosti, ktore nikam inam nezapadaju. -6 (Povolit scanovanie IPv6) Od roku 2002 ponuka Nmap podporu protokolu IPv6 pre svoje najpopularnejsie funkcie, specialne pre ping scan (len pri TCP), scanovani typu connect() a detekcii verzie. Syntax prikazov je rovnaka, len sa este prida parameter -6. Pri zadavani IP adresy je samozrejme nutne pouzit syntax IPv6. Adresa moze byt napr. v tvare 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, a preto je odporucane pouzit hostitelske nazvy. Vystup vyzera podobne ako zvycajne, s adresou v tvare IPv6 v riadku “interesting ports”, ktory IPv6 prezradza ako jediny. Aj ked sa IPv6 stale nerozsiril poriadne, pouziva sa vyznamne v niektorych krajinach, zvycajne azijskych, a vacsina modernych operacnych systemov ho podporuju. Ak chcete pouzit Nmap s protokolom IPv6, musia byt zdrojovy aj cielovy pocitac scanu nastavene na tento protokol. Ak vam vas ISP, ako vacsina, nepriradi IPv6 adresy, su zdarma dostupne tunelovacie programy pre IPv6 a dobre spolupracuju s Nmapom. Jeden z tych lepsich je BT Exact. Pouzil som aj jeden poskytovany spolocnostou na adrese‐ http://ipv6tb.he.net/. Dalsou metodou zdarma su tunely IPv6 na IPv4. -A (Parametre agresivneho scanu) Tento parameter umoznuje dalsie pokrocile a agresivne moznosti. Este som sa nerozhodol presne, co vsetko to predstavuje. V sucasnosti umoznuje detekciu OS (-O) a scan verzie(-sV). Viac funkcii sa moze pridat v buducnosti. Dovodom je umoznit rozsiahlu mnozinu moznosti scanu bez toho, aby si ludia museli pamatat mnozstvo flagov. Tento parameter povoluje len funkcie, no nie casovacie moznosti (napr.-T4) alebo parametre miery vystupu (-v), ktore by tiez mohli byt potrebne. --datadir <directoryname> (Specifikovat vlastne datoveho suboru Nmapu) Nmap ziskava specialne data pocas behu zo suborovnmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes a nmap-os-fingerprints. Najprv ich hlada v adresari zadanom volitelne parametrom --datadir. Ak tam nie su najdene vsetky subory, chybajuce su hladane v adresari specifikovanom premennou NMAPDIR. Dalsim v poradi je adresar ~/.nmap, kde sa hladaju pre systemy POSIX realne a efektivne UID a pre systemy Win32 umiestnenia spustitelneho suboru Nmapu. Potom sa hlada nakompilovane umiestnenie napr. /usr/local/share/nmap ci /usr/share/nmap . Ako posledna moznost pri hladani sa pouzije aktualny adresar. --send-eth (Posielat neupravene pakety na ethernetovej vrstve) Nmap bude odosielat pakety na neupravenej druhej, ethernetovej vrstve (vrstva data link) namiesto vyssej sietovej vrstvy. V predvolenom nastaveni zvoli Nmap sposob, ktory sa lepsie hodi pre danu platformu. Neupravene sockety (sietova vrstva) su efektivnejsie pre UNIXovske pocitace, kym ethernetovske ramce sa vyzaduju pre operacie na platforme Windows, pretoze Microsoft nepodporuje neupravene sockety. Nmap pouziva na UNIXoch vzdy neupravene IP pakety, napriek tejto moznosti, aj ked neexistuje ina volba. --send-ip (Posielat neupravene pakety na vrstve IP) Nmap bude odosielat pakety prostrednictvom neupravenych IP socketov a nebude odosielat nizkourovnove ethernetove ramce. Je to doplnkom parametra --send-eth rozoberaneho predtym. --privileged (Predpokladat, ze pouzivatel je plne privilegovany) Nmap bude predpokladat, ze ma dost privilegii, aby mohol odosielat neupravene sockety, vykonavat sniffing paketov a podobne operacie, ktore obycajne na UNIXovych systemoch vyzaduju privilegia roota. Za normalnych okolnosti Nmap skonci, ak su taketo operacie pozadovane, no funkcia geteuid() nevrati nulu. Parameter --privileged sa hodi pri schopnostiach kernelu Linuxu a pri podobnych systemoch, ktore mozu byt konfigurovane, aby umoznili neprivilegovanym pouzivatelom vykonavat scany pouzitim neupravenych paketov. Tento parameter je potrebne zadat pred vsetkymi parametrami, ktore vyzaduju privilegia (SYN scan, detekcia OS, atd.). Premenna NMAP_PRIVILEGED moze byt nastavena ako ekvivalentna alternativa k parametru --privileged. -V; --version (Zobrazit cislo verzie) Zobrazi cislo verzie Nmapu a ukonci sa. -h; --help (Zobrazi obsah napovedy) Zobrazi kratku obrazovku napovedy s najbeznejsimi prikazmi. To iste sa dosiahne pri spusteni Nmapu bez argumentov.
INTERAKCIA S BEHOM PROGRAMU
Poznámka Funkcia interakcie s behom programu este na systemoch Windows nie je plne podporovana. Pocas behu Nmapu sa zachytavaju vsetky stlacenie klucovych klavesov, co dovoluje komunikovat s programom bez jeho zastavenia a restartovania. Iste specialne klavesy zmenia parametre, zatial co ine klavesy zobrazia stavovu spravu informujucu o scane. Konvencia je taka, ze male pismena zvysuju mnozstvo zobrazovanych udajov a velke pismena ho znizuju. v / V Zvysit / Znizit mieru zobrazovania d / D Zvysit / Znizit stupen debugovania p / P Zapnut/ Vypnut sledovanie paketov Cokolvek ine Zobrazi stavovu spravu, napr.: 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)
PRIKLADY
Na tomto mieste je niekolko prikladov pouzitia Nmapu, od jednoduchych a rutinnych az po zlozitejsie a tajuplne. Pouzite su niektore vlastne IP adresy a nazvy domen, aby bol proces konkretny, no namiesto nich by sme mali pouzit nahrady vasej vlastnej siete.. Aj ked si nemyslim, ze scanovanie portov dalsich sieti je alebo by malo byt nelegalne, administratori niektorych sieti nijak neocenuju nevyziadane scanovanie svojich sieti a mozu sa stazovat. Najlepsie je najprv ziskat opravnenie. Pre testovacie ucely mate opravnenie scanovat pocitac na adrese scanme.nmap.org. Toto opravnenie vsak obsahuje len scanovanie pomocou Nmapu a nie testovanie exploitov alebo utokov typu Denial of service. Aby sa nevycerpala sirka pasma, nespustajte viac ako 12 scanov na tento pocitac za jeden den. Ak je tato sluzba volneho scanovania cieloveho pocitaca zneuzita, zrusi sa a Nmap oznami Failed to resolve given hostname/IP: scanme.nmap.org. Tieto opravnenia sa tiez vztahuju na hostitelske pocitace scanme2.nmap.org, scanme3.nmap.org atd., hoci tieto stanice momentalne neexistuju. nmap -v scanme.nmap.org Tento parameter spusti scan vsetkych rezervovanych TCP portov na pocitaci scanme.nmap.org . Parameter-v umoznuje tzv. verbose mode. nmap -sS -O scanme.nmap.org/24 Spusti SYN scan proti kazdemu aktivnemu pocitacu v sieti triedy “class C” s nazvom Scanme. Takisto sa pokusi urcit spustene operacne systemy aktivnych pocitacov. K tymto parametrom sa vyzaduju privilegia roota. nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127 Spusti vypocet hostitelskych stanic a TCP scan na prvu polovicu z 255 moznych 8-bitovych subnetov v adresnom priestore 198.116 triedy B. Zaroven sa testuje, ci na systemoch bezia sluzby sshd, DNS, pop3d, imapd alebo port 4564. Pre kazdy z najdenych otvorenych portov sa pouzije detekcia verzia na urcenie spustenych aplikacii. nmap -v -iR 100000 -P0 -p 80 Nmap zvoli nahodne 100 000 hostitelskych pocitacov a scanuje ich port 80. Vypocet hostitelskych stanic je zakazany parametrom -P0, pretoze je zbytocne najprv posielat test na zistenie, ci je hostitelska stanica aktivna, ak sa bude aj tak testovat len jeden port. nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20 Scanuje 4096 IP adries kvoli najdeniu webserverov (bez ich pingnutia) a vystup ulozi vo formatoch grep a XML. host -l company.com | cut -d -f 4 | nmap -v -iL - Vykona preklad domeny DNS, cim sa najdu hostitelske pocitace na adrese company.com a potom Nmap pouzije tieto IP adresy. Tieto prikazy sa mozu pouzit pre pocitac so systemom GNU/Linux - dalsie systemy maju odlisne prikazy na vykonavanie prekladu domeny.
BUGY
Tak ako autor, ani Nmap nie je dokonaly, no mate moznost pomoct pri jeho vylepsovani tym, ze zaslete spravu o bugoch alebo dokonca napisete patch. Ak sa Nmap nechova podla ocakavania, vykonajte najprv upgrade na najnovsiu verziu dostupnu z adresy https://nmap.org/. Ak problem pretrvava, preskumajte, ci uz nebol objaveny a adresovany. Vyskusajte pouzit google s vyrazom chybovej spravy alebo prehladajte archivy Nmap-dev na adrese https://seclists.org/. Precitajte si aj tento plny manual. Ak nenajdete nic podobne, poslite mail o bugu na adresu <dev@nmap.org>. Zahrnte vsetko, co ste sa dozvedeli o probleme spolu s verziou Nmapu a operacnym systemom. Spravy o problemoch a otazky na pouzivanie Nmapu budu ovela pravdepodobnejsie zodpovedane, ak budu odoslane na dev@nmap.org namiesto odosielania priamo Fyodorovi. Patche s kodom na opravu bugov su este lepsie ako samotne spravy o bugoch. Zakladne instrukcie na tvorbu suborov patchov s vasimi zmenami su dostupne na https://nmap.org/data/HACKING. Patche mozu byt odoslane prednostne na nmap-dev alebo priamo Fyodorovi.
AUTOR
Fyodor <fyodor@nmap.org> (http://www.insecure.org) Za posledne roky stovky ludi vyznamne prispeli pre Nmap. Podrobnosti o nich su obsiahnute v suboreCHANGELOG, ktory sa dodava s Nmapom a je dostupny z adresy‐ https://nmap.org/changelog.html.
PRAVNE PREHLASENIA
Unofficial Translation Disclaimer/ Zrieknutie sa zaruky nad neoficialnym prekladom This is an unnofficial translation of the Nmap license details[10] into Slovak. It was not written by Insecure.Com LLC, and does not legally state the distribution terms for Nmap -- only the original English text does that. However, we hope that this translation helps Slovak speakers understand the Nmap license better. Toto je len neoficialny prekladlicencnych podrobnosti Nmapu[10] do slovenciny. Nebol vytvoreny spolocnostou Insecure.Com LLC a ani legalne nevyjadruje podmienky distribucie pre Nmap; to ma za ulohu len povodny anglicky text. Aj tak vsak dufame, ze tento preklad pomoze slovensky hovoriacim ludom lepsie pochopit licenciu pre Nmap. Copyright a licencia Nmapu Program Nmap Security Scanner je produktom (C) 1996-2005 Insecure.Com LLC. Nmap je tiez registrovana obchodna znacka spolocnosti Insecure.Com LLC. Tento program je free softwarom; je mozne ho redistribuovat alebo modifikovat podla podmienok licencie GNU General Public License 2 uverejnenou zdruzenim Free Software Foundation. Zarucuje pravo na pouzivanie, modifikaciu a redistribuciu tohoto softwaru za istych podmienok. Ak mate zaujem o zaclenenie technologie Nmapu do proprietarneho softwaru, mozeme predat alternativne licencie (kontakt <sales@insecure.com>). Vela vyrobcov bezpecnostnych scannerov uz licencuju technologiu Nmapu, napr. zistovanie hostitelskych stanic, scanovanie portov, detekcia OS a detekcia sluzby/verzie. Je nutne poznamenat, ze GPL uvaluje dolezite obmedzenia na “odvodene diela”, no neposkytuje podrobnu definiciu tohoto pojmu. Aby sa predislo nedorozumeniam, za ucelom tejto licencie povazujeme aplikaciu za “odvodene dielo (derivative work)” ak vykonava lubovolnu z nasledujucich veci: • Zaclenuje zdrojovy kod z Nmapu • Nacitava alebo obsahuje Nmapovske Nmap datove subory chranene copyrightom, napr. nmap-os-fingerprints ci nmap-service-probes. • Spusta Nmap a spracuvava vysledky(oproti typickym shellovskym aplikaciam ci aplikaciam s menu pre spustanie, ktore jednoducho zobrazia neupraveny vystup Nmapu a nie su odvodenym dielami.) • Zaclenuje, obsahuje alebo zhromazduje Nmap do proprietarneho spustitelneho instalacneho programu, napr. tie vyrobene spolocnostou InstallShield. • Je prepojeny na kniznicu alebo spusta program, co vykonava lubovolnu hore uvedenu cinnost. Pojem “Nmap” by sa mal pouzit aj pri zahrnuti akychkolvek casti alebo diel odvodenych od Nmapu. Tento zoznam nie je vyhradny, no jeho zamerom je objasnit nasu interpretaciu odvodenych diel pomocou niekolkych beznych prikladov. Tieto obmedzenia vlastne platia len pri redistribucii Nmapu. Napriklad vas nic nemoze zastavit od napisania a predavania proprietarnej celnej aplikacie k Nmapu, mozete to sami distribuovat a zverejnit pre verejnost adresu https://nmap.org/ na stiahnutie Nmapu. Nepokladame to za dodatocne restrikcie ku GPL, ale len ako objasnenie toho ako interpretujeme “odvodene diela” podla vztahu k nasmu produktu s licenciou GPL. Je to nieco podobne, ako ked Linus Torvalds oznamil svoju interpretaciu ako sa vztahuju “odvodene diela” k modulom linuxovskeho kernelu. Nasa intepretacia sa odkazuje len na Nmap - nehovorime za ine GPL produkty. Ak mate otazky tykajuce sa obmedzeni licencii GPL ohladom pouzivania Nmapu v dielach nelicencovanych GPL, radi pomozeme. Ako uz bolo spomenute vyssie, tiez ponukame alternativne licencie na zahrnutie Nmapu do proprietarnych aplikacii a zariadeni. Tieto zmluvy uz boli predane mnohym vyrobcom zaoberajucich sa bezpecnostou a vseobecne zahrnuju trvalu licenciu tak ako aj poskytovanie prioritnej podpory a updateov a pomoc financne podporovat pokracujuci vyvoj technologie Nmapu. Na ziskanie dalsich informacii zaslite e-mail na adresu <sales@insecure.com>. Ako vynimku ku terminom licencie GPL, spolocnost Insecure.Com LLC udeluje povolenie spajat kod tohoto programu s lubovolnou verziou kniznice OpenSSL, ktora je distribuovana pod licenciou identickou k tej zmienenej v zahrnutom subore Copying.OpenSSL, a distribuovat suvisiace kombinacie vratane tychto dvoch. Musite dodrziavat GNU GPL vo vsetkych ohladoch pre kod iny ako OpenSSL. Ak pozmenite tento subor, je mozne nezavazne rozsirit tuto vynimku na vasu verziu tohoto suboru. Ak ste tieto subory ziskali s pisomnou licencnou zmluvou alebo sa zmluva zmienuje o inych pojmoch ako su vyssie uvedene, ma prednost pred tymito podmienkami. Licencia Creative Commons pre tuto prirucku Nmapu Tato prirucka Nmapu je chranena copyrightom spolocnosti (C) 2005 Insecure.Com LLC a je preto umiestnena pod verziou licenciou Creative Commons Attribution License[2] verzie 2.5, co dovoluje redistribuovat a modifikovat dielo podla ziadosti, pricom sa odkazete na povodny zdroj. Alternativne je mozne vybrat si, ze tento dokument sa bude povazovat, ze spada pod tu istu licenciu ako sam Nmap (predtym rozobrata). Dostupnost zdrojoveho kodu a prispevky komunity K tomuto softwaru je poskytovany kod, pretoze si myslime, ze pouzivatelia maju pravo poznat pred jeho spustenim, co presne program vykona. To umoznuje aj vam skumat software kvoli bezpecnostnym dieram, aj ked zatial neboli ziadne najdene. Zdrojovy kod vam tiez dovoluje portovat Nmap na nove platformy, opravovat bugy, a pridavat nove funkcie. Ste vrelo podporovani zasielat vase modifikacie pre pripadne zaclenenie do hlavnej distribucie na adresu <fyodor@nmap.org>. Zaslatim tychto zmien Fyodorovi alebo na niektory z vyvojarskych mailing listov Insecure.Org sa predpoklada, ze poskytujete Fyodorovi a firme Insecure.Com LLC nelimitovane, nevylucne pravo na pouzivanie, modifikaciu a opatovne licencovanie kodu. Nmap bude vzdy dostupnym Open Source programom, ale tato zmienka je dolezita, pretoze nemoznost prelicencovat kod uz sposobila obrovske problemy dalsim projektom Free Software (napr. KDE a NASM). Prilezitostne relicencujeme kod tretim stranam podla hore spomenuteho. Ak si prajete specifikovat specialne podmienky licencie vasich prispevkov, uvedte to pri ich zasielani. Bez zaruky Tento program je distribuovany s vierou, ze bude uzitocny, ale BEZ AKEJKOLVEK ZARUKY; dokonca aj bez naznacenej zaruky PREDAJNOSTI a VHODNOSTI NA URCITY UCEL. Dalsie podrobnosti mozete najst na adresehttp://www.gnu.org/copyleft/gpl.html, alebo v subore COPYING zahrnutym v Nmape. Je takisto dolezite poznamenat, ze Nmap je znamy tym, ze obcas sposobi zrutenie slabo naprogramovanych aplikacii, stackov TCP/IP a dokonca aj operacnych systemov. Aj ked sa to stava velmi zriedkave, je na to potrebne mysliet. Nmap by sa nikdy nemal spustat na testovanie kritickych systemov , kym nie ste pripraveny trpiet ich vypadky. Na tomto mieste uznavame, ze Nmap moze sposobit spadnutie vasich systemov alebo sieti a zriekame sa vsetkych zavazkov za akukolvek skodu alebo problemy pripadne zapricinene Nmapom. Nevhodne pouzitie Kvoli istemu riziku padov systemov a niekolkym trufalcom, ktori pouzivaju Nmap na prieskum pred napadnutim systemov existuju administratori, ktori su znepokojeni a mozu sa stazovat pri zisteni scanovania systemu. Je preto doporuceniahodne vyziadat si povolenie pred podniknutim co i len lahkeho scanu siete. Nmap by nikdy nemal byt z bezpecnostnych dovodov instalovany so specialnymi privilegiami (napr. suid root) Software tretich stran Tento produkt zahrnuje software vyvinuty organizaciou Apache Software Foundation[11]. Modifikovana verzia kniznice Libpcap portable packet capture library[12] sa dofavat spolu s nmapom. Verzia Nmapu pre Windows namiesto toho vyuziva od tejto kniznice odvodenu WinPcap library[13]. Podpora regularnych vyrazov je poskytovana kniznicouPCRE library[14], ktora je open source softwarom a jej autorom je Philip Hazel. Niektore neupravene sietove funkcie pouzivaju sietovu kniznicu s nazvomLibdnet[15] vytvorena autorom Dug Song. Jej pozmenena verzia sa dodava s Nmapom. Nmap moze byt volitelne spojeny s toolkitomOpenSSL cryptography toolkit[16] na podporu detekcie verzie protokolu SSL. Kazdy z tu spomenuteho softwaru tretich stran je volne siritelny pod softwarovymi licenciami typu BSD. Klasifikacia riadenia exportu z USA (US Export Control Classification) Klasifikacia riadenia exportu z USA: Insecure.Com LLC sa domnieva, ze Nmap spada pod americky ECCN (export control classification number) 5D992. Tato kategoria sa nazyva “Information Security software not controlled by 5D002”. Jedinym obmedzenim tejto klasifikacie je AT (anti-terorizmus), ktory sa vztahuje na skoro vsetky tovary a odmieta exportovat do par nebezpecnych krajin ako su Iran a Severna Korea, preto exportovanie Nmapu nevyzaduje ziadnu specialnu licenciu, povolenie alebo ine splnomocnenie vladou.
POZNÁMKY
1. povodnej anglickej verzie https://nmap.org/man/ 2. Creative Commons Attribution License http://creativecommons.org/licenses/by/2.5/ 3. RFC 1122 http://www.rfc-editor.org/rfc/rfc1122.txt 4. RFC 792 http://www.rfc-editor.org/rfc/rfc792.txt 5. UDP http://www.rfc-editor.org/rfc/rfc768.txt 6. TCP RFC http://www.rfc-editor.org/rfc/rfc793.txt 7. RFC 959 http://www.rfc-editor.org/rfc/rfc959.txt 8. Nmap::Scanner http://sourceforge.net/projects/nmap-scanner/ 9. Nmap::Parser http://www.nmapparser.com 10. Nmap license details https://nmap.org/man/man-legal.html 11. Apache Software Foundation http://www.apache.org 12. Libpcap portable packet capture library http://www.tcpdump.org 13. WinPcap library http://www.winpcap.org 14. PCRE library http://www.pcre.org 15. Libdnet http://libdnet.sourceforge.net 16. OpenSSL cryptography toolkit http://www.openssl.org