Buer, en ny laddare dyker upp på den underjordiska marknaden

Översikt

Under flera år har Proofpoint-forskare spårat användningen av nedladdare som används av hotbildare för att installera andra former av skadlig kod under och efter deras skadliga e-postkampanjer. Särskilt under de senaste två åren har dessa nedladdare blivit alltmer robusta och ger avancerade profilerings- och målinriktningsfunktioner.

Mer viktigt är att nedladdare och annan skadlig kod som botnät och banktrojaner har ersatt utpressningstrojaner som primära nyttolaster, vilket ger hotaktörer flexibiliteten att distribuera en rad olika typer av skadlig kod i sekundära infektioner. Till exempel har en av de vanligaste, Smoke Loader, använts flitigt för att släppa nyttolaster som Ursnif och The Trick banktrojaner, samt använt sina egna moduler för att stjäla referenser och annan information och data, bland andra skadliga funktioner.

Sedan slutet av augusti 2019 har Proofpoint-forskare spårat utvecklingen och försäljningen av en ny modulär laddare med namnet Buer av dess författare. Buer har funktioner som är mycket konkurrenskraftiga med Smoke Loader, säljs aktivt på framstående underjordiska marknadsplatser och är avsedd för att användas av aktörer som söker en nyckelfärdig, färdig lösning.

Kampanjer

28 augusti 2019

Den 28 augusti observerade Proofpoint-forskare skadliga e-postmeddelanden som ser ut att svara på tidigare legitima e-postkonversationer. De innehöll Microsoft Word-bilagor som använder Microsoft Office-makron för att ladda ner nästa steg av nyttolasten.

Figur 1: Exempel på en Microsoft Word-bilaga som används i kampanjen den 28 augusti 2019

Vi observerade att nästa steg av nyttolasten laddades ner från följande webbadresser:

hxxp://jf8df87sdfd.yesteryearrestorationsnet/gate.php

hxxp://93345fdd.libertycolegioscom/gate.php

Den nedladdade nyttolasten hette verinstere222.xls eller verinstere33.exe (en namnkonvention som aktören använde sig av under den perioden). Istället för Dreambot-varianten av Ursnif, som ofta förknippas med denna aktör, var nyttolasten en odokumenterad laddare som inte tidigare observerats i naturen.

Under de följande veckorna i september och oktober observerade Proofpoint-forskare och andra medlemmar av infosec-communityt flera kampanjer från samma aktör som släppte antingen Dreambot-varianten av Ursnif eller denna nya laddare.

Oktober 10, 2019

Den 10 oktober observerade Proofpoint-forskare en kampanj i Australien som omdirigerade till Fallout Exploit Kit (EK) med den nya laddaren.

Figur 2: Spårning av HTTP-nätverkstrafik med Fallout EK som utnyttjar sårbara webbläsare

Laddaren släppte sedan flera andra stadiets skadliga nyttolaster, inklusive KPOT stealer, Amadey och Smoke Loader.

21 oktober 2019

Sedan början av juli har Proofpoint-forskare observerat cirka 100 kampanjer med Ostap som nästan uteslutande laddar flera instanser av The Trick. Den 21 observerade dock Proofpoint-forskare skadliga e-postmeddelanden med ämnesrader som ”Penalty Notice # PKJWVBP” som innehåller Microsoft Word-bilagor. Dokumenten innehöll makron som, om de aktiverades, skulle köra Ostap. Vi observerade att Ostap hämtade denna laddare från

hxxps://185.130.104187/nana/kum.php?pi=18b&

som i sin tur laddade The Trick ”ono22” från sin C&C: garrisontxus

Figur 3: Nätverkstrafik som observerades när makrot i de skadliga dokumenten aktiverades.

Figur 4: Exempel på Microsoft Word-bilaga som användes i kampanjen den 21 oktober

Marknadsplats &Funktionsanalys

Då vi började observera att den här nya laddaren användes i flera olika, skilda kampanjer, förväntade vi oss att den såldes på en underjordisk marknadsplats till flera aktörer. Dessutom upptäckte vi en annons från den 16 augusti på ett underjordiskt forum som beskrev en laddare vid namn ”Buer” som matchade funktionaliteten hos den skadlig kod som observerades i ovanstående kampanjer.

