For English, see below.
Beschrijving
De Nederlandse Militaire Inlichtingen en Veiligheidsdienst (MIVD) heeft een bericht uitgebracht waarin het misbruik van een FortiOS-kwetsbaarheid uit 2022 (CVE-2022-42475) beschrijft. In het geval van de door MIVD waargenomen aanval, werd de kwetsbaarheid uitgebuit om een Remote Access Trojan (RAT) te installeren op een kwetsbaar Fortigate-device.
Naar aanleiding van de berichtgeving heeft Pinewood diverse vragen ontvangen. Een aantal zaken is hierbij belangrijk te benoemen:
- De misbruikte kwetsbaarheid was bekend en is in November 2022 door Fortinet verholpen middels updates. Op dat moment gaf Fortinet al aan dat er actief misbruik werd gemaakt van de kwetsbaarheid.
- De aanval die de MIVD beschrijft vond plaats in 2023, dus na het bekend worden van de kwetsbaarheid en het beschikbaar komen van updates. De MIVD geeft tevens aan dat het vermoedelijk om een gerichte aanval gaat waarbij de betreffende malware naar alle waarschijnlijkheid alleen is geïnstalleerd bij een selecte groep aan slachtoffers.
- Pinewood heeft ten tijde van het bekend worden van de kwetsbaarheid een security bulletin uitgebracht met het advies de door Fortinet uitgebrachte updates te installeren.
- Voor klanten met een Managed Security Services contract heeft Pinewood destijds direct actie ondernomen om de kwetsbaarheid weg te nemen.
- Het Pinewood SOC heeft destijds detectieregels geïmplementeerd teneinde misbruik van de kwetsbaarheid te kunnen detecteren.
Indien Fortigate devices ten tijde van het bekend worden van de kwetsbaarheid voorzien zijn van de updates, is er geen aanleiding te denken dat deze via de beschreven campagne zijn gecompromitteerd.
Kwetsbare versies
De kwetsbaarheid is verholpen met updates voor FortiOS 7.2, 7.0, 6.4 en 6.2 series. Deze zijn uitgebracht tussen 1-22 november 2022. Onderstaande versies van FortiOS bevatten de kwetsbaarheid:
- FortiOS 7.2.0 – 7.2.2
- FortiOS 7.0.0 – 7.0.8
- FortiOS 6.4.0 – 6.4.10
- FortiOS 6.2.0 – 6.2.11
- FortiOS-6K7K 7.0.0 – 7.0.7
- FortiOS-6K7K 6.4.0 – 6.4.9
- FortiOS-6K7K 6.2.0 – 6.2.11
- FortiOS-6K7K 6.0.0 – 6.0.14
Oplossingen en tijdelijke mitigaties
Installeer de laatste versie van FortiOS om de kwetsbaarheid te verhelpen.
Detectie van mogelijk misbruik
De incidentbeschrijving die de MIVD heeft uitgebracht bevat diverse controles om te achterhalen of een Fortigate is gecompromitteerd tijdens de betreffende campagne. Een uitgebreide beschrijving hiervan is terug te vinden in het MIVD-bulletin. Samengevat komt het erop neer dat een aantal commando’s via de Fortigate CLI moeten worden uitgevoerd:
- Controleer of de bestanden /bin/smartctl of /data/bin/smartctl bestaan door het uitvoeren van onderstaande commando’s:fnsysctl ls -la /bin
fnsysctl ls -la /data/bin
Indien de betreffende bestanden bestaan en de timestamps hierop aangeven dat deze bestanden een stuk nieuwer zijn dan andere bestanden in dezelfde directories, bestaat het vermoeden dat deze zijn aangepast. Noot: het MIVD-rapport beschrijft ook dat als smartctl geen symlink is, dit een indicatie vormt dat het bestand is aangepast. Dit lijkt echter niet op te gaan voor recente Fortigate devices.
- Controleer welke TCP-verbindingen er vanuit de Fortigate bestaan door het uitvoeren van het onderstaande commando:diagnose sys tcpsock
Indien er uitgaande verbindingen te zien zijn is het zaak te onderzoeken richting welke IP-adressen dit gebeurt (en of verbindingen met deze IP-adressen verwacht zijn). Zeker indien de verbindingen zijn opgezet vanuit het proces httpsd bestaat het vermoeden dat het hier om malafide verbindingen gaat.
- Controleer op de aanwezigheid van httpsd-processen. Het is bekend dat de malware deze procesnaam gebruikt om haar aanwezigheid te verbergen. Voer hiertoe de volgende commando’s uit:Voor het opvragen van alle process ID’s (PID’s) van processen genaamd httpsd:
diagnose sys process pidof httpsd
Voor het tonen van procesinformatie van verdachte PID‘s:
diagnose sys process dump <PID>
Indien de Gid van een dergelijk proces 90 is of als er processen te zien met deleted verwijzingen naar /data2/httpsd of /data2/.bd.key/preload.so, is het systeem volgens de MIVD zeker besmet met de gevonden malware. Tip: voer bovenstaand commando uit met achtereenvolgens de toevoegingen | grep -i Gid en | grep -i data om een beter overzicht te krijgen.
- Controleer op verwijzingen naar /lib/preload.so in PID 1 door het uitvoeren van onderstaand commando:diagnose sys process dump 1
Indien in de uitvoer van dit commando deleted verwijzingen terug te vinden zijn naar /lib/preload.so vormt dit een sterke indicatie van de aanwezigheid van de malware.
Daarnaast heeft Fortinet ten tijde van het bekend worden van de kwetsbaarheid ook een aantal checks beschreven die kunnen worden uitgevoerd om te controleren of een device mogelijk gecompromitteerd is:
- Controleer of er applicatie crashes zijn geregistreerd van de sslvpnd daemon rond de tijd dat het systeem kwetsbaar was. Doe dit door het uitvoeren van onderstaand commando:diagnose debug crashlog read | grep -i sslvpn
- Controleer op de aanwezigheid van onderstaande bestanden:/data/lib/libips.bak
/data/lib/libgif.so
/data/lib/libiptcp.so
/data/lib/libipudp.so
/data/lib/libjepg.so
/var/.sslvpnconfigbk
/data/etc/wxd.conf
/flash
- Controleer op de aanwezigheid van verdachte uitgaande verbindingen. Deze check was ook al beschreven in de lijst met checks vanuit het MIVD-rapport.
Meer informatie
Managed Security Services (MSS) klanten
Als u een Pinewood Managed Security Services contract heeft zal Pinewood aanvullende controles uitvoeren op Fortigate devices.
Vragen
Voor vragen over deze security bulletin kunt u contact opnemen met de Pinewood Servicedesk. De servicedesk is bereikbaar via +31 15 251 36 33 en via support@pinewood.nl.
===== ENGLISH =====
Description
The Dutch Ministry of Defence (MOD) released a report in which they describe the exploitation of a vulnerability in FortiOS from 2022 (CVE-2022-42475). In the case of the incident that was found by the MOD, this vulnerability was exploited to install a Remote Access Trojan (RAT) on a vulnerable Fortigate device.
Pinewood received several questions from customers as a result of this report. The following facts are important to take into consideration:
- The vulnerability that was exploited was already known and was fixed via FortiOS updates released by Fortinet in November 2022.
- The attack described by the MOD took place in 2023, so after details about the vulnerability emerged and after updates were released. The MOD also reports that the attack seems to be targeted whereby the malware was probably only installed on the devices of a select group of victims.
- At the time of the update, Pinewood released a security bulletin urging all Fortinet users to install the updates released by Fortinet.
- At the time of the update, Pinewood installed updates on Fortigate devices of customers with a Managed Security Service contract.
- The Pinewood SOC implemented additional detection rules at the time of the update to be able to detect exploitation of the vulnerability.
If Fortigate devices were patched at the time that the updates were released, there is no reason to believe that these devices were compromised during the campaign.
Vulnerable versions
The vulnerability was patched with new versions of the 7.2, 7.0, 6.4 and 6.2 series. These were released between 1 and 22 November 2022. The following versions of FortiOS are vulnerable:
- FortiOS 7.2.0 – 7.2.2
- FortiOS 7.0.0 – 7.0.8
- FortiOS 6.4.0 – 6.4.10
- FortiOS 6.2.0 – 6.2.11
- FortiOS-6K7K 7.0.0 – 7.0.7
- FortiOS-6K7K 6.4.0 – 6.4.9
- FortiOS-6K7K 6.2.0 – 6.2.11
- FortiOS-6K7K 6.0.0 – 6.0.14
Solutions and workarounds
Install the latest version of FortiOS to fix the vulnerability.
Detection of possible misuse
The MOD report describes several ways to see if a Fortigate device was also compromised by the same campaign. An extensive write up of the steps can be found in the MOD report. Basically, a number of commands must be executed via the Fortigate CLI:
- Check if the files /bin/smartctl or /data/bin/smartctl exist on the device by executing the following commands:fnsysctl ls -la /bin
fnsysctl ls -la /data/bin
If the files do exist and the timestamp on the files indicate that these are newer than the majority of other files, it is likely that the binary was tampered with. Note: the MOD report also states that smartctl not being a symlink is an indication that the file was tampered with. However, this does not seem to be an indication on recent Fortigate devices.
- Check which TCP connections are made from the Fortigate to external IP’s using the following command:diagnose sys tcpsock
If outgoing connections are found, it is important to check which IP addresses are involved (and if connections towards these IP addresses are expected). Especially if connections are made from the process httpsd, these connections are considered suspicious.
- Check for the existence of processes named httpsd. It is known that the malware uses this process name to hide its existence. To do so, execute the following commands:To request the process IDs (PIDs) of all processes named httpsd:
diagnose sys process pidof httpsd
To display process information for all suspicious PIDs:
diagnose sys process dump <PID>
If the Gid of a suspicious process is 90 or if processes are found using deleted entries towards /data2/httpsd or /data2/.bd.key/preload.so, the device is probably infected with the malware (according to the MOD). Note: you can execute the command with the additions | grep -i Gid and | grep -i data to filter out the relevant data.
- Check all references to /lib/preload.so in PID 1 by executing the following command:diagnose sys process dump 1
If (deleted) references to /lib/preload.so are found, this should be considered a strong indication that the malware was deployed on the device.
In addition, Fortinet already described a set of checks at the time that the vulnerability was disclosed. These checks also help to determine if a device was compromised:
- Check for application crashes of the sslvpnd daemon around the time that the system was vulnerable. You can do so by issuing the following command:diagnose debug crashlog read | grep -i sslvpn
- Check for the existence of the following files:/data/lib/libips.bak
/data/lib/libgif.so
/data/lib/libiptcp.so
/data/lib/libipudp.so
/data/lib/libjepg.so
/var/.sslvpnconfigbk
/data/etc/wxd.conf
/flash
- Check for suspicious outgoing connections. This check was already described in the list of checks from the MOD report.
More information
Managed Security Services (MSS) customers
If you have a Pinewood Managed Security Services contract, Pinewood will conduct additional checks on Fortigate devices.
Questions
For questions about this security bulletin, please contact the Pinewood Service desk. The service desk can be contacted at +31 15 251 36 33 and via support@pinewood.nl. |