NAT slipstreaming, un atac bypass oferă acces la orice serviciu TCP / UDP

Samy kamkar (un celebru cercetător de securitate cunoscut pentru crearea mai multor dispozitive de atac sofisticate, cum ar fi un keylogger pe un încărcător de telefon USB) a introdus o nouă tehnică de atac numită „NAT slipstreaming”.

Atacul permite, la deschiderea unei pagini într-un browser, să se stabilească o conexiune de la serverul atacatorului la orice port UDP sau TCP de pe sistemul utilizatorului situat în spatele traductorului de adrese. Setul de instrumente de atac este publicat pe GitHub.

Metoda se bazează pe păcălirea mecanismului de urmărire a conexiunii ALG (Application Level Gateway) în traducătorii de adrese sau firewall-uri, utilizate pentru a organiza transmiterea NAT a protocoalelor care utilizează mai multe porturi de rețea (unul pentru date și unul pentru control), cum ar fi SIP. H323, IRC DCC și FTP.

Atacul este aplicabil utilizatorilor care se conectează la rețea folosind adrese interne din intervalul intranet (192.168.xx, 10.xxx) și permite trimiterea oricăror date către orice port (fără antete HTTP).

Pentru a efectua un atac, este suficient ca victima să execute codul JavaScript pregătit de atacator, de exemplu, prin deschiderea unei pagini pe site-ul web al atacatorului sau prin vizualizarea unui anunț rău intenționat pe un site web legitim.

Într-o primă etapă, atacatorul obține informații despre adresa internă a utilizatorului, care poate fi determinat de WebRTC sau, dacă WebRTC este dezactivat, de atacuri de forță brută cu măsurarea timpului de răspuns la solicitarea unei imagini ascunse (pentru gazdele existente, încercarea de a solicita o imagine este mai rapidă decât pentru cele inexistente din cauza timeout-ului înainte de a reveni un răspuns TCP RST).

În a doua etapă, codul JavaScript executat în browserul victimei generează o solicitare HTTP POST mare (care nu se încadrează într-un pachet) către serverul atacatorului folosind un număr de port de rețea non-standard pentru a iniția ajustarea parametrilor de fragmentare TCP și a dimensiunii MTU pe stiva TCP a victimei.

Ca răspuns, serverul atacatorului returnează un pachet TCP cu opțiunea MSS (Maximum Segment Size), care determină dimensiunea maximă a pachetului primit. În cazul UDP, manipularea este similară, dar se bazează pe trimiterea unei cereri WebRTC TURN mari pentru a declanșa fragmentarea la nivel IP.

„NAT Slipstreaming exploatează browserul utilizatorului împreună cu mecanismul de urmărire a conexiunii Application Level Gateway (ALG) încorporat în NAT, routere și firewall-uri prin înlănțuirea extragerii IP interne printr-un atac de sincronizare sau WebRTC, descoperirea fragmentării IP și MTU la distanță automatizat, dimensiunea pachetului TCP masaj, utilizarea greșită a autentificării TURN, reglarea fină a limitelor pachetelor și confuzia de protocol din abuzul browserului”, a spus Kamkar într-o analiză.

Ideea principală este care, cunoscând parametrii de fragmentare, poate trimiteți o cerere HTTP mare, a cărei coadă va cădea pe al doilea pachet. În același timp, coada care intră în al doilea pachet este selectată astfel încât să nu conțină anteturi HTTP și să fie tăiată în date care corespund în întregime unui alt protocol pentru care este suportată traversarea NAT.

În a treia etapă, folosind manipularea de mai sus, codul JavaScript generează și trimite o cerere HTTP special selectată (sau TURN pentru UDP) către portul TCP 5060 al serverului atacatorului, care, după fragmentare, va fi împărțit în două pachete: un pachet cu anteturi HTTP și o parte din date și un pachet SIP valid cu IP-ul intern al victimei.

Sistemul de urmărire a conexiunilor în stiva de rețea va considera acest pachet drept începutul unei sesiuni SIP și va permite redirecționarea pachetelor pentru orice port selectat de atacator, presupunând că acest port este utilizat pentru transmiterea datelor.

Atacul poate fi efectuat indiferent de browserul utilizat. Pentru a rezolva problema, dezvoltatorii Mozilla au sugerat blocarea capacității de a trimite cereri HTTP către porturile de rețea 5060 și 5061 asociate cu protocolul SIP.

Dezvoltatorii motoarelor Chromium, Blink și WebKit intenționează, de asemenea, să implementeze o măsură de protecție similară.

Fuente: https://samy.pl


Adăugați ca sursă preferată în Google