Funktionerna som lades till och annonserades under de följande veckorna stämmer exakt överens med utvecklingen av den laddare som hittades i dessa kampanjer.

Vi hämtade text från ett anslag på en anslagstavla av författaren, på ryska, där denne begärde 400 dollar för den skadlig kod och erbjöd sina tjänster för att sätta upp programvaran för potentiella kunder så att den skulle kunna komma igång. Författaren konstaterar också att uppdateringar och buggfixar är gratis, men att det finns en tilläggsavgift på 25 dollar för att ”bygga om till nya adresser”.

Följande text, som Proofpoint också hämtat från den underjordiska marknadsplatsen, och som antas vara skriven av författaren till skadlig kod, är en sammanfattning av funktionaliteten hos laddaren enligt beskrivningen i den ryska originaltexten:

Figur 5. Text från underjordiskt foruminlägg som beskriver funktionaliteten hos Buer Loader bot

På liknande sätt listar reklamen också funktionaliteten hos kontrollpanelen. Författaren noterar att den modulära roboten är skriven helt och hållet i C, med hjälp av en kontrollpanel skriven i .NET Core, och betonar högre prestanda i både klient och server på grund av valet av programmeringsspråk.

  • Enligt beskrivningen har roboten en total nyttolast på 55 till 60 kilobyte, fungerar som en inhemsk körbar fil för Windows och ett dynamiskt länkbibliotek, körs helt och hållet i det residenta minnet, och är kompatibel med 32-bitars och 64-bitars operativsystem för Microsoft Windows.
  • Botten kommunicerar via en HTTPS-anslutning och kan uppdateras på distans från kontrollpanelen efter dekryptering samt återuppbyggnad.
  • Författaren noterar också att laddaren körs som en surrogatprocess för en betrodd applikation och fungerar med hjälp av privilegier på användarnivå.
  • Mast anmärkningsvärt är att programvaran inte kommer att köras i OSS (f.d. sovjetstater, t.ex. Ryssland).

Anmälan beskriver följande funktioner för servern och kontrollpanelen:

  • Kontrollpanelen annonseras som att den också är skriven i .NET Core, vilket noterar enkel installation på Ubuntu/Debian Linux-serversystem.
  • Servern tillhandahåller ett brett utbud av statistik, inklusive räknare för online, levande, döda och totala botar, en uppdatering i realtid för listan över botar, en räknare för filhämtning och en möjlighet att filtrera system efter typ av operativsystem, åtkomsträttigheter för installerade botar och antal logiska CPU-kärnor.
  • De nedladdade filerna från de infekterade systemen lagras i krypterad form på servern, med åtkomst beviljad genom en token.
  • Det viktigaste är att författaren, precis som robotarna själva, noterar att servern inte behandlar API-förfrågningar som skickas från länder som är medlemmar i OSS.

Foruminlägget innehöll också tekniska versionsanteckningar för Buer-laddaren och kontrollpanelen (version 1.1.2). I inledningen noterade författaren att lanseringen av laddaren nu består av tre steg – om de två första stegen misslyckas på det infekterade systemet och injektionen i surrogatprocessen misslyckas (t.ex. på grund av inkompatibilitet med själva kryptan), kommer laddaren att köras under sin egen process i stället.

I versionsanteckningarna anges följande för laddaren:

  • Laddaren använder en FastFlux-arkitektur.
  • Laddaren fungerar under en betrodd process i Microsoft Windows. MemLoadEx-processen har nu stöd för x64 exe som en betrodd applikation.
  • MemLoad har uppdaterats och har nu stöd för native x32 exe.

