TunnelCrack pret TunnelVision: ko katrs patiesībā salauž
TunnelCrack un TunnelVision ļaunprātīgi izmanto dažādus maršrutēšanas izņēmumus: pārbaudiet vietējā tīkla izņēmumu, servera maršrutu un DHCP 121 opciju katram klienta būvējumam.
Divi pētījumu nosaukumi tiek lietoti kā sinonīmi jebkuram VPN trafikam, kas iziet no tuneļa, taču to mehānismi nav vienādi. TunnelCrack apraksta divas maršrutēšanas izņēmumu saimes; TunnelVision apraksta maršrutu, ko DHCP piegādā galiekārtai. Neviens no tiem nelauž šifrēšanu, un neviens nepasaka, ko konkrēts klienta būvējums dara šodien. Piecas pārbaudes atdala mehānismus no virsraksta.
Pirmais solis: nosauciet mehānismu, kuru pārbaudāt
2023. gada augusta TunnelCrack atklājums apraksta divas uzbrukumu saimes. Vietējā tīkla gadījumā trafiks, ko klients uzskata par piederīgu vietējam tīklam, saņem vietējās piekļuves izņēmumu un iziet no tuneļa. Servera adreses gadījumā maršruts, kas klientam nepieciešams, lai sasniegtu pašu VPN serveri, atrodas ārpus tuneļa, un pretinieks, kurš kontrolē šo adresi, var izmantot izņēmumu.
TunnelVision ir atsevišķs ziņojums par bezklašu statiskajiem maršrutiem, ko piegādā DHCP. Ļaunprātīgs DHCP serveris var dot galiekārtai maršrutus, kas maina trafika ceļu, tostarp ceļu uz VPN serveri. Ziņojums atzīst agrāku darbu par saistītiem maršrutēšanas efektiem, kas atgādina, ka pamatmehānisms ir vecāks par nosaukumu.
| Case | Exception it abuses |
|---|---|
| TunnelCrack local network | Traffic classified as local bypasses the tunnel |
| TunnelCrack server address | The route to the VPN server sits outside the tunnel |
| TunnelVision | DHCP option 121 installs routes that redirect traffic |
Turiet nosaukumus piesaistītus to mehānismiem. Labojuma piemērošana vienam tāpēc, ka otrs ir ziņās, ir veids, kā pārbaude rada kustību bez pārklājuma.
Otrais solis: aplūkojiet vietējās piekļuves izņēmumu
Lielākā daļa klientu atbrīvo vietējā tīkla trafiku, lai printeri, ekrāna pārraide un failu koplietošana turpinātu darboties, kamēr tunelis ir ieslēgts. Šis izņēmums ir politikas lēmums ar drošības izmaksām: pretinieks tajā pašā tīklā var uzstādīties kā vietējais resursdators, un trafiks, kas viņu sasniedz, nekad nav iegājis tunelī.
Jautājiet, vai izvietotajam profilam izņēmums vispār ir vajadzīgs. Attālināts darbaspēks, kas nekad neizmanto vietējo atklāšanu, to bieži var izslēgt, un atlikušos vietējos pakalpojumus var sasniegt pa dokumentētu ceļu. Kur izņēmums ir nepieciešams, norādiet, kurus mērķus tas aptver, nevis aprakstiet to kā vietējo trafiku.
Pārbaude ir konfigurācijas jautājums, nevis pakešu uztveršana. Izlasiet profila iestatījumu un klienta dokumentāciju tai versijai, kuru izvietojat, jo noklusējums atšķiras starp produktiem un starp viena produkta versijām. Ierakstiet atbildi blakus profilam, lai nākamajam pārbaudītājam tā nebūtu jāizsecina no uzvedības. Izņēmums, ko neviens nav dokumentējis, ir izņēmums, ko neviens nepārbauda.
Trešais solis: aplūkojiet, kā tiek apgūta servera adrese
Klientam ir jāsasniedz VPN serveris pirms jebkura tuneļa pastāvēšanas, tāpēc šis mērķis pēc projekta tiek maršrutēts ārpus tuneļa. Ja adrese tiek apgūta no nosaukuma, atrisināšanas solis ir daļa no uzticēšanās ceļa, un pretinieks, kas var atbildēt uz šo vaicājumu, var novirzīt klientu uz resursdatoru, ko viņš kontrolē.
Adreses piespraušana, verificēta sertifikāta ar pareizo nosaukumu izmantošana un atteikšanās atkrist uz neverificētu serveri visi samazina iedarbību. Neviens no tiem neizslēdz vajadzību sasniegt serveri ārpus tuneļa; tie maina, kas var atbildēt par šo adresi.
resolvectl query vpn.lab.example
ip route get 198.51.100.24
ip rule show
Maršruta meklēšana parāda saskarni, ko klients izmantotu servera adresei, un tas ir izņēmums konkrētā formā. Ja šī meklēšana atgriež tuneļa saskarni, klients vispār nevar izveidot tuneli, tāpēc ārējs maršruts ir gaidāms, un jautājums ir tikai par to, kā tiek izvēlēts tā mērķis.
Ceturtais solis: aplūkojiet DHCP piegādātos maršrutus
Bezklašu statiskie maršruti ļauj DHCP serverim izplatīt maršrutēšanas tabulas ierakstus, un galiekārta tos parasti pieņem, nejautājot. Tīklā, kur pretinieks var atbildēt uz DHCP ātrāk nekā likumīgais serveris, šie ieraksti var novirzīt trafiku, ko lietotājs uzskata par esam tuneļa iekšienē.
Salīdziniet galiekārtas maršrutus ar maršrutiem, ko gaidāt. Noklusējuma maršruts vai plašs prefikss, kas norāda uz vietējo vārteju, kamēr tunelis ir ieslēgts, ir pazīme, ko ir vērts izmeklēt, un tā ir redzama bez jebkāda uzbrukuma trafika.
ip route show table all
ip route get 203.0.113.55
nmcli -g ipv4.ignore-auto-routes con show "Wired connection 1"
Pēdējais iestatījums ir kontrole galiekārtas pusē, ko daudzi klienti un platformas piedāvā kādā formā: ignorēt tīkla piegādātos maršrutus. Automātiskās maršrutu pieņemšanas izslēgšana ir kompromiss, jo tā izslēdz arī likumīgu sadalīto maršrutēšanu no uzņēmuma DHCP servera, tāpēc izlemiet to pēc tīkla klases, nevis globāli.
Piektais solis: atdaliet paziņojumu no pašreizējā būvējuma
Publicēts uzbrukums apraksta uzvedību, kas novērota konkrētās klienta versijās konkrētā laikā. Tas nepierāda, ka klēpjdators jums priekšā ir skarts, un nepierāda, ka tas ir izlabots. Abi apgalvojumi prasa faktisko būvējuma numuru un piegādātāja pašreizējo paziņojumu.
Pierakstiet klienta versiju, platformu, profila iestatījumus, kas pārvalda iepriekš minētos izņēmumus, un datumu, kad pārbaudījāt. Šis ieraksts noveco godīgi, savukārt piezīme, ka VPN tika labots pret TunnelCrack, nenoveco godīgi. Pārlasiet to katru reizi, kad klients tiek atjaunināts, jo profila noklusējums var mainīties versijā, kurai nepieskārāties.
Kad tiešām validējat, izmantojiet apstiprinātu plānu pret savu galiekārtu un nekaitīgu mērķi. Uzbrukuma atkārtošana pret citiem lietotājiem koplietotā tīklā nav tests, un vienaudžu verifikācijas vai lietotnes šifrēšanas izslēgšana, lai atvieglotu novērojumu, noņem aizsardzību, ko mēģinājāt izmērīt.
Visbeidzot, turiet lietotnes līmeņa aizsardzību ainā. Maršrutēšanas izņēmums var atklāt trafiku, ko tunelis būtu nesis, un lietotnes TLS joprojām aizsargā šo trafiku no gala līdz galam. Abi slāņi neizdodas neatkarīgi, tāpēc pievienots kontroles kanāls nav pierādījums, ka katra plūsma gāja paredzēto ceļu.