Evitarea firewall-urilor și a IDS/IPS-urilor în timp ce scanăm ținta

0

În calitate de pentester / hacker, de multe ori avem de-a face cu dispozitivele de securitate care pot interfera cu accesul la rețea și la host-urile sale, prin intermediul instrumentelor noastre de scanare. Cel puțin, ar trebui să ne așteptăm ca firewall-urile și IDS-urile să încerce să blocheze sau să avertizeze cu privire la activitățile noastre de scanare. Acest lucru nu poate fi un dezastru, inițial, dacă reușim să compromităm rețeaua sau sistemul, însă un IDS poate să ne înregistreze adresa IP, lăsând o urmă către noi, pe care investigatorul criminalistic o va urmări.

În acest tutorial, ne uităm la diferite modalități prin care evităm detectarea prin firewall-uri și IDS atunci când scanăm cu nmap. Rețineți că unele concepte prezentate aici nu sunt unice pentru nmap, dar tehnicile specifice sunt.

I. Suprimarea Ping-ului

Este obișnuit pentru inginerii de rețea și administratorii de securitate să blocheze ICMP la firewall sau la router. Ei fac acest lucru pentru a păstra în afară atacatorii, și a nu fi în măsură să găsească host-uri active în rețeaua lor, folosind un ping omniprezent.



Când trimitem o scanare cu nmap, va trimite mai întâi un ICMP la portul 80 pentru a verifica dacă host-ul există și se află în funcțiune. Dacă nu primește un răspuns, nu risipește resursele care trimit pachete către un host care se presupune că nu este disponibil. În consecință, va raporta că hostul nu funcționează, fără a face nimic mai departe.

Cea mai simplă metodă este de a suprima ping-ul. Putem face acest lucru cu orice scanare nmap folosind comutatorul -P0. Deci, pentru a scana site-ul țintă preferat, blackweb.ro, fără a trimite ICMP implicit la portul 80, am putea scrie;

blackweb > nmap -sT -P0 blackweb.ro

II. ,,Păcălirea” firewall-ului pentru a-l convinge că pachetul face parte dintr-o conexiune stabilită

Odată ce a avut loc un handshake în trei direcții TCP (SYN, SYN-ACK, ACK), fiecare pachet trimis ulterior în comunicare va avea setul de biți ACK. Dacă un pachet apare pe firul din firewall cu setul de parametri ACK, ar fi rezonabil ca firewall-ul să presupună că pachetul face parte dintr-o comunicare stabilită între client și server și, prin urmare, permite să treacă.

Unele firewall-uri mai vechi, fără tabele de state, vor permite ca aceste pachete să intre în rețea. Putem simula această conexiune stabilită utilizând o scanare ACK, precum mai jos:

blackweb > nmap -sA blackweb.ro



III. Fragmentarea

În 1998, a fost publicată o lucrare intitulată “Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection” de Ptacek și Newsham. În această lucrare, autorii au propus mai multe metode de evitare a IDS-urilor, inclusiv fragmentarea. Curând după aceea, Dug Sung de la Universitatea din Michigan, a dezvoltat instrumentul fragrout care a demonstrat că IDS-urile erau susceptibile la atacuri de fragmentare, adică un atac care a fost spart în numeroase fragmente. Piesele sunt apoi reasamblate la destinație și malware-ul de atac este complet. Deoarece IDS se bazează pe semnături – foarte asemănătoare cu software-ul AV – piesele nu se potrivesc cu semnătura pe care IDS-ul o caută. Acest lucru ar permite pieselor să traverseze rețeaua unde ar fi reasamblate la mașina de destinație și să-și facă treaba murdară.

Putem face ceva similar cu nmap folosind comutatorul -f.

blackweb > nmap -sT -f blackweb.ro

Nmap va rupe antetul IP în mai multe bucăți mici pentru a se ascunde IDS-ului. După cum vă puteți imagina, pe măsură ce împărțim pachetul în mai multe bucăți mai mici, această scanare poate dura mult mai mult. Nmap poate de asemenea rupe pachetele în fragmente din ce în ce mai mici utilizând comutatorul -ff.

IV. Momeli

Deși nu este strict o tehnică de evaziune, nmap ne permite să trimitem atașamente la țintă, pentru a încerca să ascundem sursa scanării. Cu alte cuvinte, va trebui să trimitem pachete de la adresa IP (altfel nu vom obține niciun trafic de retur, făcând în zadar întregul scop al scanării), dar putem să falsificăm alte adrese IP în timp ce scanăm astfel încât să apară că scanarea vine de la alte adrese, față de ale noastre. Acest lucru ar putea face mai dificil dispozitivul de securitate să blocheze automat IP-ul nostru și mai dificil pentru o anchetă criminalistică să ne depisteze IP-ul.

Putem folosi caracteristica decoy prin utilizarea comutatorului -D urmat de o listă de adrese IP momeală, delimitate prin virgulă.

blackweb > nmap -sS blackweb.ro -D 75.75.75.76,184.25.56.211,69.58.186.114

V. Utilizarea proxy-urilor