I versionsanteckningarna nämns följande funktioner för kontrollpanelen:

  • Access till API:n sker med hjälp av HTTPS med stöd för självsignerade certifikat.
  • Stöd för redigering av uppgifter i panelen. Användaren kan stoppa uppgiften under utförandet och ändra nyttolasten och antalet utföranden.
  • Har lagt till möjligheten att skapa en uppgift efter bot-ID. Mycket lämplig för punktlaster.
  • Ett fönster för att skapa uppgifter steg för steg.
  • En avisering som gör det möjligt att lära sig om nödvändiga botar online.
  • Den unika karaktären hos bot-id:t har ökats.
  • Taggar har lagts till i panelen, vilket gör det möjligt att sortera botar för efterföljande åtgärder med dem.
  • Visar datorns namn i tabellen.
  • Förbättrad kryptokompatibilitet.
  • Läggs till bothistorik.
  • ”Panelen expanderar nu till Docker” (stöd för Docker-containrar).
    • Proofpoint Researcher Note: Vi förmodar att den här funktionen är till för att underlätta integrationen i leasade Docker-värdar, vilket förenklar installationen, även om panelen/C&C potentiellt kan installeras på en komprometterad Docker-värd.
  • Validering av filen på panelen. Nu kommer panelen inte att missa filen som laddaren inte kan ladda ner och meddelar klienten om detta.
  • Tasker kan nu upprepas.

Författaren beskrev slutligen följande tekniska ändringar för version 1.1.9. Dessa är anmärkningsvärda eftersom de visar att det skadliga programmet är under aktiv, professionell utveckling.

  • Laddaren har fått en ny metod för att starta External för lokala filer. Fördelarna med metoden är entydighet och ingen CreateProcess / ShellExecute genom laddaren. Lanseringen ger en betrodd process utan några kommandon till den.
  • Panelen har möjlighet att märka alla robotar som har utfört en viss uppgift. Detta gör det möjligt för användaren att distribuera nyttolasten till vissa grupper av bots.
  • Implementerat integrations-API. Tillgänglig dokumentation för det.
  • Läggs till möjligheten att skicka en fil som referens i proxyläge. Filen överförs till roboten i krypterad form.
  • Buggen med att räkna robotar efter land har rättats och andra förbättringar har lagts till.

Skärmavbildningar av kontrollpanelen

Följande skärmavbildningar av kontrollpanelen ingick i den underjordiska reklamen, och visar några av de backend-funktioner som är tillgängliga för kunderna, inklusive telemetriövervakning, värdfiltrering med mera.

Figur 6: Kontrollpanelens inloggnings-UX för Buer Loader C&C

Figur 7: Skärm för övervakning av telemetri för Buer-kontrollpanelen.

Figur 8: Skärm för övervakning av telemetri av robotar i mörkt läge för Buer-kontrollpanelen.

Figur 9: Filtervyn för kontrollpanelen som visar fjärrrobotar filtrerade enligt Microsoft Windows-arkitektur.

Figur 10: Kontrollpanelens vy som visar filhantering för laddningsuppgifter

Figur 11: Kontrollpanelens vy över fjärrstyrda robotar sorterade efter användarrättigheter.

Figur 12: Kontrollpanelvy, uppgiftsstatus

Figur 13: Kontrollpanelvy, skapande av en uppgift

Malwareanalys

Buer Loader är ett nytt nedladdningsskadligt kodprogram som laddar ner och utför ytterligare nyttolaster.

Antianalysfunktioner

Buer Loader innehåller vissa grundläggande antianalysfunktioner:

  • Kontrollerar om det finns felsökare genom att inspektera NtGlobalFlagg i Process Environment Block (PEB) och Thread Environment Block (TEB)
  • Kontrollerar om det finns virtuella maskiner med hjälp av Red Pill , No Pill och relaterade mekanismer
  • Kontrollerar lokalitet för att se till att skadlig kod inte körs i vissa länder (Figur 14)

Figur 14: Kontroll av skadlig kod för att säkerställa att den inte körs i vissa länder

Persistens

Persistens konfigureras genom att konfigurera en RunOnce-post i registret. Beroende på version kommer registerposten att exekvera skadlig kod direkt eller schemalägga en uppgift för att exekvera den.

Krypterade strängar

Detta exempel innehåller en funktion för att kryptera strängar.

Figur 15: Dekrypteringssekvens för strängar

Följande funktion är ett exempel på hur man dekrypterar krypterade strängar i Ghidra med hjälp av Jython:

Figur 16: Dekrypteringssekvens för strängar (Python-version)

Figur 17: Exempel på dekryptering av strängar

Windows API-anrop

