Under vår utredning av en Ryuk-attack i september 2020 upptäckte vi att Ryuk-aktörerna hade använt sig av en relativt ny metod för att få initial åtkomst: en malware-dropper som kallas Buer. Attacken i september var en del av en spear phishing-attack med låg volym som spårades av Sophos. Under den följande månaden utvecklades den till en mycket större skräppostkampanj med Buer och ett antal andra typer av ”loader”-skadlig kod, eftersom Ryuk-aktörerna försökte öka sina attacker.
Buer, som introducerades för första gången i augusti 2019, är en skadlig kod som en tjänst som används för att leverera vilket paket som helst som tjänstekunden önskar, och som ger en första kompromettering av måltavlornas Windows-pc:er och gör det möjligt för dem att etablera ett digitalt bashuvud för ytterligare skadlig verksamhet. Buer har tidigare kopplats till banktrojanerattacker och andra malware-implementeringar – och nu har tydligen operatörer av utpressningstrojaner anammat Buer. På många sätt är Buer ett alternativ till Emotet och Trickbots framväxande Bazar-loader (som båda använder liknande beteenden för att distribueras).
Fullservice-robotar
Buer annonserades för första gången i ett foruminlägg den 20 augusti 2019 under titeln ”Modular Buer Loader”, som av utvecklarna beskrevs som ”en ny modulär bot… skriven i ren C” med kommando- och kontroll (C&C)-serverkod skriven i .NET Core MVC (som kan köras på Linuxservrar). För 350 dollar (plus den avgift som en tredjepartsgarant tar ut) kan en cyberkriminell köpa en anpassad laddare och tillgång till C&C-panelen från en enda IP-adress – med en avgift på 25 dollar för att ändra den adressen. Buer’s utvecklare begränsar användarna till två adresser per konto.
Botkoden, som kompileras för varje användare specifikt för en nedladdning, har en annonserad storlek på mellan 22 och 26 kilobyte – även om provet vi tittade på var cirka 40 kilobyte efter att ha packats upp från sin dropper. Botten kan konfigureras för exekvering antingen som en 32-bitars Windows-körbar fil eller som en DLL.
C&C kan användas för att spåra antalet lyckade nedladdningar i en kampanj och för att tilldela uppgifter till botar genom filter som t.ex. landet de befinner sig i, ”bitness of the operating system” (32 eller 64 bit), antalet processorer på den infekterade maskinen och nivån på de behörigheter som botar erhållit. Bots som upptäcks vara verksamma inom Oberoende staters samvälde kommer att stängas av – vilket är ett vanligt beteende hos skadlig kod som utvecklats i den före detta Sovjetunionen, som ett försök att undvika uppmärksamhet från lokala myndigheter.
Tasker kan schemaläggas så att de körs under en viss tidsperiod eller avbrytas på kommando, med telemetri för uppgiften som skickas tillbaka till panelen. Panelen kan också användas för att distribuera uppdateringar till robotar, inklusive (åtminstone baserat på annonsen) distribution av moduler, med förbyggda moduler som ska läggas till ”med tiden” som en del av tjänsten. Och självklart tillhandahålls konsultverksamhet för installation och teknisk support.
Priset i varje doc
Sophos’ Rapid Response team upptäckte ett prov av Buer som grundorsak till en Ryuk-attack i september. Laddaren levererades av ett skadligt dokument som lagrades på Google Docs, vilket krävde att offret aktiverade skriptinnehåll för att aktivera – ett beteende som liknar Emotet och andra loader-attacker via skadlig skräppost, men som utnyttjar molnlagring för att försvåra den kriminaltekniska analysen.
Vi samlade in andra meddelanden från samma kampanj i Sophos skräppostfällor under samma period. Meddelandena använde alla Google Docs-filer och skickades med hjälp av en populär kommersiell e-postdistributionstjänst – vilket ytterligare döljer källan och länken i samband med det skadliga dokumentet.
Nyttolasten i det skadliga dokumentet hette print_document.exe. Liksom andra exempel på Buer-droppare som vi har analyserat var det en digitalt signerad binär fil, med hjälp av ett stulet och nu återkallat certifikat utfärdat av DigiCert till ”NEEDCODE SP Z O O”, en polsk programvaruutvecklare, utfärdat den 17 september 2020. Dropparen byggdes med hjälp av modifierad kod från ett exempelprogram från Microsoft för bildtagning, AcquireTest, och använde kodens funktion för ”file enumeration” för att ta bort och släppa kod.
Dropparen gör ett antal saker för att säkerställa korrekt leverans. Den kontrollerar först om det finns en debugger för att undgå kriminalteknisk analys och kontrollerar sedan språk- och lokaliseringsinställningar för att fastställa den geografiska regionen för det angripna systemet. Om inställningarna stämmer överens med ett CIS-land avslutas programmet utan att deponera skadlig kod. I annat fall dumpar dropparen sedan Buer-roboten i minnet och utför den.
Intressant nog använder Buer Loader och Ryuk ransomware samma shellcode loader för att utföra den uppackade skadliga koden i minnet:
Buer loader shellcode…
och Ryuk loader shell code.
Detta kanske inte är en indikation på delat författarskap; utvecklarna kan helt enkelt ha använt samma exempelkod som källa.
När den startas gör Buer-robotten ett antal saker för att sätta upp butiken. Botten utför två uppsättningar PowerShell-kommandon – ett för att kringgå exekveringsprinciper så att PowerShell-kommandon som utförs av botten går igenom utan varningar (Set-ExecutionPolicy Bypass) och ett annat (add-mppreference -exclusionpath) för att göra ändringar i Windows Defenders exkluderingslista – vilket gör att filer som den laddar ner inte kan skyddas från Windows inbyggda skydd mot skadlig kod.
Buer frågar i Windows-registret efter värdet av \Microsoft\Cryptography\MachineGuid för att få fram en unik identifierare för den infekterade maskinen. Sedan ringer roboten hem och interagerar med kommando- och kontrollservern (i det här fallet 104248.83.13) genom en rad säkra HTTP-meddelanden ”POST” och ”GET”.
Därefter kommer ”loader”-delen av vad Buer gör. De filer som paketeras för att släppas av Buer hämtas från en angiven källa och släpps i en mapp som skapas i katalogen C:\ProgramData\-katalogen – katalognamnet skapas programmatiskt och varierar med driftsättningar. Vid attacken i september användes Buer för att distribuera en Cobalt Strike-beacon till den infekterade datorn, som sedan i sin tur användes för att utnyttja nätverket och inleda en Ryuk-attack.
Mixing it up
Den skadliga skräppostkampanj som resulterade i Buer-loader- och Ryuk-utpressningsinfektionerna utvecklades i slutet av september, då vi observerade att aktörerna bakom den skiftade samma taktik bort från låg volym på SendGrid till post som skickades via Internethostingleverantörer – huvudsakligen via en enda rysk internetleverantör. I oktober ökade volymen av skräppost dramatiskt och flyttades från Google Docs (eftersom Google stängde ner de gamla filerna på grund av brott mot användarvillkoren) till en annan kommersiell e-post- och filleveranstjänst.
I de två sista faserna, även om taktiken förblev likartad och andra kännetecken tydde på att det var samma skräppostaktör som stod bakom skräppostmeddelandet, användes flera olika typer av skadlig programvara som ”dropper” i form av bifogade filer. Förutom Buer hittades även prover av Bazar och ZLoader, med varierande nyttolaster. För en Bazar-laddare använde angriparna ett lösenordsskyddat Excel-kalkylblad. Under samma tidsperiod var Bazar och ZLoader också kända för att vara inblandade i Ryuk-attacker.
Det är tydligt att Ryuk är tillbaka och att aktörerna bakom den utvecklar sina metoder för initialt intrång, genom att använda flera loader-botar för att få initial åtkomst. Det är oklart om det är samma aktör som ligger bakom alla dessa attacker och använder flera malware-as-a-service-plattformar för att leverera Ryuk, eller om det finns flera Ryuk-aktörer. Men likheten i tekniker mellan dessa kampanjer tyder på att det åtminstone finns en samordning mellan dem: de använder riktade e-postmeddelanden med molnbaserade skadliga dokument och ett lockbete för att sporra till omedelbar handling (ofta relaterat till löner eller skatter).
Den bästa begränsningen för dessa attacker är att förstärka utbildningen om nätfiskeattacker. Även om dessa skadliga e-postmeddelanden är målinriktade är de vanligen olämpligt formulerade och använder måltavlans namn på märkliga sätt. En noggrann läsning av e-postmeddelandet kommer att avslöja de flesta välutbildade användare. Men dessa attacker blir alltmer sofistikerade och även välutbildade användare kan till slut klicka på fel länk i ett e-postmeddelande om inte skräppostdetektering fångar dem först.
Sophos upptäcker och blockerar Buer både med hjälp av anpassade upptäckter (Troj/BuerLd-A) och maskininlärning, och upptäcker spear phishing-meddelanden som skräppost. Indikatorer för äventyrande av Buer Loader finns på SophosLabs GitHub.
Sophos vill tacka Peter Mackenzie, Elida Leite, Syed Shahram och Bill Kearny från Sophos Rapid Response-team samt Anand Ajjan, Brett Cove och Gabor Szappanos från SophosLabs för deras bidrag till den här rapporten
.