
Pacalirea Firewall/IDSurilor si ascunderea identitatiiMulti pionieri ai internetului au prevazut o retea globala deschisa
cu un spatiu universal de adrese IP permitand conexiuni virtuale intre
oricare doua noduri. Acest lucru permite hosturilor sa actioneze ca
parteneri in comunicatie, sa serveasca si sa obtina informatii unul de la
celalalt. Oamenii pot accesa sistemele de acasa, sa schimbe temperatura
in casa sau sa deschida usa pentru oaspetii grabiti. Viziunea
conectivitatii universale a fost inabusita de micsorarea spatiului de
adrese si de problemele de securitate. La inceputul anilor 90,
organizatiile au inceput implementarea firewallurilor cu scopul precis de
reducere a conectivitatii. Retele uriase au fost separate de Internetul
nefiltrat prin aplicatii proxy, traduceri de adrese de retea (NAT) si
filtre de pachete. Fluxul nerestrictionat de informatii a facut loc
canalelor de comunicatie aprobate si supuse unor anumite reguli, precum
si controlului datelor ce trece prin ele. Obstacolele din retea cum ar fi firewallurile pot face din maparea
retelei o operatie extrem de dificila. Nu va deveni mai usor din moment
ce constrangerile aplicate retelei reprezinta adesea un scop al
implementarii noilor echipamente in retea. Nu e mai putin adevarat ca
Nmap ofera multe optiuni pentru intelegerea acestor retele complexe si sa
verifice daca filtrele functioneaza asa cum trebuie. Chiar suporta
mecanisme de depasire a sistemelor de aparare prost implementate.
Punetiva in pielea unui atacator si aplicati tehnici din aceasta sectiune
in reteaua dumneavoastra. Lansati un atac sarit FTP, o scanare Idle, o
fragmentare a atacului sau incercati realizarea unui tunel printr-un
proxy de-al dumneavoastra. In plus fata restrictiile retelelor, companiile au inceput sa
monitorizeze traficul cu sisteme de detectie a intruziunilor (IDS). Toate
IDSurile cunoscute sunt livrate cu reguli care sa detecteze scanarile
Nmap deoarece acestea preced de obicei un atac. Multe dintre acestea sau
transformat in sisteme de
prevenirea intruziunilor (IPS) care blocheaza in mod
activ traficul presupus malitios. Din pacate pentru administratorii de
retea si vanzatorii IDSurilor, detectarea in mod corect a relelor
intentii prin analizarea pachetelor este o problema dificila. Atacatorii
cu rabdare, indemanare si ajutor din partea anumitor optiuni Nmap pot in
mod normal sa treaca de IDS nedetectati. Intre timp, administratorii au
de a face cu o multime de alerte false cand trafic inocent este gresit
diagnosticat si se emite o atentionare sau este chiar blocat. Cateodata oamenii sugereaza ca Nmap nu ar trebui sa ofere functii
de pacalire a regulilor firewallurilor sau de trecerea nedetectata de
IDS. Argumeenteaza prin faptul ca pot fi folosite de atacatori. Problema
in acest rationament este ca atacatorii tot vor gasi instrumente sau
patchuri pentru Nmap pentru a realiza acest lucru. Intre timp,
administratorii pot descoperii ca munca lor este mult mai dificila.
Instalarea numai a serverelor FTP moderne, cu patchurile aplicate la zi
este o metoda mult mai buna de protectie decat prevenirea distribuirii
instrumentelor ce implementeaza atacurile sarite FTP. Nu exista nici o optiune magica in Nmap pentru detectarea si
pacalirea firewallurilor si a sistemelor IDS. Acest lucru ia indemanare
si experienta. O prezentare detaliata este dincolo de scopul acestui ghid
de referinta, care listeaza doar optiunile relevante si descrie ce fac
ele. -
-f(fragmenteaza pachetele);
--mtu(foloseste MTU specificat – Unitatea Maxima de
Transmitere) Optiunea
-fface ca scanarea ceruta (incluzand scanarea
ping) sa foloseasa fragmente mici de pachete IP. Ideea este
impartirea headerului TCP in mai multe pachete pentru a ingreuna
misiunea filtrelor de pachete, sistemelor de detectare a
intruziunilor si a altor elemente de detectare a activitatii.
Atentie cu aceasta optiune! Unele programe au probleme in
manevrarea acestor pachete mici. De exemplu Sniffit esua dupa
primirea primului fragment. Specificati aceasta optiune o data si
Nmap va imparti pachetul in fragmente de opt bytes sau mai putin
dupa headerul IP. Astfel, un header TCP de 20 bytes va fi impartit
in 3 pachete. Doua de opt bytes si unul cu ultimii patru. Desigur,
fiecare fragment are propriul header TCP. Specificati
-finca o data pentru folosirea a 16 bytes pe
fragment (reducand numarul de fragmente). Sau puteti specifica
propriile dimensiuni cu optiunea
--mtu. Nu specificati si
-fdaca folositi
--mtu. Dimensiunea trebuie sa fie un multiplu de
8. Pachetele fragmentate nu vor trece de filtrele de pachete si
firewallurile care interogheaza toate fragmentele IP, cum ar fi
optiunea CONFIG_IP_ALWAYS_DEFRAG din kernelul Linuxului, unele
retele nu-si pot permite pierderea de performanta cauzata de aceste
configurari si le dezactiveaza. Altele nu pot activa configurarile
de acest gen deoarece fragmentele pot intra pe rute diferite in
retea. Unele sisteme defragmenteaza pachetele de iesire in kernel.
Linux cu modulul de urmarire a conexiunii din iptables este un
exemplu. Realizati o scanare si rulati in acelasi timp un sniffer
de genul Ethereal pentru a va asigura ca pachetele sunt
fragmentate. Daca sistemul de operare va creaza probleme, incercati
optiunea
--send-ethde sarire a nivelului IP si de trimitere
de cadre ethernet brute. -
-D <momeala1 [,momeala2][,ME
(EU)],...>(Scanare acoperita de momeli) Face ca o scanare acoperita de momeli sa fie executata, ceea
ce face ca tinta sa creada ca momelile specificate ca argument
scaneaza si ele reteaua. Astfel IDS poate raporta 5-10 scanari de
porturi de la adrese IP unice, dar nu va stii care adresa scaneaza
cu adevarat si care sunt momeli inocente. Cu toate ca aceasta
tehnica poate fi contrata prin urmarirea caii prin routere,
ignorarea raspunsului si alte mecanisme active, ea reprezinta o
tehnica eficienta de ascundere a adresei IP. Separati fiecare momeala prin virgule si folositi optional
ME(adica propria adresa IP) ca
una dintre momeli pentru a reprezenta adevarata pozitie a adresei
IP reale. Daca puneti
MEin a sasea pozitie sau mai
tarziu, unele detectoare de scanari de porturi (cum ar fi Solar
Design) pot sa nici nu afiseze adresa IP reala. Daca nu folositi
ME, nmap il va pune intr-o
pozitie aleatoare. Retineti faptul ca tintele pe care le folositi ca momeli
trebuie sa fie active sau altfel riscati sa inundati cu pachete SYN
tinta. In aceeasi ordine de idei, este usor de determina cine face
scanarea daca o singura adresa IP este activa. E de preferat sa
utilizati adrese IP in loc de nume (astfel incat numele hostului
dumneavoastra sa nu apara in logurile DNSului tinta). Momelile sunt folosite atat in pingul initial (folosind ICMP,
SYN, ACK sau orice altceva) si in timpul scanarii efective de
porturi. Momelile sunt de asemenea folosite la detectarea
sistemului de operare (
-O). Momelile nu functioneaza cu detectia
versiunii sau scanarea TCP connect(). Nu folositi prea multe momeli deoarece pot incetini scanarea
si o pot face mai putin corecta. De asemena, unii ISP vor filtra
pachetele false, dar multi nu restrictioneaza pachetele IP de
loc. -
-S <Adresa_IP>(Seteaza adresa IP sursa) In anumite circumstante, Nmap se poate afla in
imposibilitatea determinarii adresei sursa (Nmap va anunta daca
acest lucru se intampla). In aceasta situatie, folositi
-Scu adresa IP a interfetei pe care doriti sa
trimiteti pachetele. Alta posibila utilizare a acestei optiuni este sa faceti
tinta sa creada ca este scanata de
altcineva. Imaginativa o companie permananent
scanata de un competitor! Optiunea
-eva fi in general necesara pentru astfel de
utilizare si
-P0este de asemenea recomanda. -
-e <interfata>(Foloseste interfata
specificata) Spune Nmapului ce interfata sa foloseasca pentru trimiterea
si primirea pachetelor. Nmap ar trebui sa poata determina automat
acest lucru, dar va va anunta daca nu poate. -
--source-port <numarul_portului>;
-g <numarul_portului>(Seteaza portul
sursa) O greseala surprinzator de des intalnita o reprezinta
configurarea relatiilor de incredere in functie de numaul portului
sursa. Este usor de inteles cum stau lucrurile. Un administrator
instaleaza un nou firewall si este apoi ingropat in plangeri din
partea utilizatorilor nemultumiti ale caror aplicatii nu mai
functioneaza. In particular, DNSul poate fi blocat deoarece
raspunsurile UDP DNS de la serverele externe nu mai pot intra in
retea. FTP este un alt exemplu. In transferurile FTP active,
serverul incearca sa stabileasca o conexiune inapoi la client
pentru transferarea fisierului solicitat. Solutii securizate la aceste probleme exista, de obicei sub
forma de proxiuri la nivelul aplicatie sau module firewall care
analizeaza protocoalele. Din pacate exista si solutii mai simple si
mai nesigure. Notand faptul ca raspunsurile DNS vin de la portul 53
si cele de la conexiunile FTP de la portul 20, multi administratori
au cazut in capcana permiterii neconditionate a traficului de la
aceste porturi. Adesea ei presupun ca nici un atacator nu va
observa si exploata astfel de gauri in firewall. In alte cazuri,
administratorii considera aceasta rezolvare ca una pe termen scurt
pana cand vor implementa o solutie mai sigura. Apoi ei uita sa mai
faca upgradeul de securitate. Administratorii retelelor supraincarcate nu sunt singurii
care cad in aceasta capcana. Numeroase produse au fost livrate cu
aceste reguli nesigure. Chiar si Microsoft are partea ei de vina.
Filtrele IPsec livrate cu Windows 2000 si Windows XP contin o
regula implicita care permite traficul oricarui pachet UDP cu
portul sursa 53 (DNS) sau 67 (DHCP). Nmap ofera optiunile
-gsi
--source-port(care sunt echivalente) pentru
exploatarea acestei slabiciuni. Specificati un numar ca argument si
Nmap va trimite pachete de la acel port oricand acest lucru este
posibil. Nmap trebuie sa foloseasca porturi diferite pentru anumite
teste de detectare a sistemului de operare si cererile DNS ignora
optiunea
--source-portdeoarece Nmap se bazeaza pe
librariile sistemului pentru a le manevra. Multe scanari TCP,
incluzand-o pe cea SYN, suporta aceasta optiune, la fel ca si
scanarea UDP. -
--data-length <numar>(Adauga un numar aleator
de date la pachetul trimis) In mod normal Nmap trimite pachete minimaliste continand doar
headerul. Astfel pachetele TCP au in general 40 bytes si cererile
de raspuns ICMP doar 28. Aceasta optiune adauga un numarul dat ca
argument de bytes, generati aleator, la majoritatea pachetelor
trimise. Pachetele pentru detectia sistemului de operare (
-O) nu sunt afectate, dar majoritatea pingurilor
si scanarilor de porturi sunt. Acest lucru incetineste viteza de
scanare, dar pachetele pot fi mai putin suspicioase. -
--ttl <valoare>(Seteaza campul IP time-to-live
– timp de viata) Seteaza campul IP time-to-live – timp de viata – la valoarea
specificata. -
--randomize-hosts(Scaneaza hosturile in ordine
aleatoare) Spune Nmapului sa aranjeze aleator grupuri de 8096 hosturi
inainte de scanare. Aceasta optiune poate face scanarea mai putin
vizibila pentru anumite sisteme de monitorizare a retelei, in
special cand e combina cu un specificator mic de timp. Daca vreti
ca aranjarea aleatoare sa se realizeze pentru grupuri mai mari,
cresteti valoarea PING_GROUP_SZ din
nmap.hsi recompilati. O
solutie alternativa o reprezinta generarea listei de IPuri ce
urmeaza a fi scanata cu o scanre de tip lista (
-sL -n -oN
<numefisier>), si sa realizati
aranjarea aleatoare a lor cu un script Perl, apoi sa furnizati
intreaga lista Nmapului cu optiunea
-iL. -
--spoof-mac <adresa mac, prefix, numele vanzatorului
>(Falsifica adresa MAC) Cere Nmapului sa foloseasca adresa MAC furnizata pentru toate
cadrele ethernet pe care le trimite. Aceata optiune implica
--send-ethpentru a se asigura ca Nmap trimite
pachetele la nivelul retea. MACul specificat poate avea cateva
formate. Daca spcificati sirul
“0”, Nmap alege un MAC complet aleator pentru sesiunea
respectiva. Daca sirul furnizat este un numar par de digiti hexa
(cu perechile separate prin caracterul “:”), Nmap va folosi
respectuva adresa MAC. Daca mai putin de 12 digiti sunt furnizati,
Nmap umple 6 bytes cu valori aleatoare. Daca argumentul nu este
nici 0, nici sir hexa, Nmap cauta in
nmap-mac-prefixespentru a gasi
un producator care sa contina sirul dat (cautare insenzitiva). Daca
o asemanare este gasita, Nmap foloseste identificatorul unic al
vanzatorului (3 bytes) si completeaza cu 3 bytes alesi aleator.
Argumentele valide ale optiunii
--spoof-macsunt
Apple,
0,
01:02:03:04:05:06,
deadbeefcafe,
0020F2, si
Cisco.
|
|