Detta exempel använder en hash-algoritm för att lösa de flesta av sina Windows API-anrop. Hashing-algoritmen säkerställer att varje tecken i API-namnet är en stor bokstav. Den roterar sedan till höger (ROR) varje tecken med 13 och adderar dem tillsammans.

Figur 18: Hashing-algoritm för att lösa Windows API-anrop

Följande funktion är ett exempel på hur Python kan användas för att hjälpa till att lösa API-anrop.

Figur 19: Exempel på Python-skript som används för att hjälpa till att lösa hashade Windows API-anrop

Följande tabell innehåller en lista över några utvalda hashade som används och deras motsvarande Windows API-namn:

CreateMutexW

0xed619452

OpenMutexW

0x7bffe25e

CreateProcessW

0xb4f0f46f

WinHttpOpen

0xaf7f658e

WinHttpCrackUrl

0x8ef04f02

WinHttpConnect

0x9f47a05e

WinHttpOpenRequest

0x1dd1d38d

Tabell 1: Windows API-anrop med utvalda hashkoder

Skommando och kontroll

Skommando- och kontrollfunktioner (C&C) hanteras via HTTP(S) GET-förfrågningar. Ett exempel på en kommandobakgrund ser ut som i figur 20:

Figur 20: Exempel på kommandobakgrund

Dessa förfrågningar går till ”update API” och innehåller en krypterad parameter. Denna parameter kan avkrypteras genom:

  1. Base64 avkodning
  2. Hex avkodning
  3. RC4 avkodning (nyckeln som användes i de analyserade exemplen var ”CRYPTO_KEY”)

Ett exempel på en klartextparameter är:

88a5e68a2047fa5ebdc095a8500d8fae565a6b225ce94956e194b4a0e8a515ae|ab21d61b35a8d1dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f|Windows 7|x64|4|Admin|RFEZOWGZPBYYOI

Den innehåller pipe-avgränsade data som består av följande:

  • Bot-ID (SHA-256 hexadigest av olika systemparametrar, t.ex. GUID och namn på maskinvaruprofilen, datorns namn, volymens serienummer, och CPUID)
  • En SHA-256-hash av den egna körbara avbildningen
  • Windows-version
  • Arkitekturtyp
  • Antal processorer
  • Användarrättigheter
  • Datornamn

Ett exempel på ett beacon-svar för ett kommandobeteende visas i Figur 21:

Figur 21: Exempel på svar på kommandobakgrundsinformation

Det kan avkrypteras på samma sätt som begäransparametern ovan, med undantag för att de hex-kodade bytena är separerade med bindestreck. Ett exempel på ett svar i klartext visas i figur 22:

Figur 22: Klartextkommando beacon-svar

Den dekrypterade texten är ett JSON-objekt som innehåller olika alternativ för hur en nyttolast ska laddas ner och exekveras:

  • typ – det finns två typer:
    • uppdatera – uppdatera sig själv
    • nedladdning_och_utförande – hämta och utföra
  • optioner – anger alternativ för den nyttolast som ska hämtas:
    • Hash – gäller endast för typen ”update” för att avgöra om en ny uppdatering är tillgänglig
    • x64 – om nyttolasten är 64-bitars
    • FileType – används inte i de analyserade exemplen
    • AssemblyType – används inte i analyserade prover
    • AccessToken – används för att ladda ner nyttolasten (se nedan)
    • External – anger om nyttolasten laddas ner från C&C eller en extern URL
  • method – utförandemetod:
    • exelocal – skapa process
    • memload – injicera och manuellt ladda nyttolast
    • memloadex – injicera och manuellt ladda nyttolast
    • addllmem – injicera och manuellt ladda nyttolast
  • parametrar – parametrar som ska överföras på kommandoraden
  • pathToDrop – används inte i analyserade prover
  • autorun – anger om man ska ställa in Registry RunOnce persistens för nyttolasten
  • modules – se avsnittet Modules nedan
  • timeout – används inte i analyserade prover

Nyttolaster som laddas ner från C&C-servern sker via förfrågningar till ”download API”, vilket framgår av figur 23:

Figur 23: Nedladdning av nyttolast från C&C

Ett exempel på en begäransparameter i klartext visas nedan:

