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