Binnen het cybercrime-domein zijn er vele verschijningsvormen van malware (malicious software), zoals remote access tools (RAT), trojan horses en ransomware. Bij traditionele malwarebesmettingen is meestal de malware van het internet gedownload en geïnstalleerd. Vervolgens wordt een programma opgestart en kan de malware zijn werk doen. De essentiële bouwstenen van de malware zitten ingebouwd in een stukje software. Traditionele malware wordt vaak gedetecteerd door het analyseren van uitvoerbare programmabestanden, zogenoemde executable binaries. Maar cybercriminelen zitten niet stil en blijven innoveren, met als gevolg dat er inmiddels ook andere vormen van malware zijn waargenomen.
Tekst Nick Joghems
Onlangs heeft Kaspersky, een softwarebedrijf gespecialiseerd in computerbeveiliging en antivirussoftware, een onderzoeksrapportage uitgebracht waarin aandacht wordt besteed aan een nieuwe ontdekking binnen het malwarelandschap. Namelijk het verstoppen van malware binnen een specifiek onderdeel van Microsoft Windows, zonder additionele (uitvoerbare) malafide programma’s. Deze aangetroffen malware bevond zich binnen de Windows Event Logs. Het was voor het eerst dat een stuk malware binnen dat component van Windows werd ontdekt. Dit artikel gaat niet zozeer in op de specifieke situatie zoals beschreven door Kaspersky, maar over het fenomeen fileless malware in brede zin.
Bij fileless malware worden de eigen processen gebruikt om de computer aan te vallen
Computeraanvallen
Bij fileless malware zijn er geen losse uitvoerbare programma’s. De gehele malware zit in het werkgeheugen van de computer, ook wel het RAM-geheugen (Random Access Memory) genoemd. Daarnaast worden zo goed als alle verwijzingen die naar de aanwezigheid van de malware wijzen, verwijderd. Deze verwijzingen worden ook wel footprints genoemd.
Doordat deze footprint niet of nauwelijks meer aanwezig is, is het verwijderen van de malware lastig.
In het kort zou je kunnen stellen dat bij fileless malware de eigen processen van een computer worden gebruikt om de computer aan te vallen. Programma’s die misbruikt worden zijn onder ander Windows Management (WMI), PowerShell en Microsoft Office-macro’s. Om uit te leggen hoe fileless malware in zijn werk gaat, gebruiken we de analyse van Varlioglu, S., Elsayed, N., & Murat Ozer, M. (2020): The Dangerous Combo: Fileless Malware and Cryptojacking en zoomen we verder in op de specifieke fases. De beschreven fases door Varlioglu et al. zien we in hoofdlijnen ook bij traditionele malware terug.
> LEES OOK: Wekelijkse cyberaanvallen wereldwijd gestegen met 32, in Nederland stijging van 40 procent
Delivery-fase
Binnen de delivery-fase worden twee categorieën uiteengezet, namelijk uitbuitingen van netwerkgerelateerde kwetsbaarheden en het uitbuiten van een bestand. Bij het uitbuiten van kwetsbaarheden via het netwerk krijgt de cybercrimineel door een (on)bekende kwetsbaarheid toegang tot de computer. Vervolgens kan de cybercrimineel de zogenaamde payload uitvoeren op de machine.
Bij het uitbuiten door middel van een bestand worden er door de cybercrimineel vooraf aanpassingen gedaan aan een bestand om de beveiliging te omzeilen en zo initiële toegang te creëren. Voorbeelden van bestanden die gebruikt kunnen worden om deze payload uit te voeren zijn e-mailbijlagen die scripts uitvoeren die rechtstreeks in het werkgeheugen geladen worden. Een ander voorbeeld is het verhullen van een taak binnen Microsoft Office-macro’s. Met behulp van deze taak kan bijvoorbeeld een bestand of script worden opgehaald van een externe locatie, die initiële toegang biedt aan de cybercrimineel. De malware heeft het geïnfecteerde bestand daarna niet meer nodig om te draaien en is zodoende fileless.
Ook zogenaamde zero-days zouden gebruikt kunnen worden om binnen te komen. Een voorbeeld van een zero-day die veel in de media voorbijgekomen is, is die van Log4j. Een dergelijke exploit wordt dan ingezet om initiële toegang te krijgen tot het systeem, waarna de eigen programma’s van Windows gebruikt worden om de malware te initialiseren. Immers, bij fileless malware draait het om het uitbuiten van de eigen programma’s van Microsoft.
Deployment-fase
In de deployment-fase worden de benodigde bestanden, programma’s en taken benaderd door het script. Binnen deze fase zien we het gebruik van PowerShell-scripting vaak terug. Vaak worden deze scripts verhuld in een base-64 encoding. Door de krachtige functies binnen de Windows PowerShell worden code-injecties toegepast bij legitieme processen of auto-start-opties binnen het Windows Register. Deze worden aangesproken of gewijzigd.
Bekende systeembeheerderprogramma’s die veelvuldig uitgebuit worden binnen fileless malware-aanvallen zijn PSEXEC, MSHTA, BITSAdmin, CertUtil, and Msiexec. De omschrijving en toepassing van deze systeembeheerderprogramma’s worden in dit artikel niet verder uitgewerkt.
Verklarende termen
Windows Event Logs houdt een logboek bij van applicatie- en systeemberichten. Windows Event Logs is een waardevolle bron van informatie over foutmeldingen en systeemberichten.
Windows Management Instrumentation (WMI) is een ingebouwde functie sinds Windows NT, die op een gestandaardiseerde wijze informatie verstrekt aan programma’s en beheerscripts. Dit kan bijvoorbeeld informatie zijn uit het gebeurtenissenlogboek, de hoeveelheid RAM-geheugen, updates en welke software geïnstalleerd staat op de computer.
Windows PowerShell is een scripttaal waarbij door middel van een interactieve command-line systemen geconfigureerd kunnen worden en taken geautomatiseerd. Qua uiterlijk lijkt het op de MS-DOS-omgeving maar met vele malen uitgebreidere opties en mogelijkheden.
Microsoft Office-macro’s zijn geautomatiseerde scripts die veelgebruikte taken kunnen automatiseren voor de gebruiker. Het is een reeks aan opdrachten en instructies die als één opdracht wordt gegroepeerd om een bepaalde taak automatisch uit te voeren.
Payloads verwijst naar de wijze waarop informatie over het netwerk (of in een bestand) getransporteerd wordt. Internetverkeer wordt via datapakketten over het internet gestuurd. Dit kan vergeleken worden met het versturen van een pakket. Het pakket wordt voorzien van verzendinformatie (verzendlabel). De inhoud van het pakket wordt vaak pas duidelijk als de ontvanger het pakket vervolgens opent. De payload kan vergeleken worden met de daadwerkelijke inhoud van het pakket.
Encoding slaat op het omzetten van gegevens naar een ander formaat. Bijvoorbeeld van leesbare tekst naar specifieke input waar een bepaald programma mee overweg kan. Soms wordt encoding ook gebruikt om het moeilijker te maken om direct te zien wat een proces doet. Het tegenovergestelde van encoding is decoding. Daarmee kun je bijvoorbeeld de specifieke input weer omzetten naar leesbare tekst.
Windows Register, een soort database binnen het besturingssysteem Microsoft Windows waarbinnen instellingen worden opgeslagen van de gebruikers, programma’s, apparaten en het systeem zelf.
Domain Controller, een Windows-server ingericht om rechten te monitoren. Onderdeel van deze server is de active directory. De active directory is een database. In deze database is opgenomen wie welke rechten heeft binnen het netwerk en wat er zich allemaal binnen het netwerk bevindt.
Adfind.exe is een command-line programma voor het bevragen van de active directory.
Persistent Mechanism-fase
Nadat de malware geïnstalleerd is, is de volgende uitdaging voor de cybercrimineel om blijvend toegang te houden. Als er geen blijvende toegang tot het systeem gecreëerd kan worden, wordt door een ‘simpele’ herstart van het systeem de toegang tot het systeem voor een cybercrimineel ontzegd. Deze blijvende toegang wordt op verschillende manieren bewerkstelligd. Een combinatie van PowerShell, WMI, Windows Taakplanner en het Windows Register wordt vaak gebruikt om regels en opdrachten weg te schrijven, wat het mogelijk maakt om blijvende toegang te houden, ook na het opnieuw opstarten van het systeem.
> LEES OOK: Nederlandse organisaties hebben bijna zes dagen nodig om cyberaanval te detecteren
Privilege Escalation-fase
Doordat de cybercrimineel gebruik kan maken van de hogere rechten binnen het Windows-systeem en de daarbij behorende programma’s kunnen er veel acties uitgevoerd worden binnen het netwerk. De cybercrimineel omzeilt daardoor het ingebouwde beveiligingsmechanisme genaamd User Account Control (UAC). Om de hoogste rechten te verkrijgen binnen een Windows-computersysteem dien je normaal een gebruiker te identificeren die deze verhoogde rechten heeft. Vaak wordt naar deze accounts verwezen als admin-accounts die veelal door systeembeheerders worden gebruikt. Door de wijze waarop het Microsoft Windows-besturingssysteem is opgebouwd, krijgt de cybercrimineel deze rechten doordat eigen programma’s van het besturingssysteem ingezet worden. Deze standaardprogramma’s beschikken over de verhoogde rechten binnen het besturingssysteem. Door de architectuur van Windows wordt het dus mogelijk om via elke willekeurige gebruiker met basisrechten, de hoogste rechten te krijgen.
Lateral Movement-fase
De cybercrimineel zal altijd proberen uit te komen bij de belangrijkste computer of server binnen het netwerk. Daarbij probeert de cybercrimineel het netwerk in kaart te brengen en zich stapje voor stapje te verplaatsen in het netwerk om uiteindelijk toegang te krijgen tot de belangrijkste server. Deze belangrijke server wordt vaak de Domain Controller genoemd. Om het netwerk in kaart te brengen, worden vaak ook legitieme Windows-programma’s gebruikt, bijvoorbeeld Adfind.exe. Door legitiem lijkende handelingen op de belangrijkste server, computer of database uit te voeren, kan de cybercrimineel proberen op te gaan in regulier (netwerk) verkeer om verdere detectie te voorkomen.
Cybercriminelen verbleven in 2021 gemiddeld 21 dagen in het netwerk voordat ze gedetecteerd werden
Command and Control-fase (C2 Server Connection)
Nadat alle eerder genoemde fases doorlopen zijn, heeft de cybercrimineel vaak een blijvende verbinding naar het netwerk weten te creëren. De cybercrimineel kan soms het gehele netwerk of een deel van het netwerk benaderen, raadplegen en aansturen.
De geïnfecteerde machine waarop de malware draait wordt ook wel een zombie genoemd. De term zombie wordt gebruikt voor computers waarop malware aanwezig is en aangestuurd kan worden zonder dat de eigenaar of beheerder van het netwerk dit weet.
> LEES OOK: Ontstaan ransomware-imperium. Wie zou je chanteren?
Nadat op deze wijze toegang wordt verkregen, kan het soms wel uren, dagen, weken of zelfs maanden duren voordat extra handelingen worden verricht binnen het netwerk.
Het verblijven van de cybercrimineel binnen het netwerk voordat deze gedetecteerd wordt, wordt ook wel de dwell time genoemd. Volgens de uitkomsten van een onderzoek van het (cyber) threat intelligence-bedrijf Mandiant, verbleef de cybercrimineel in 2021 gemiddeld 21 dagen in het netwerk voordat deze gedetecteerd werd. Vaak wordt dan duidelijk welk motief de cybercrimineel heeft voor het netwerk. Denk hierbij aan het gijzelen van de computers in het netwerk (ransomware), data stelen (dataleaks) of de rekenkracht van de machines in het netwerk gebruiken om cryptocurrency te minen. Naast het ‘zelf’ uitbuiten van het netwerk, kan het ook zo zijn dat de toegang wordt doorverkocht aan andere cybercriminelen. Het komt voor dat de cybercrimineel onderdeel is van een grotere criminele organisatie, waarbij iedereen verantwoordelijk is voor een bepaald onderdeel binnen de keten.
Traditionele detectie is niet toereikend
Conclusie
Fileless malware heeft andere karaktereigenschappen dan traditionele malware. De malware werkt zonder dat het andere programma’s en services nodig heeft dan de eigen onderdelen van Microsoft Windows. Ook zonder additionele malafide (uitvoerbare) programma’s worden scripts met hogere rechten uitgevoerd en krijgt de cybercrimineel een grote mate van controle over het systeem. Bovendien is traditionele detectie niet toereikend en is het verwijderen van deze vorm van malware soms erg lastig en complex. Toch kunnen er op diverse locaties sporen worden teruggevonden van deze malware. Denk hierbij aan de taakplanner, het register, Windows Event Logs, of bij uitgaand dataverkeer door de geïnfecteerde machine (zombie).
Als je een vermoeden hebt van een malwarebesmetting en je wilt dit verder onderzoeken, is het verstandig om het geïnfecteerde apparaat niet te herstarten, zodat ook het werkgeheugen (RAM) bewaard blijft.
Nick Joghems is cybersecurityexpert bij DataExpert
Voor meer info: Tess Goudsmit tel.:+31 (0) 318 543173, www.dataexpert.nl
tel.: 030-4100677.
Volg Security Management op LinkedIn