NAT slipstreaming, apiet uzbrukums dod piekļuvi jebkuram TCP / UDP pakalpojumam

Semijs Kamkars (slavens drošības pētnieks, kas pazīstams ar vairāku sarežģītu uzbrukuma ierīču, piemēram, USB tālruņa lādētājā iebūvēta taustiņu nospiešanas reģistrētāja, izveidi) ir ieviesis jaunu uzbrukuma tehniku ​​ar nosaukumu "NAT slipstreaming".

Uzbrukums ļauj, atverot tīmekļa lapu pārlūkprogrammā, izveidot savienojumu no uzbrucēja servera ar jebkuru UDP vai TCP portu lietotāja sistēmā, kas atrodas aiz adrešu tulkotāja. Uzbrukuma rīkkopa ir publicēta vietnē GitHub.

Metode balstās uz ALG (lietojumprogrammu līmeņa vārtejas) savienojuma izsekošanas mehānisma maldināšanu adrešu tulkotājos vai ugunsmūros, ko izmanto, lai organizētu NAT pārsūtīšanu protokoliem, kas izmanto vairākus tīkla portus (vienu datiem un vienu vadībai), piemēram, SIP, H323, IRC DCC un FTP.

Uzbrukums attiecas uz lietotājiem, kuri izveido savienojumu ar tīklu, izmantojot iekšējās adreses intraneta diapazonā (192.168.xx, 10.xxx), un ļauj nosūtīt jebkādus datus uz jebkuru portu (bez HTTP galvenēm).

Lai veiktu uzbrukumu, upurim pietiek izpildīt uzbrucēja sagatavoto JavaScript kodu , piemēram, atverot lapu uzbrucēja tīmekļa vietnē vai apskatot ļaunprātīgu reklāmu likumīgā tīmekļa vietnē.

Pirmajā posmā uzbrucējs iegūst informāciju par lietotāja iekšējo adresi, ko var noteikt ar WebRTC vai, ja WebRTC ir atspējots, ar brutāla spēka uzbrukumiem ar izmērītu reakcijas laiku, pieprasot slēptu attēlu (esošiem resursdatoriem mēģinājums pieprasīt attēlu ir ātrāks nekā neesošiem, jo ​​pirms TCP RST atbildes atgriešanas ir nepieciešams gaidīšanas laiks).

Otrajā posmā upura pārlūkprogrammā izpildītais JavaScript kods ģenerē lielu HTTP POST pieprasījumu (kas neietilpst vienā paketē) uzbrucēja serverim, izmantojot nestandarta tīkla porta numuru, lai uzsāktu TCP fragmentācijas parametru un MTU lieluma pielāgošanu upura TCP kaudzē.

Atbildot uz to, uzbrucēja serveris atgriež TCP paketi ar MSS (Maximum Segment Size) opciju, kas nosaka saņemtās paketes maksimālo izmēru. UDP gadījumā manipulācija ir līdzīga, taču tā balstās uz liela WebRTC TURN pieprasījuma nosūtīšanu, lai izraisītu IP līmeņa fragmentāciju.

«NAT Slipstreaming izmanto lietotāja pārlūku kopā ar lietojumprogrammu līmeņa vārtejas (ALG) savienojuma izsekošanas mehānismu, kas iebūvēts NAT, maršrutētājos un ugunsmūros, ķēdējot iekšējo IP izvilkšanu, izmantojot laika uzbrukumu vai WebRTC, fragmentācijas atklāšana automatizētu attālo IP un MTU, TCP pakešu izmēru masēšanu, TURN autentifikācijas nepareizu izmantošanu, precīzu pakešu ierobežojumu kontroli un protokolu sajaukšanu no pārlūka ļaunprātīgas izmantošanas, "analīzē sacīja Kamkars.

Galvenā ideja ir tāda, ka, zinot fragmentācijas parametrus, var nosūtīt lielu HTTP pieprasījumu, kura daļa iekritīs otrajā paketē . Tajā pašā laikā otrās paketes ienākošā daļa tiek atlasīta, lai izslēgtu HTTP galvenes, un tiek saīsināta līdz datiem, kas pilnībā atbilst citam protokolam, kuram tiek atbalstīta NAT šķērsošana.

Trešajā posmā, izmantojot iepriekš minēto manipulāciju, JavaScript kods ģenerē un nosūta uz uzbrucēja servera TCP portu 5060 īpaši atlasītu HTTP pieprasījumu (vai TURN UDP), kas pēc sadrumstalotības tiks sadalīts divās paketēs: a pakete ar HTTP galvenēm un daļu datu un derīga SIP pakete ar cietušā iekšējo IP.

Tīkla steka savienojumu izsekošanas sistēma uzskatīs šo paketi par SIP sesijas sākumu un ļaus pārsūtīt paketes uz jebkuru uzbrucēja izvēlētu portu, pieņemot, ka šis ports tiek izmantots datu pārraidei.

Uzbrukumu var veikt neatkarīgi no izmantotās pārlūkprogrammas . Lai atrisinātu problēmu, Mozilla izstrādātāji ieteica bloķēt iespēju sūtīt HTTP pieprasījumus uz tīkla portiem 5060 un 5061, kas ir saistīti ar SIP protokolu.

Arī Chromium, Blink un WebKit motoru izstrādātāji plāno ieviest līdzīgu aizsardzības pasākumu.

Avots: https://samy.pl


Pievienot kā vēlamo avotu pakalpojumā Google