Ca orice atac, putem folosi proxy-uri între noi și sistemul țintă. Prin utilizarea proxy-urilor, adresa IP a proxy-urilor este înregistrată la țintă, ci nu pe cea proprie. În felul acesta, face foarte dificil, chiar și cel mai experimentat investigator criminalistic să urmărească sursa scanării, cu atât mai puțin atacul. Trebuie doar să adăugăm comutatorul –proxies urmat de o listă delimitată cu virgulă a proxy-urilor HTTP sau SOCKS4, cum ar fi cele de mai jos. Formatul trebuie să fie următorul:

<protocol://IP:port>

Așadar, putem face scanarea prin proxy-uri folosind următoarea comandă:

blackweb > nmap -sS –proxies socks4://176.57.216.214:80,http://213.85.92.10:80 blackweb.ro

În această scanare, pachetele vor apărea ca provenind de la adresele IP proxy.



VI. Caracteristici temporizare

Majoritatea IDS-urilor doar ne alertează cu privire la scanări, când acestea au loc. De exemplu, Snort – cel mai utilizat IDS din lume și acum parte a gigantului de rețea, Cisco – setarea implicită avertizează doar la scanări atunci când 15 sau mai multe porturi sunt scanate pe secundă. Dacă putem încetini viteza scanării noastre, aceasta poate trece pe lângă IDS fără a anunța administratorul.

nmap are o caracteristică numită scan_delay. Aceasta ne permite să setăm intervalul minim de timp dintre fiecare examinare pe care nmap o trimite gazdei.

caracteristica scan_delay de la nmap nu cere doar o valoare numerică, dar și unități. Aceste unități sunt:

  • ms          pentru milisecunde

  • s              pentru secunde

  • m            pentru minute

  • h            pentru ore

Deci, dacă am fi vrut ca nmap să întârzie 5 secunde între fiecare examinare am putea scrie:

blackweb > nmap -sS –scan-delay 5s blackweb.ro

 

Pe lângă faptul că dictăm întârzierea dintre scanări cu opțiunea –scan-delay, nmap are șase opțiuni de sincronizare sau de viteză. Acestea pot fi desemnate cu comutatorul -T urmat de valoarea numerică sau de nume. Normal sau -T3 este valoarea implicită. De exemplu, dacă vrem să scanăm cu cea mai lentă opțiune numită “paranoid”, am putea scrie următoarea comandă:

blackweb > nmap -sS -T0 blackweb.ro

Putem folosi cu încredere comanda de sincronizare, cum ar fi paranoid în comanda de mai jos:

blackweb > nmap -sS -T paranoid blackweb.ro

Opțiunile de sincronizare sau viteză sunt listate mai jos. “Insane” va finaliza scanarea FOARTE repede, dar probabil va declanșa toate alarmele, iar “paranoidul” este foarte greu de depistat, dar foarte, foarte lent. Fiți răbdători, deoarece un set de scanare la acest nivel vă poate lua ore, dar puteți fi sigur că nu veți declanșa vreo alarmă.

paranoid (0)     o scanare în serie cu o așteptare de 300 de secunde

sneaky (1)          o scanare în serie cu o așteptare de 15 secunde

polite (2)            o scanare în serie de 0,4 secunde așteptați

normal (3)          o scanare paralelă

aggressive (4)    o scanare paralelă și 1.25 sec / examinare

insane (5)          o scanare paralelă și 0.3 sec/examinare



VII.  Modificarea lungimii datelor

Unele firewall-uri și IDS-uri au semnături ale scanărilor nmap bazate pe lungimea pachetului. Aceste semnături includ lungimea de date prestabilită a pachetelor de scanare nmaps. Aceste pachete sunt, în general, foarte mici (scanarea TCP este de 40 octeți și o scanare ICMP este de numai 28 de octeți). Dacă putem schimba lungimea acestor pachete, putem trece cel puțin această componentă de semnătură și putem trece de IDS în rețea.

Nmap are un comutator pentru a seta lungimea datelor pachetelor de scanare. Prin alegerea unei lungimi de date, alta decât cea implicită, nmap va introduce pachetul astfel încât să nu pară un pachet tipic de scanare și, sperăm, mai mult ca un pachet legitim.

Putem folosi această funcție, cu următoarea comandă:

blackweb > nmap -sS  –data-length 1200blackweb.ro

Rețineți că nu sunt permise încărcări mai mari de 1400 octeți.

VII. Cea mai bună practică

Pentru a vă asigura că scanarea nu este detectată, vă recomandăm să utilizați mai multe dintre aceste tehnici combinate. De exemplu, poate doriți să încetiniți scanarea la T1, fragmentați pachetele (-f), prelungiți pachetul la 1200 de octeți și utilizați proxy-uri, cum ar fi acesta:

blackweb > nmap -sS -T1 -f –data-length 1200 –proxies sock4://176.57.216.214:80,http://213.85.92.10:80 blackweb.ro

Scanări precum acestea, vor fi lente, dar aproape nedetectabile.

Cam atât cu acest tutorial. Nu uitați să reveniți pentru mai multe ghiduri. Dacă aveți nelămuriri, secțiunea comentarii vă stă la dispoziție. Până data viitoare, să ne citim cu bine! 🙂

Choose your Reaction!
Leave a Comment

Your email address will not be published.

Opțiunea copy-paste a fost dezactivată pentru acest site.