Der blev opdaget en sårbarhed, der tillader kapring af VPN-forbindelser

Linux vnp hack

For et par dage siden blev den frigivet en angrebsteknik (CVE-2019-14899), som Giver dig mulighed for at erstatte, ændre eller erstatte pakker på TCP-forbindelser, der videresendes gennem VPN-tunneller. Problemet Det påvirker Linux, FreeBSD, OpenBSD, Android, macOS, iOS og andre Unix-lignende systemer.

Metoden tillader pakkesubstitution på niveau med TCP-forbindelser der passerer inde i den krypterede tunnel, men det tillader ikke forbindelse i forbindelser ved hjælp af yderligere krypteringslag (for eksempel TLS, HTTPS, SSH). Krypteringsalgoritmerne, der bruges i VPN'er, betyder ikke noget, da de falske pakker kommer fra den eksterne grænseflade, men kernen behandler dem som pakker fra VPN-grænsefladen.

Det mest sandsynlige mål for angrebet er at forstyrre ukrypterede HTTP-forbindelser, men brugen af ​​angrebet til at manipulere DNS-svar er ikke udelukket.

Vellykket udskiftning af pakke er bevist for oprettede tunneler med OpenVPN, WireGuard og IKEv2 / IPSec.Tor. Det påvirkes ikke af problemet, da det bruger SOCKS til at videresende trafik og slutter sig til loopback-grænsefladen.

For IPv4 er et angreb muligt, hvis rp_filter sættes i løs tilstand. Rp_filter-mekanismen bruges til yderligere at verificere pakkeveje for at undgå spoofing af kildeadressen.

  • Når den er indstillet til 0, bekræftes kildeadressen ikke, og eventuelle pakker kan omdirigeres mellem netværksgrænseflader uden begrænsninger.
  • Mode 1 "Streng" inkluderer kontrol af, at hver pakke, der ankommer udefra, overholder routingtabellen, og hvis netværksgrænsefladen, gennem hvilken pakken blev modtaget, ikke er forbundet til den optimale reaktionsleveringsvej, kasseres pakken.
  • Mode 2 "Loose" udjævner testen for at muliggøre drift, når du bruger load balancers eller asymmetrisk routing, hvor svarstien muligvis ikke går gennem netværksgrænsefladen, som den indgående pakke ankom over.

I "Loose" -tilstand kontrolleres det, at den indgående pakke overholder routingtabellen, men det betragtes som gyldigt, hvis kilde-adressen kan tilgås via en hvilken som helst tilgængelig netværksgrænseflade.

For at udføre et angreb:

Første gatewayen, gennem hvilken brugeren kommer ind, skal styres til netværket (for eksempel gennem MITM-organisationen, når offeret opretter forbindelse til et trådløst adgangspunkt kontrolleret af angriberen eller via en hacket router).

Ved at kontrollere døren link, gennem hvilket brugeren er forbundet til netværket, angriberen kan sende dummy-pakker De opfattes i sammenhæng med VPN-netværksgrænsefladen, men svarene sendes gennem tunnelen.

Når du genererer en dummy pakke stream, hvor IP-adressen på VPN-grænsefladen udskiftes, der forsøges at påvirke den forbindelse, som klienten oprettere, men indflydelsen af ​​disse pakker kan kun observeres ved passiv analyse af den krypterede trafikstrøm, der er forbundet med driften af ​​tunnelen.

For at udføre et angreb, skal du finde ud af IP-adressen på det tunnelnetværksinterface, der er tildelt af VPN-serveren og også bestemme, at forbindelsen til en bestemt vært i øjeblikket er aktiv gennem tunnelen.

For at bestemme IP af det virtuelle netværk VPN-interface pakker sendes til SYN-ACK-pakkerne til ofrets system, rækkefølge rækkefølge hele spektret af virtuelle adresser.

Tilsvarende bestemmes tilstedeværelsen af ​​en forbindelse til et specifikt sted og portnummeret på klientsiden: bestilling af portnumrene til brugeren sendes en SYN-pakke som kildeadressen, hvor webstedets IP erstat, og destinationsadressen er virtuel VPN-IP.

Serverport kan forudsiges (80 for HTTP), og portnummeret på klientsiden kan beregnes ved hjælp af brutal kraft og analyserer for forskellige numre ændringen i intensiteten af ​​ACK-svarene i kombination med fraværet af en pakke med RST-flag.

På dette tidspunkt kender angriberen de fire elementer i forbindelsen (kilde-IP-adresse / port og destinations-IP-adresse / -port), men for at generere en dummy-pakke, som offersystemet vil acceptere, angriberen skal bestemme rækkefølgen og genkendelsesnumrene (seq og ack) TCP-forbindelser.

Opløsning.

Endelig til beskyttelse ved brug af tunneler med IPv4-adresser, det er nok at etablere rp_filter i tilstanden "Streng"

sysctl net.ipv4.conf.all.rp_filter = 1

På VPN-siden kan metoden til bestemmelse af sekvensnummeret blokeres ved at tilføje ekstra polstring til de krypterede pakker, hvilket gør størrelsen på alle pakkerne ens.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Billede af Fernando Tlatilolpa sagde han

    Fremragende sikkerhedsbidrag, især i disse tider, hvor sikkerhedsangreb er steget. Tak og hilsen.