Kwetsbaarheden voor uitvoering van code op afstand kunnen een aanvaller in staat stellen van een kwetsbare toepassing door te dringen tot het besturingssysteem dat deze host. Hoewel de initiële kwetsbaarheid per product kan verschillen, leidt activiteit na misbruik vaak tot vergelijkbare procesrelaties die verdedigers kunnen bewaken.
Een bijzonder nuttig signaal is een toepassings- of webserverproces dat onverwacht een opdrachtshell, scriptengine of systeemhulpprogramma start. Onder Windows kan dit zicht geven op het punt waarop misbruik van de toepassing uitvoering op de host wordt.
Van misbruik van webtoepassingen naar systeemopdrachten
De detectie richt zich op serverprocessen zoals IIS, WSUS, Tomcat, Java, Apache, Nginx, PHP en Node.js. Deze processen hebben normaal gesproken voorspelbare uitvoeringspatronen. Wanneer ze onderliggende processen gaan aanmaken zoals cmd.exe, powershell.exe, pwsh.exe, wscript.exe, mshta.exe, rundll32.exe, certutil.exe, bitsadmin.exe of curl.exe, verdient de activiteit onderzoek.
De bron koppelt dit gedrag aan RCE die SharePoint, WSUS, IIS-gehoste toepassingen, SAP onder Windows, webbeheerconsoles en kwetsbaarheden rond deserialisatie of bestandsupload treft.
Een verdachte procesketen kan er zo uitzien:
w3wp.exe → powershell.exe
of:
java.exe → cmd.exe
De procesrelatie zelf is geen bewijs van compromittering, maar kan erop wijzen dat een serverzijdige toepassing opdrachten is gaan uitvoeren buiten de normale toepassingsstroom.
Detectiequery
data.win.system.eventID:1 and data.win.eventdata.parentImage:(*\w3wp.exe or *\wsusservice.exe or *\tomcat*.exe or *\java.exe or *\httpd.exe or *\nginx.exe or *\php-cgi.exe or *\php.exe or *\node.exe) and data.win.eventdata.image:(*\cmd.exe or *\powershell.exe or *\pwsh.exe or *\wscript.exe or *\cscript.exe or *\mshta.exe or *\rundll32.exe or *\regsvr32.exe or *\certutil.exe or *\bitsadmin.exe or *\curl.exe)
De bron registreerde 15,523 overeenkomsten in de afgelopen 30 dagen.
Waarom het aantal resultaten ertoe doet
Een groot aantal overeenkomsten betekent niet automatisch dat er duizenden aanvallen hebben plaatsgevonden. Applicatieservers voeren soms scripts of opdrachtregelhulpprogramma's uit om legitieme operationele redenen. Java-toepassingen kunnen shellopdrachten aanroepen, Node.js-toepassingen kunnen opdrachtinterpreters aanroepen en IIS-gehoste systemen kunnen beheerscripts uitvoeren.
Om die reden werkt deze zoekopdracht goed als startpunt voor threat hunting. Het eerste doel moet zijn te begrijpen welke combinaties van bovenliggend en onderliggend proces het volume veroorzaken.
Nuttige groeperingen zijn:
bovenliggend proces;
onderliggend proces;
hostnaam;
serviceaccount of gebruiker;
opdrachtregel;
uitvoeringspad;
frequentie.
Als de meeste gebeurtenissen afkomstig zijn van één bekende applicatieserver die herhaaldelijk hetzelfde goedgekeurde script start, kan dat gedrag worden gedocumenteerd. Een zeldzame w3wp.exe → powershell.exe-gebeurtenis op een server die met internet verbonden is, kan echter direct onderzoek verdienen.
Verdachte gebeurtenissen onderzoeken
De opdrachtregel is een van de belangrijkste velden om te controleren. Een bekend beheerscript heeft een heel ander risicoprofiel dan een onverwachte gecodeerde PowerShell-opdracht, een externe download-URL of een opdracht die verkenning uitvoert.
Analisten moeten ook de activiteit direct vóór en na de gebeurtenis van procescreatie bekijken. Nuttige vragen zijn:
Ontving de toepassing ongebruikelijke verzoeken voordat het proces startte?
Heeft het onderliggende proces extra processen aangemaakt?
Heeft het bestanden geschreven naar tijdelijke of toepassingsmappen?
Heeft het uitgaande netwerkverbindingen opgezet?
Heeft het beveiligingsinstellingen of persistentiemechanismen gewijzigd?
Kwam vergelijkbare activiteit voor op andere systemen?
Hoe sterker het omringende bewijs, hoe meer vertrouwen het SOC in de detectie kan hebben.
De detectie afstemmen
De detectie moet zorgvuldig worden afgestemd. Brede uitsluitingen, zoals het negeren van elke java.exe → cmd.exe- of w3wp.exe → powershell.exe-gebeurtenis, kunnen waardevol beveiligingsinzicht wegnemen.
Een betere aanpak is het maken van nauwe uitzonderingen met combinaties zoals:
bekende host + bekend procespad + bekende opdrachtregel + bekend serviceaccount
Zo blijft de gedragsgebaseerde detectie behouden, terwijl de verwachte operationele ruis afneemt.
Van huntingregel naar detectieregel
Zodra de normale activiteit in de omgeving is begrepen, kan dezelfde zoekopdracht worden omgezet in een preciezere melding. Varianten met hoge waarde kunnen zich richten op zeldzame relaties tussen bovenliggende en onderliggende processen, onverwachte hosts, ongebruikelijke opdrachtregels, externe downloads of uitvoering vanaf door gebruikers beschrijfbare locaties.
Het kernprincipe is eenvoudig: web- en applicatiediensten horen zich niet onverwacht te gedragen als interactieve gebruikers. Het bewaken van het moment waarop ze shells of systeemhulpprogramma's gaan starten, kan een waardevol signaal opleveren om RCE en activiteit na misbruik te detecteren.

