Nmap Security Scanner
Intro
Ref Guide
Install Guide
Download
Changelog
Book
Docs
Security Lists
Nmap Hackers
Nmap Dev
Bugtraq
Full Disclosure
Pen Test
Basics
More
Security Tools
Pass crackers
Sniffers
Vuln Scanners
Web scanners
Wireless
Exploitation
Packet crafters
More
Site News
Site Search:
Exploit World
Advertising
About/Contact
Credits
Sponsors:
|

Izbjegavanje i zavaravanje vatrozida i IDS-aMnogo pionira interneta zu zamislili globalnu otvorenu mrežu univerzalnog adresnog prostora u kojoj je
dozvoljeno spajanje bilo koja dva čvora. To bi omogućilo hostovima da šalju i primaju informacije jedan od drugog.
Ljudi bi mogli pristupiti svim svojim sustavima s posla i mijenjati postavke grijanja i hlađenja, pa čak i
otključavati vrata gostima koji su uranili.Ta verzija univerzalne povezanosti je ugušena nedovoljnim adresnim
prostorom i ponajviše iz sigurnosnih razloga. U ranim 90-tima, firme su počele uvoditi vatrozide s primarnom namjenom
da smanje mogućnosti povezivanja koje su postojale. Ogromne mreže su ofgrađene od nefiltriranog interneta korištenjem
aplikacijskih proxy-a, NAT uređajai paket filtera. Otvoreno kolanje informacija predalo je tron kontroliranim
komunikacijskim kanalima i sadržajem koji je njima prolazio. Mrežne barijere poput vatrozida mogu otežati mapiranje mreže, a vremenom neće biti ništa lakše, jer ugušiti
lagodno istraživanje mreže je primarni cilj većine uređaja. No ipak, Nmap nudi mnogo mogućnosti kako bi nam pomogao u
razumijevanju tih kompleksnih mreža i kako bi provjerio da li filteri uistinu rade onako kako smo zamislili. Čak
podržava mehanizme za obilaženje loše implementiranih mjera zaštite. Jedna od najboljeh metoda pomoću koje ćete
razumjeti postavke svoje mrežne sigurnosti je pokušaj da je obiđete. Pokušajte se postaviti u mentalni sklop napadača
i iskoristite tehnike iz ovog poglavlja protiv svojih mreža. Pokrenite FTP bounce sken, idle sken, napad
fragmentacijom ili pokušajte tunelirati kroz svoj proxy server. Uz to što brane mrežnu aktivnost, firme sve više nadgledaju promet sa sustavima za otkrivanje upada (engl.
intrusion detection system) IDS. Većina poznatijih IDS sustava dolaze s podešenim pravilima koja mogu prepoznati Nmap
skenove, jer ponekad je sken u stvari prethodnik napada. Većina tih sustava je nedavno prerasla u sustave za zaštitu
od upada (engl. intrusion prevention system) IPS koji aktivno blokiraju promet koji ocjene kao
zloćudan. Na štetu mrežnih administratora i proizvođača IDS sustava, pouzdano ustanoviti što je zloćudno, a što nije
samo analizom paketa je teško. Napadači koji imaju strpljenja i sposobnosti obično mogu uz pomoć nekin Nmap-ovih
opcija proći nezapaženo od IDS sustava. U međuvremenu admnistratori se moraju boriti s velikom količinom lažnih
uzbuna, gdje je normalna mrežna aktivnost pogrešno dijagnosticirana i možda čak blokirana od IPS sustava. Ponekad ljudi predlažu da Nmap ne bi trebao nuditi mogućnosti za obilaženjem vatrozida i provlašenja pored
IDS-a. Tvrde da će te mogućnosti biti korištene od strane napadača isto kao i od strane administratora. Problem u
ovoj logici je taj što će metode tako i tako biti dostupne napadačima koji će koristiti neki fdrugi alat ili sami
doprogramirati funkcionalnost u Nmap, dok bi administratori imali puno teži posao u sprješavanju upada na svoje
sustave. Postavljanje samo modernih, zakrpanih FTP servera je mnogo učinkovitija obrana od sprječavanja distribucije
alata koji mogu napraviti FTP bounce napad.
Ne postoji čarobni metak (ili Nmap opcija) za otkrivanje i potkopavanje vatrozida i IDS sustava. Za to je
potrebna vještina i iskustvo. Tutorial je nešto što ne spada u ovaj dokument, koji samo navodi opcije i opisuje što
one mogu.
-
-f (fragmentiraj pakete);
--mtu (koristi navedeni MTU)
-f opcija prisiljava pokrenuti sken (uključujući i ping sken) da koristi male
fragmente IP paketa. Ideja se sastoji od toga da zaglavlje TCP paketa prelomi na više paketa kako bi paket
filterima, IDS-ovima i drugim dosadnjakovićima bilo teže otkriti što radite. Budite pažljivi s tim! Neki
programi imaju problema u radu s takvim malim paketima. Jedan stari sniffer imenom Sniffit, je automatski
pukao kad bi primio prvi fragment. Nakon što navedete ovu opciju jednom, Nmap podijeli pakete u 8 bytova
ili manje. Tako će 20 bytno TCP zaglavlje biti podijeljeno u 3 paketa, dva po 8 bytova i jedan od 4. Imajte
na umu da svaki od tih paketa koje smo prelomili dobiva novo zaglavlje, koje nema nikakve veze s
originalnim. Navedite -f još jednom i Nmap će koristiti 16 bytova po fragmentu (smanjujući
broj fragmenata). Isto tako možete definirati bilo koju željenu veličinu korištenjem --mtu opcije. Ukoliko
koristite --mtu opciju nemojte koristiti i -f opciju. Fragment mora biti
višekratnik broja 8. Iako fragmenti neće proći pored paet filtera i vatrozida koji skupljaju se fragmente
kako bi vidjeli što je u originalnom paketu, popout opcije CONFIG_IP_ALWAYS_DEFRAG u linux jezgri
operativnog sustava, činjenica je da si neke mreže ne mogu dozvoliti udar na performanse koji ta opcija
ima, pa je stoga na njima isključena. Drugi pak sustavi ne mogu imati upaljnu tu opciju, jer fragmenti mogu
doći u njihovu mrežu drugom rutom. Neki sustavi defragmentiraju izlazne pakete u samoj jezgri, poput linuxa
koji ima iptables s upaljenim modulom praćenja konekcije. Pokrenite sken dok je upaljen snifer poput
ethereal-a kako bi se osigurali da su odlazni paketi fragmentirani. Ukoliko vaš OS radi probleme (kao što
smo naveli malo prije kod linuxa i iptables-a), pokušajte slati sirove eternet frame-ove opcijom
--send-eth.
-
-D <decoy1 [,decoy2][,ME],...>
(sakrij sken pomoću mamaca)
Ovaj način skeniranja učini to da na hostu koji skenirate izgleda kao da ga skeniraju i sustavi koje
ste stavili u mamce. Tako će IDS navesti 5- port skenova s jedne IP adrese i tako za sve mamce koje ste
naveli i za vas. Samim tim neće znati tko je stvarno skenirao mrežu, a tko je bio nevina žrtva (mamac). Ovo
može biti eliminirano traženjem ruterskog puta (engl. router path tracing), odbacivanja odgovora (engl.
response-dropping) i nekim drugim aktivnim mehanizmima, ali je ipak efikasna tehnika za sakrivanj IP
adrese. Odvojite svaki host mamac sa zarezimaa možete opcionalno navesti i
ME (što predstavlja vašu IP adresu), kako bi bila pozicionirana baš na
onom mjestu u skeniranju na kojem je želite. Ako postavite ME na 6.
mjesto ili kasnije, neki uobičajeni detektori port skenova (poput alata "scanlogd" firme Solar Designer's)
uopće neće pokazati Vašu IP adresu. Ukoliko ne kkoristite ME opciju,
Nmap će staviti vašu IP adresu na proizvoljno mjesto. Imajte na umu da hostovi koje navodite kao mamce moraju biti upaljeni, jer ćete inače slučajno
napasti host koji skenirate Syn flood napadom. Isto tako poprilično je lako ustanoviti tko vas skenira ako
samo jedan host od navedenih uistinu postoji na mreži. Možete koristiti IP adrese umjesto imena (kako vas
mamci ne bi vidjeli u svojim name server logovima). Mamci se koriste u inicijalnom ping skenu (korištenjem ICMP, SYN, ACK ili bilo kojeg drugog načina)
kao i za trajanja stvarnog skena portova. Mamci se također koriste i kod udaljenog otkrivanja operativnog
sustava (-O). Mamci NE rade s otkrivanjem verzije ili TCP connect() skena. Činjenica je da će korištenje previše mamaca usporiti skeniranje i potencijalno ga učiniti manje
točnim. Isto tako, neki ISP-ovi će filtrirati lažirane pakete, ali većina ih ne zabranjuje. -
-S <IP_Address> (Lažiraj ishodišnu adresu)
U nekim situacijama Nmap neće moći ustanoviti vašu ishodišnu IP adresu (Nmap će vam reći ako dođe do
toga). U tom slučaju koristite opciju -S s IP adresom mrežnog adaptera preko kojeg želite
poslati paket. Još jedna mogućnost korištenja ove opcije je lažirati sken kako bi ciljano računalo mislilo da ga
skenira netko drugi. Zamislite firmu koju konstantno skenira konkurencija!
-e opcija j eobično potrebna za ovu namjenu i -P0 je također
preporučeno. -
-e <interface> (koristi navedenu mrežnu karticu)
Ova opcija kaže Nmap-u koju mrežnu karticu da koristi za slanje i primanje paketa. Nmap bi to trebao
otkriti automatski, a sam će vam reći ako to ne uspije. -
--source-port <portnumber>;
-g <portnumber> (Lažiraj broj ishodišnog porta)
Iznenađujuće česta greška je samo vjerovanje prometu koji dolazi s određenog porta. Jednostavno je shvatiti
odakle to dolazi. Administrator podesi novi novcati vatrozid i najednom je obasut pritužbama korisnika kako su im
aplikacije prestale raditi. Čak štoviše, možda je prestao raditi i DNS, jer UDP DNS odgovori s vanjskih servera više
ne mogu ući u mrežu. FTP je još jedan dobar primjer. Kod aktivnih FTP prijenosa, FTP pokuša uspostaviti vezu nazad
prema klijentu da bi poslao zatraženu datoteku. Postoje sigurna rješenja tih problema, često u obliku proxy-a na aplikacijskom nivou ili modula na vatrozidu
koji parsaju protokol. Nažalost postoje i lakša, manje sigurna rješenja. Vidjevši da DNS odgovori dolaze s porta 53 i
aktivni FTP s porta 20, mnogi su administratori pali u zamku jednostavno dozvoljavajući ulazni promet s tih portova.
Obično pretpostavljaju da napadači neće uočiti i iskoristiti takve rupe u vatrozidu. U nekim slučajevima
administratori smatraju to rješenje kao privremenu zakrpu, dok ne implementiraju bolje rješenje, a onda zaborave na
to. U te zamke ne padaju samo preopterećeni mrežni administratori. Mnogo uređaja je isporučeno s takvim nesigurnim
pravilima. Čak je i Microsoft bio kriv. IPSec filter koji dolazi s Windows 2000 i s WIndows XP OS-om ima implicitno
pravilo koje dozvoljava sav TCP i UDP promet s porta 88 (Kerberos). Još jedan dobro poznati primjer je ZOne Alarm
osobni vatrozid, koji je do verzije 2.1.25 dozvoljavao bilo koje dolazne UDP pakete sa ishodišnog porta 53 (DNS) i 67
(DHCP). Nmap nudi opcije -g i --source-port (iste su) kako bi iskoristili ovakve
slabosti. Jednostavno navedite broj porta i Nmap će ga koristiti kao ishodišni port gdje je to moguće. Nmap mora
koristiti različite portove kako bi neki testovi otkrivanja OS-a radili ispravno,a DNS zahtjevi ignoriraju opciju
--source-port, jer se kod toga Nmap oslanja na sistemske biblioteke. Većina TCP skenova uključujući
i SYN sken podržava ove opcije u potpunosti isto kao i UDP sken. -
--data-length <number> (Dodaj proizvoljne podatke na pakete koje šalješ)
U normalnim situacijama Nmap šalje minimalističke pakete koji se sastoje samo od zaglavlja. Tako da
su Nmap-ovi TCP paketu u načelu veličine 40 bytova, a ICMP paketi 28 bytova. Ova opcija kaže Nmap-u da doda
određenu količinu proizvoljnih bytova u paket koji šalje. Paketi koje koristi otkrivanje OS-a
(-O) nisu zahvaćeni ovom opcijom, dok većina ping skenova i portskenova je. To usporava
skeniranje, ali ga isto tako čini manje sumnjivim. -
--ttl <value> (Podesi polje IP time-to-live)
Podešava polje time-to-live i IPv4 paketima na zadanu vrijednost. -
--randomize-hosts (Proizvoljno poredaj hostove koje skeniraš)
Ova opcija kaže Nmap-u da pomiješa svaku grupu od 8096 hostova prije nego ih počne skenirati. To može
učiniti skeniranje manje očitim za većinu sustava za nadgledanje mreže, pogotovo kad ovu opciju kombinirate
sa sporim vremenima kašnjenja (engl. timing options). Ukoliko želite pomiješati veće grupe, povećajte
PING_GROUP_SZ u nmap.h biblioteci i ponovno kompajlirajte Nmap.
Alternativno rješenje je da kreirate listu ciljanih IP adresa s list skenom (-sL -n -oN
<naziv datoteke>), pomiješate je s perl skriptom i onda dodate tu listu
Nmap-u s opcijom -iL. -
--spoof-mac <mac adresa, prefiks ili naziv proizvođača> (Lažiraj MAC adresu)
Ova opcija zatraži Nmap da koristi navedenu MAC adresu za sve ethernet frame-ove koje pošalje. Ova
opcija podrazumijeva --send-eth opciju kako bi osigurala da Nmap uistinu šalje pakete na
nivou etherneta. MAC adresa može imati nekoliko formata. Ukoliko je string “0”, Nmap će sam
odabrtati proizvoljnu MAC adresu za trajanje sesije. Ukoliko je zadani string sačinjen od parnog broja hex
znamenaka (gdje su parovi opcionalno odvojenih dvotočkom), Nmap će korisiti tu MAC adresu. Ako je upisano
manje od 12 znamenaka, Nmap će ostatak nadopuniti s proizvoljnim vrijednostima. Ako nije navedena 0 niti
hex string, Nmap pregleda datoteku nmap-mac-prefixes tražeći naziv
proivođača koji sadrži navedeni string (case sensitive). Ako se nešto poklopi, Nmap koristi OUI (3 bytni
prefix) proizvođača, a ostatak dopuni proizvoljno. Ispravni --spoof-mac argumenti su npr.
Apple, 0,
01:02:03:04:05:06, deadbeefcafe,
0020F2, and Cisco. -
--badsum (Šalji pakete s lažnim TCP/UDP checksumom)
Ova opcija traži od Nmap-a da koristi neispravne TCP i UDP checksume za pakete koje šalje na ciljano
računalo. Kako skoro svaki IP stack odbacuje takve pakete, svaki odgovor koji dobijete najvjerovatnie
dolazi od vatrozida ili IDS sustava koji nisu provjeravali checksum. Za više detalja o ovoj tehnici,
pogledajte: http://www.phrack.org/phrack/60/p60-0x0c.txt.
|
|