NAT slipstreaming, et bypass-angrep gir tilgang til alle TCP / UDP-tjenester

Samy Kamkar (en berømt sikkerhetsforsker kjent for å ha laget flere sofistikerte angrepsenheter, som for eksempel en keylogger i en USB-telefonlader) har introdusert en ny angrepsteknikk kalt «NAT slipstreaming».

Angrepet tillater, når en nettside åpnes i en nettleser, etablering av en forbindelse fra angriperens server til en hvilken som helst UDP- eller TCP-port på brukerens system som ligger bak adresseoversetteren. Verktøysettet for angrepet er publisert på GitHub.

Metoden er avhengig av å lure ALG (Application Level Gateway) tilkoblingssporingsmekanismen i adresseoversettere eller brannmurer, som brukes til å organisere NAT-videresending av protokoller som bruker flere nettverksporter (én for data og én for kontroll), for eksempel SIP, H323, IRC DCC og FTP.

Angrepet gjelder brukere som kobler seg til nettverket ved hjelp av interne adresser i intranettområdet (192.168.xx, 10.xxx) og tillater at alle data sendes til en hvilken som helst port (uten HTTP-overskrifter).

For å utføre et angrep er det nok at offeret kjører JavaScript-koden som angriperen har utarbeidet , for eksempel ved å åpne en side på angriperens nettsted eller se en ondsinnet annonse på et legitimt nettsted.

I det første stadiet innhenter angriperen informasjon om brukerens interne adresse, som kan bestemmes av WebRTC eller, hvis WebRTC er deaktivert, av brute-force-angrep med målt responstid når man ber om et skjult bilde (for eksisterende verter er et forsøk på å be om et bilde raskere enn for ikke-eksisterende verter på grunn av ventetid før et TCP RST-svar returneres).

I det andre trinnet genererer JavaScript-koden som kjøres i offerets nettleser en stor HTTP POST-forespørsel (som ikke får plass i én pakke) til angriperens server ved hjelp av et ikke-standard nettverksportnummer for å starte justeringen av TCP-fragmenteringsparametere og MTU-størrelse i offerets TCP-stack.

Som svar returnerer angriperens server en TCP-pakke med MSS- alternativet (Maximum Segment Size), som bestemmer den maksimale størrelsen på den mottatte pakken. Når det gjelder UDP, er manipulasjonen lik, men den er avhengig av å sende en stor WebRTC TURN-forespørsel for å utløse fragmentering på IP-nivå.

«NAT Slipstreaming utnytter brukerens nettleser i forbindelse med Application Level Gateway (ALG) tilkoblingssporingsmekanisme innebygd i NAT, rutere og brannmurer ved å kjede intern IP-ekstraksjon gjennom et tidsangrep eller WebRTC, fragmentering av automatisert ekstern IP og MTU, TCP-pakkestørrelsesmassering, misbruk av TURN-autentisering, presis kontroll av pakkegrenser og protokollforvirring fra nettlesermisbruk, "sa Kamkar i en analyse.

Hovedideen er at når man kjenner fragmenteringsparametrene, kan man sende en stor HTTP-forespørsel, hvis hale faller inn i den andre pakken . Samtidig velges den innkommende halen av den andre pakken for å ekskludere HTTP-overskrifter og avkortes til data som tilsvarer fullstendig en annen protokoll som NAT-traversering støttes for.

I det tredje trinnet, ved hjelp av manipulasjonen ovenfor, genererer og sender JavaScript-koden en spesielt valgt HTTP-forespørsel (eller TURN for UDP) til TCP-port 5060 på angriperens server, som etter fragmentering blir delt i to pakker: a pakke med HTTP-overskrifter og en del av dataene og en gyldig SIP-pakke med den interne IP-en til offeret.

Systemet for sporing av forbindelser i nettverksstakken vil anse denne pakken som starten på en SIP-økt og vil tillate pakkevideresending for enhver port valgt av angriperen, forutsatt at denne porten brukes til dataoverføring.

Angrepet kan utføres uavhengig av hvilken nettleser som brukes . For å løse problemet foreslo Mozilla-utviklere å blokkere muligheten til å sende HTTP-forespørsler til nettverksportene 5060 og 5061, som er knyttet til SIP-protokollen.

Utviklerne av Chromium, Blink og WebKit-motorene planlegger også å implementere et lignende beskyttelsestiltak.

Kilde: https://samy.pl


Legg til som foretrukket kilde i Google