88a5e68a2047fa5ebdc095a8500d8fae565a6b225ce94956e194b4a0e8a515ae|58007044-67d4-4963-9f5f-400dfbc69e74

Den innehåller botens ID och ”AccessToken” från svaret på kommandobaken. Om nyttolasten hämtas från C&C krypteras den med RC4. I de analyserade exemplen var nyckeln ”CRYPTO_KEY”.

Moduler

Svaret från kommandobaketen innehåller en lista över ”moduler”. Proofpoints forskare har inte observerat att Buer-moduler används i naturen ännu, men baserat på koden kommer denna lista att innehålla modulen AccessTokens. Modulens filnamn efterfrågas genom att skicka en AccessToken till ”module API” i C&C. Modulen hämtas sedan med hjälp av ”downloadmodule API”. När den väl är nedladdad och dekrypterad laddas den med hjälp av metoden ”loaddllmem”.

Slutsats

En ny nedladdare, Buer, har nyligen dykt upp i en mängd olika kampanjer, via malvertising som leder till exploit kits; som sekundär nyttolast via Ostap; och som primär nyttolast som laddar ner skadlig kod som The Trick banking Trojan.

Den nya laddaren har robusta funktioner för geotargeting, systemprofilering och anti-analys och marknadsförs för närvarande på underjordiska forum med installationstjänster med mervärde. Den rysktalande författaren/författarna utvecklar aktivt nedladdaren med sofistikerade kontrollpaneler och en rik funktionsuppsättning, vilket gör skadlig kod konkurrenskraftig på underjordiska marknader.

Laddaren är skriven i C medan kontrollpanelen är skriven i .NET core, vilket tyder på optimering för prestanda och litet nedladdningsavtryck, samt förmågan att enkelt installera kontrollpanelen på Linux-servrar – inbyggt stöd för Docker-containrar kommer att ytterligare underlätta spridningen på hyrda värdar som används i illasinnade syften, och potentiellt även på komprometterade värdar. Den sistnämnda möjligheten finns med i de annonserade funktionerna och i versionsanvisningarna.

https://www.cert.pl/en/news/single/ostap-malware-analysis-backswap-dropper/

https://www.proofpoint.com/us/threat-insight/post/ostap-bender-400-ways-make-population-part-with-their-money

https://www.aldeid.com/wiki/X86-assembly/Instructions/sidt

https://www.aldeid.com/wiki/X86-assembly/Instructions/sldt

Indikatorer för kompromisser (IOCs)

IOC

IOC. Type

Description

fa699eab565f613df563ce47de5b82bde16d69c5d0c05ec9fc7f8d86ad7682ce

sha256

http[://45.76.247[.177:8080/api/update/

URL

Buer C&C callback

6c694df8bde06ffebb8a259bebbae8d123effd58c9dd86564f7f70307443ccd0

sha256

197163b6eb2114f3b565391f43b44fb8d61531a23758e35b11ef0dc44d349e90

sha256

https[://173.212.204[.171/api/update/

URL

Buer C&C callback

9e8db7a722cc2fa13101a306343039e8783df66f4d1ba83ed6e1fe13eebaec73

sha256

(Fallout Drop)

http[://134.0.119[.53:8080/api/update/

URL

Buer C&C callback

ab21d61b35a8d1dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f

sha256

(Ostap drop)

https[://garrisontx[.us/api/update/

URL

Buer C&C callback

https[://185.130.104[.187/nana/kum.php?pi=18b

URL

Ostap instans tappar Buer – 2019-10-21

753276c5887ba5cb81818360e797b94d1306069c6871b61f60ecc0d31c78c6d31e

sha256

Buer 2019-11-28

ffload01[.top|185.125.58[.11

ffload01[.top|185.186.141[.129

domän|IP

Buer C&C 2019-11-28

ET och ETPRO Suricata/Snort signaturer

2029077 || ET TROJAN Buer Loader Update Request

2029079 || ET TROJAN Buer Loader Response

2029078 || ET TROJAN Buer Loader begäran om nedladdning

2839684 || ET TROJAN Buer Loader framgångsrik nedladdning av nyttolast

2029080 || SSL/TLS certifikat observerat (Buer Loader)

Lämna en kommentar