Fortigate 2019

ByTijl Deneut

Fortigate 2019

Een kwetsbaarheid met grote gevolgen voor veel bedrijven

Fortinet wordt enorm veel gebruikt als Firewall en VPN server in België.

Begin dit jaar zijn details naar buiten gekomen over een kwetsbaarheid binnen het veel gebruikte OS van Fortinet genaamd FortiOS. De fout is echter geen “Remote Code Execution” of “Authentication Bypass” en werd dus vrij snel geminimaliseerd als “CVE-2018-13379”, gepubliceerd op 6 april 2019 met een update voor FortiOS 5.6 op 25 april (v5.6.8) en voor FortiOS 6.0 pas op 12 juni (v6.0.5).

Officiële details zijn hier te vinden: https://fortiguard.com/psirt/FG-IR-18-384

Details

De categorie is “Information Disclosure” met CVSS scores van 5 tot 7.5, wat heel veel en tegelijk heel weinig zegt:
Onder “Information Disclosure” kan namelijk evengoed de versie van een webserver zitten als de geheimen van eender welk bedrijf. 
Concreet is CVE-2018-13379 een zogenaamde “Path Traversal” om bestanden in te laden op de SSL web interface. Het is dus enkel van toepassing indien de SSL VPN web interface open staat (poort 10443), wat helaas standaard het geval is.

Exploitation

In detail zit de fout in het ophalen van het bestand dat instaat voor de vertalingen van die interface: de browser van de bezoeker maakt daarvoor een aanvraag naar een pagina genaamd “fgt_lang” met als parameter “lang=en”. Wat op de achtergrond wordt vertaald naar “/migadmin/lang/en.json”, maar door de “en” in de browser aan te passen kan elk bestand worden ingeladen:

/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession

Indien men bovenstaande tekst in een willekeurige browser plaatst na de obligate https://<ip>:<port> dan wordt dus het bestand “/dev/cmdb/sslvpn_websession” getoond in de browser.

Het rood zijn private wachtwoorden van bert en veronic, beide root gebruikers. Groen zijn IP adressen en andere private data.

Impact

Het bovenstaande bestand in bij “Exploitation” is niet willekeurig gekozen, dit bestand bevat namelijk alle inlogpogingen van de voorbije weken en/of maanden. En het bevat daarbij:
Bron IP adres, gebruikersnaam, wachtwoord, naam van de group, rechten, …

Dit maakt de impact dus TOTAAL: het is vreemd dat in 2019 een security fabrikant gebruikersnamen en wachtwoorden in clear text (dus zonder enige hashing, encryptie of beveiliging) opslaat. Dit is echter exact wat er gebeurd:

  • Wat nu dus kan gebeuren bij alle fortinet installaties die niet zijn geüpdatet sinds april
    • Uitlezen van alle gebruikers en hun wachtwoorden die toegang hadden tot de VPN
    • Vervolgens toegang verschaffen tot de netwerk omgeving m.b.v. de gratis FortiClient
    • Diezelfde gebruikersnamen en wachtwoorden allicht opnieuw gebruiken om toegang te krijgen tot tal van interne diensten en systemen (Active Directory, RDP, web applicaties …)

Oplossing

Naast het updaten van het Fortinet toestel (zie link bovenaan) is het dus aanbevolen om minstens de wachtwoorden te wijzigen van elke VPN gebruiker én bij vermoeden (of kans) van misbruik ook alle andere gebruikers. 
Two-Factor authenticatie voorkomt overigens elk misbruik van deze exploit.

About the author

Tijl Deneut administrator

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.