Tijdens ons onderzoek naar een Ryuk-aanval in september 2020 ontdekten we dat de Ryuk-actoren een relatief nieuwe methode hadden gebruikt voor het verkrijgen van initiële toegang: een malware-dropper genaamd Buer. De aanval in september maakte deel uit van een spear-phishingaanval van geringe omvang die door Sophos werd gevolgd. In de loop van de volgende maand ontwikkelde het zich tot een veel grotere spamcampagne, die Buer droeg, evenals een aantal andere soorten “loader” malware, terwijl de Ryuk-operators probeerden hun aanvallen op te voeren.
Voor het eerst geïntroduceerd in augustus van 2019, is Buer een malware-as-a-service-aanbod dat wordt gebruikt om welk pakket dan ook te leveren dat de serviceklant wenst, waardoor de Windows-pc’s van doelwitten in eerste instantie worden gecompromitteerd en ze een digitaal bruggenhoofd kunnen vestigen voor verdere kwaadaardige activiteiten. Buer is eerder in verband gebracht met aanvallen met banktrojaanse paarden en andere malware-implementaties, en is nu blijkbaar omarmd door ransomware-exploitanten. In veel opzichten wordt Buer gepositioneerd als een alternatief voor Emotet en Trickbot’s opkomende Bazar loader (die beide gebruik maken van vergelijkbare gedragingen om te implementeren).
Full-service bots
Buer werd voor het eerst geadverteerd in een forumbericht op 20 augustus 2019 onder de titel “Modular Buer Loader”, beschreven door zijn ontwikkelaars als “een nieuwe modulaire bot…geschreven in pure C” met command and control (C&C) servercode geschreven in .NET Core MVC (die kan worden uitgevoerd op Linux-servers). Voor $350 (plus de kosten die een derde partij als garant neemt) kan een cybercrimineel een aangepaste loader kopen en toegang tot het C&C-paneel vanaf een enkel IP-adres – met een toeslag van $25 om dat adres te wijzigen. De ontwikkelaars van Buer beperken gebruikers tot twee adressen per account.
De botcode, gecompileerd voor elke gebruiker specifiek voor een download, heeft een geadverteerde grootte tussen 22 en 26 kilobytes – hoewel het monster dat we bekeken ongeveer 40 kilobytes was nadat het was uitgepakt van zijn dropper. De bot kan worden geconfigureerd voor uitvoering als een 32-bit Windows executable of als een DLL.
De C&C kan worden gebruikt om het aantal succesvolle downloads in een campagne bij te houden, en om taken toe te wijzen aan bots door filters zoals het land waar ze zich bevinden, de “bitness of the operating system” (32 of 64 bit), het aantal processors op de geïnfecteerde machine en het niveau van de permissies die door de bot zijn verkregen. Bots waarvan wordt ontdekt dat ze actief zijn in het Gemenebest van Onafhankelijke Staten worden uitgeschakeld – een veelvoorkomend gedrag van malware die is ontwikkeld in de ex-USSR-regio, in een poging om de aandacht van de lokale autoriteiten te vermijden.
Taken kunnen worden gepland om gedurende een bepaalde tijd te worden uitgevoerd of kunnen op commando worden opgeschort, waarbij telemetrie voor de taak wordt teruggestuurd naar het paneel. Het paneel kan ook worden gebruikt om updates aan bots uit te rollen, inclusief (althans op basis van de advertentie) het uitrollen van modules, met vooraf gebouwde modules die “na verloop van tijd” kunnen worden toegevoegd als onderdeel van de service. En natuurlijk wordt er setup consulting en technische ondersteuning geboden.
Prize inside every doc
Sophos’ Rapid Response-team ontdekte een monster van Buer als de hoofdoorzaak van een Ryuk-aanval in september. De loader werd geleverd door een kwaadaardig document dat was opgeslagen op Google Docs, waarbij het slachtoffer scriptinhoud moest inschakelen om te activeren – een gedrag dat vergelijkbaar is met Emotet en andere loaderaanvallen via kwaadaardige spamberichten, maar dat gebruikmaakt van cloudopslag om forensische analyse te bemoeilijken.
We hebben in dezelfde periode andere berichten van dezelfde campagne verzameld in de spamvallen van Sophos. De berichten maakten allemaal gebruik van Google Docs-bestanden en werden verzonden via een populaire commerciële e-maildistributieservice, waardoor de bron en de koppeling van het schadelijke document nog onduidelijker werden.
De payload van dat schadelijke document droeg de naam print_document.exe. Net als andere Buer-dropervoorbeelden die we hebben geanalyseerd, was het een digitaal ondertekend binair bestand, met een gestolen en nu ingetrokken certificaat dat op 17 september 2020 is uitgegeven door DigiCert aan “NEEDCODE SP Z O O”, een Poolse softwareontwikkelaar. De dropper werd gebouwd met aangepaste code van een Microsoft voorbeeld applicatie voor beeldopname, AcquireTest, gebruikmakend van de code’s functie voor “file enumeration” om code te verwijderen en te droppen.
De dropper doet een aantal dingen om een goede levering te verzekeren. Het controleert eerst de aanwezigheid van een debugger om forensische analyse te omzeilen, en controleert dan de taal en lokalisatie instellingen om de geografische regio van het aangevallen systeem te bepalen. Als de instellingen overeenkomen met een GOS-land, wordt het programma afgesloten zonder de malware te plaatsen. In het andere geval dumpt de dropper de Buer bot in het geheugen en voert deze uit.
Intrigerend is dat de Buer Loader en Ryuk ransomware dezelfde shellcode loader gebruiken om de uitgepakte malware code in het geheugen uit te voeren:
Buer loader shellcode…
en Ryuk loader shell code.
Dit duidt mogelijk niet op gedeeld auteurschap; de ontwikkelaars hebben mogelijk gewoon dezelfde voorbeeldcode als bron gebruikt.
Bij het opstarten doet de Buer-bot een aantal dingen om de zaak op te zetten. De bot voert twee sets PowerShell-commando’s uit: één om het uitvoeringsbeleid te omzeilen, zodat PowerShell-commando’s die door de bot worden uitgevoerd, zonder waarschuwingen worden uitgevoerd (Set-ExecutionPolicy Bypass), en een andere (add-mppreference -exclusionpath) om wijzigingen aan te brengen in de uitsluitingslijst van Windows Defender – waarmee bestanden die de bot downloadt, worden verborgen voor de ingebouwde malwarebescherming van Windows.
Buer vraagt in het Windows Register naar de waarde van MicrosoftCryptographyMachineGuid om de unieke identificatie voor de geïnfecteerde machine te krijgen. En de bot belt naar huis en communiceert met de commando- en controleserver (in dit geval, 104248.83.13) via een serie beveiligde HTTP “POST” en “GET” berichten.
Dan is er nog het “loader” gedeelte van wat Buer doet. De bestanden die Buer dropt worden opgehaald van een aangewezen bron en in een map gezet in de directory C:ProgramData-de naam van de map wordt programmatisch aangemaakt en varieert met implementaties. Bij de aanval in september werd Buer gebruikt om een Cobalt Strike baken op de besmette computer te plaatsen, dat vervolgens weer werd gebruikt om het netwerk te misbruiken en een Ryuk aanval uit te voeren.
Mixing it up
De kwaadaardige spamcampagne die resulteerde in de Buer loader en Ryuk ransomware-infecties evolueerde eind september, toen we zagen dat de actoren erachter dezelfde tactiek verlegden van laag volume op SendGrid naar mail die werd verzonden via internet hosting providers – overwegend via één Russische ISP. In oktober nam het spamvolume drastisch toe door een verschuiving van Google Docs (omdat Google de oude bestanden sloot wegens overtreding van de servicevoorwaarden) naar een andere commerciële e-mail- en bestandsleveringsservice.
In de laatste twee fasen werden, hoewel de tactiek vergelijkbaar bleef en andere kenmerken erop wezen dat de spammer dezelfde was, meerdere soorten “dropper”-malware ingezet als bijlagen. Naast Buer werden ook monsters van Bazar en ZLoader aangetroffen, waarbij de payloads varieerden. Voor één Bazar loader payload gebruikten de aanvallers een met een wachtwoord beveiligde Excel spreadsheet. In dezelfde periode waren Bazar en ZLoader ook betrokken bij Ryuk-aanvallen.
Het is duidelijk dat Ryuk terug is, en dat de actoren erachter hun methoden voor initiële compromittering ontwikkelen, waarbij ze meerdere loader-bots gebruiken om initiële toegang te krijgen. Het is niet duidelijk of dezelfde actor achter al deze aanvallen zit, met behulp van meerdere malware-as-a-service platforms om Ryuk te leveren, of dat er meerdere Ryuk-actoren zijn. Maar de gelijkenis in technieken tussen deze campagnes suggereert dat er op zijn minst coördinatie tussen hen is: ze gebruiken gerichte e-mails met cloud-gebaseerde schadelijke documenten en een lokmiddel om aan te zetten tot onmiddellijke actie (vaak gerelateerd aan lonen of belastingen).
De beste mitigatie voor deze aanvallen is om de training over phishing-aanvallen te versterken. Hoewel deze kwaadaardige e-mails doelgericht zijn, zijn ze meestal onhandig geformuleerd en wordt de naam van het doelwit op vreemde manieren gebruikt. Als de e-mail zorgvuldig wordt gelezen, zullen de meeste goed opgeleide gebruikers de tip krijgen. Maar deze aanvallen worden steeds geraffineerder, en zelfs goed getrainde gebruikers kunnen uiteindelijk op de verkeerde link in een e-mail klikken als spamdetectie hen niet eerst betrapt.
Sophos detecteert en blokkeert Buer zowel met aangepaste detecties (Troj/BuerLd-A) als met machine learning, en detecteert de spear-phishingberichten als spam. Indicatoren van compromittering geassocieerd met Buer Loader zijn te vinden op SophosLabs’ GitHub.