Attacker mot SSL VPNs

Attacker mot SSL VPNs

En av de mer intressanta släppen under sommarens -konferens i var den som handlade om att attackera SSL :s.

Och varför är detta intressant? Jo det finns ett antal olika faktorer till att just detta är intressant och jag ska försöka beskriva dem nedan:

Underrättelsetjänster

och andra underrättelsetjänster ser VPN:s som mål för att de används för att utbyta information. Med hjälp av passiv (och aktiv) avtappning så kan informationen ge fördelar, försprång och gynna den egna industrin:

Equation Group’s  tool – a remote exploit to extract  VPN private keys. 

Attackytan

Attackytan för specifikt :s är intressant då det mest troligt är en webbservern inblandad och denna kan innehålla sårbarheter. Webbservern måste hantera TLS, HTTP och underliggande protokoll. Vilket kan jämföras med exempelvis IKE och IPSEC.

En angripare som kan ta sig in i en VPN-enhet kan troligtvis också ta sig vidare in i nätverket eller modifiera kommunikationen (förutom att läsa av den).

Hårdvaran

När du köper ett SSL VPN så köper du troligtvis en låda av en leverantör som du inte vet så mycket om. Hur är det underliggande operativsystemet uppsäkrat? Vet du om den använder den ASLR + DEP? Och om den nu blir hackad, hur genomför du en forensisk undersökning av enheten?

Sårbarheterna

Följande sårbarheter har identifierats av Meh Chang (@mehqq_) och Orange Tsai (@orange_8361) i Fortigate SSL VPN:

  • CVE-2018-13379: Pre-auth arbitrary file reading
  • CVE-2018-13380: Pre-auth XSS
  • CVE-2018-13381: Pre-auth heap overflow
  • CVE-2018-13382: The magic backdoor
  • CVE-2018-13383: Post-auth heap overflow

Även har sårbarheter identifierats i Pulse Secure VPN, se mer här.

Även så har i all tysthet även patchat sin , se mer här. Vad som också är skrämmande just nu är att två av ovan sårbarheter utnyttjas aktivt på internet av angripare vilket CERT-SE gick ut med en varning om.

Åtgärder

Sist men inte minst så tänkte jag ge några rekommendationer vad ni som organisation bör göra om ni har ett SSL VPN som är exponerat mot Internet.

  • Spara ner trafik framför och bakom SSL VPN:et. Så ni kan i efterhand undersöka vad som har hänt.
  • Uppdatera och se till att senaste säkerhetspatchar är installerade och att produkten inte är End-of-Life
  • Se till att loggar skickas från SSL VPN:et. Om möjligt alla typer av loggar såsom access-loggar på webbservern.
  • Begränsa tillgången till system som kan nås via VPN:et. Dvs ge inte full åtkomst till allt bara för att en användare ansluter via VPN.
  • Genomför en oberoende säkerhetsgranskning av uppsättningen
  • Er anslutningspunkt kanske inte bör vara vpn.företagsnamn.se
  • Följ upp anslutningar till och från Erat VPN. Har någon överfört 100 GB via VPN:et utan en koppling till en inloggad användare? Långa TCP-sessioner, beacons osv.
  • Policy över hantering av nya och användare som slutar samt regelbunden uppföljning
  • Försvåra password-spraying attacker genom att använda hårda/mjuka certifikat etc. Dator + användarcertifikat
  • Har ni eller har haft en sårbar version. Se till att byta samtliga lösenord
  • Sök av kontinuerligt med en

Har jag missat något ovan? Fyll gärna på i kommentarsfältet nedan.

Uppdatering: Här finns en NSE-fil för Nmap för att identifiera sårbara Pulse Secure VPNs: https://github.com/r00tpgp/http-pulse_ssl_vpn.nse/blob/master/http-pulse_ssl_vpn.nse

Jonas Lejon

Om Jonas Lejon

En av sveriges främsta experter inom cybersäkerhet. Kontakta mig gärna på telefonnummer 010 1889848 eller [email protected] om Er organisation behöver hjälp med cybersäkerhet. LinkedIn Twitter

One comment

  1. Johan Karlström

    2 faktor inloggning där en kod genererande app/hårdvara nämns inte, men ska väll ses som standard.
    Personligen skulle jag gärna få ett meddelande via sms att jag loggat in.
    Kanske kan ett sido system ha koll på antalet activa vpn:er och jämnföra med de sms som skickats?
    Stor chans, beroende på implementation, att en bugg där man lyckas etablera en vpn utan ett korrekt inloggning förfarande, så kommer sms inte skickas och när sido system upptäcker diffen så kan åtgärder sättas in.
    Bara en tanke…

Skriv en kommentar

Du kan använda följande HTML HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>