Buer, egy új töltőprogram jelent meg az illegális piacon

Áttekintés

A Proofpoint kutatói már évek óta nyomon követik az első lépcsőben letöltő programok használatát, amelyeket a fenyegetések szereplői arra használnak, hogy rosszindulatú e-mail kampányaik során és után más rosszindulatú szoftvereket telepítsenek. Különösen az elmúlt két évben ezek a letöltők egyre robusztusabbá váltak, és fejlett profilalkotási és célzási képességeket biztosítanak.

Ami még fontosabb, hogy a letöltők és más rosszindulatú programok, például botnetek és banki trójaiak kiszorították a zsarolóprogramokat mint elsődleges hasznos terheket, így a fenyegetők rugalmasan alkalmazhatnak különféle rosszindulatú programokat másodlagos fertőzésekben. Például az egyik legelterjedtebbet, a Smoke Loader-t széles körben használták olyan hasznos terhelések ledobására, mint az Ursnif és a The Trick banki trójaiak, valamint saját moduljait használták hitelesítő és egyéb információk és adatok ellopására, egyéb rosszindulatú funkciók mellett.

2019 augusztusának vége óta a Proofpoint kutatói nyomon követik a Buer nevű új moduláris betöltő fejlesztését és értékesítését a szerzők által. A Buer olyan funkciókkal rendelkezik, amelyek erősen versenyképesek a Smoke Loaderrel, aktívan árulják a prominens illegális piactereken, és olyan felhasználási szereplőknek szánják, akik kulcsrakész, kész megoldást keresnek.

Kampányok

2019. augusztus 28.

Augusztus 28-án a Proofpoint kutatói olyan rosszindulatú e-mail üzeneteket figyeltek meg, amelyek látszólag korábbi legitim e-mail beszélgetésekre válaszolnak. Ezek Microsoft Word csatolmányokat tartalmaztak, amelyek Microsoft Office makrókat használnak a következő fázisú hasznos teher letöltéséhez.

1. ábra: Példa a 2019. augusztus 28-i kampányban használt Microsoft Word csatolmányra

A következő fázisú hasznos teher letöltését a következő URL-ekről figyeltük meg:

hxxp://jf8df87sdfd.yesteryearrestorationsnet/gate.php

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

A ledobott payload neve verinstere222.xls vagy verinstere33.exe volt (a szereplő által ebben az időszakban használt elnevezési konvenció). Az Ursnif gyakran ezzel a szereplővel kapcsolatba hozott Dreambot változata helyett a hasznos teher egy korábban nem dokumentált, vadon nem észlelt töltő volt.

A következő hetekben, szeptember és október folyamán a Proofpoint kutatói és az infosec közösség más tagjai több kampányt is megfigyeltek ugyanattól a szereplőtől, amely vagy az Ursnif Dreambot változatát, vagy ezt az új töltőt dobta le.

2019. október 10.

Október 10-én a Proofpoint kutatói megfigyeltek egy malvertising kampányt Ausztráliában, amely a Fallout Exploit Kitre (EK) irányított át, és az új betöltőt dobta le.

2. ábra: HTTP hálózati forgalom nyomvonala a sebezhető böngészőket kihasználó Fallout EK-val

A betöltő ezután több második lépcsős malware hasznos terhet dobott le, köztük a KPOT stealer, az Amadey és a Smoke Loader-t.

2019. október 21.

Július eleje óta a Proofpoint kutatói körülbelül 100 olyan kampányt figyeltek meg, amelyben az Ostap szinte kizárólag a The Trick több példányát töltötte be. 21-én azonban a Proofpoint kutatói olyan rosszindulatú e-mail üzeneteket figyeltek meg, amelyeknek a tárgya például “Penalty Notice # PKJWVBP” volt, és Microsoft Word csatolmányokat tartalmaztak. A dokumentumok olyan makrókat tartalmaztak, amelyek engedélyezése esetén végrehajtották az Ostapot. Megfigyeltük, hogy az Ostap letölti ezt a betöltőt a

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

honnan, amely viszont betöltötte a The Trick “ono22”-t a C&C: garrisontxus

3. ábra: A rosszindulatú dokumentumokban lévő makró engedélyezése után megfigyelt hálózati forgalom.

4. ábra: Az október 21-i kampányban használt példa Microsoft Word csatolmány

Piac & Jellemzőelemzés

Miatt kezdtük megfigyelni, hogy ezt az új betöltőt több, különböző kampányban is használják, arra számítottunk, hogy egy illegális piacon több szereplőnek értékesítik. Ráadásul felfedeztünk egy augusztus 16-i hirdetést egy underground fórumon, amely egy “Buer” nevű betöltőprogramot ír le, amely megegyezik a fenti kampányokban megfigyelt rosszindulatú szoftver funkcionalitásával.

A következő hetekben hozzáadott és hirdetett funkciók pontosan megegyeznek az említett kampányokban talált betöltőprogram fejlődésével.

A szerző orosz nyelvű hirdetőtábla-bejegyzésének szövegét találtuk meg, amelyben 400 dollárt kért a rosszindulatú szoftverért, és felajánlotta a szolgáltatásait, hogy beállítja a szoftvert a leendő vásárlók számára, hogy az működőképes legyen. A szerző azt is megjegyzi, hogy a frissítések és a hibajavítások ingyenesek, de az “új címekre történő újraépítésért 25 dollár felárat kell fizetni.”

A következő szöveg, amelyet a Proofpoint szintén az illegális piactérről szedett ki, és amelyet feltehetően a rosszindulatú szoftver szerzője írt, az eredeti orosz nyelvű leírás szerint összefoglalja a betöltő működését:

5. ábra. Szöveg a Buer Loader bot működését leíró underground fórumbejegyzésből

Hasonlóan a hirdetés is felsorolja a vezérlőpanel funkcióit. A szerző megjegyzi, hogy a moduláris bot teljes egészében C nyelven íródott, és .NET Core nyelven írt vezérlőpanelt használ, hangsúlyozva a programozási nyelv megválasztásának köszönhető nagyobb teljesítményt mind a kliens, mind a szerver esetében.

  • A leírás szerint a bot teljes hasznos terhelése 55-60 kilobájt, natív Windows futtatható programként és dinamikus linkkönyvtárként működik, teljes egészében rezidens memóriában fut, és kompatibilis a 32 és 64 bites Microsoft Windows operációs rendszerekkel.
  • A bot HTTPS-kapcsolaton keresztül kommunikál, és a vezérlőpultról távolról frissíthető a dekódolás, valamint az újraépítés után.
  • A szerző azt is megjegyzi, hogy a betöltő egy megbízható alkalmazás helyettesítő folyamataként fut, és felhasználói szintű jogosultságokkal működik.
  • A szoftver legfőképpen a FÁK-ban (volt szovjet államok, például Oroszország) nem fut.

A hirdetés a szerver és a vezérlőpanel következő jellemzőit írja le:

  • A vezérlőpanelt úgy hirdetik, hogy .NET Core nyelven is íródott, megjegyezve a könnyű telepítést Ubuntu / Debian Linux szerver rendszerekre.
  • A szerver statisztikák széles skáláját nyújtja, beleértve az online, élő, halott és összes bot számlálóját; a botok listájának valós idejű frissítését; egy fájlletöltési számlálót; és a rendszerek szűrésének lehetőségét az operációs rendszer típusa, a telepített botok hozzáférési jogai és a logikai CPU magok száma szerint.
  • A fertőzött rendszerekről letöltött fájlokat titkosított formában tárolja a szerver, a hozzáférést egy token biztosítja.
  • A legfontosabb, hogy a szerző – akárcsak maguk a botok – megjegyzi, hogy a szerver nem dolgozza fel a FÁK-tagországokból érkező API-kéréseket.

A fórumbejegyzés a Buer loader és a vezérlőpanel technikai kiadási megjegyzéseit is tartalmazza (1.1.2 verzió). A bevezetőben a szerző megjegyezte, hogy a betöltő elindítása mostantól három lépésből áll — ha az első két lépés sikertelen a fertőzött rendszeren, és a helyettesítő folyamatba való befecskendezés sikertelen (például magával a kriptával való inkompatibilitás miatt), a betöltő helyette a saját folyamatában fog végrehajtódni.

A kiadási megjegyzések a következőket említik a betöltővel kapcsolatban:

  • A betöltő FastFlux architektúrát használ.
  • A betöltő a Microsoft Windowson belül egy megbízható folyamat alól működik. A MemLoadEx folyamat mostantól támogatja az x64 exe-t, mint megbízható alkalmazást.
  • A MemLoad frissült, és mostantól támogatja a natív x32 exe-t.

A kiadási megjegyzések a következő funkciókat említik a vezérlőpanelhez:

  • Az API elérés HTTPS használatával történik, saját aláírású tanúsítványok támogatásával.
  • A feladatok szerkesztésének támogatása a panelben. A felhasználó leállíthatja a feladatot végrehajtás közben, és megváltoztathatja a hasznos terhelést és a végrehajtások számát.
  • Feladat létrehozásának lehetősége bot azonosító alapján. Nagyon alkalmas pontszerű terheléshez.
  • Lépésről-lépésre ablak a feladatok létrehozásához.
  • Elérhetőségi értesítés, amely lehetővé teszi, hogy értesüljön a szükséges online botokról.
  • A bot azonosító egyediségét megnövelték.
  • A panel kiegészült címkékkel, amelyek lehetővé teszik a botok rendezését a velük végzett későbbi műveletekhez.
  • A számítógép nevének megjelenítése a táblázatban.
  • Javult a kriptokompatibilitás.
  • Bot-előzmények hozzáadása.
  • “The panel now expand to Docker” (Docker konténer támogatás).
    • Proofpoint Researcher Note: Feltételezzük, hogy ez a funkció a bérelt Docker hostokba való könnyű integrálhatóságot szolgálja, egyszerűsítve a telepítést, bár potenciálisan a panel/C&C telepíthető egy kompromittált Docker hostra is.
  • Hitelesítés a panelen lévő fájlon. Mostantól a panel nem hagyja ki azt a fájlt, amelyet a betöltő nem tud letölteni, és erről értesíti az ügyfelet.
  • A feladatok mostantól megismételhetők.

Végezetül a szerző az 1.1.9-es verzióhoz a következő technikai változásokat ismertette. Ezek azért figyelemre méltóak, mert azt mutatják, hogy a kártevő aktív, professzionális fejlesztés alatt áll.

  • A betöltő új módszert kapott a helyi fájlok External indítására. A módszer előnyei az egyediség és a CreateProcess / ShellExecute hiánya a betöltőn keresztül. Az indítás egy megbízható folyamatot hoz létre anélkül, hogy parancsokat adna neki.
  • A panel képes megjelölni az összes botot, amely egy adott feladatot végrehajtott. Ez lehetővé teszi a felhasználó számára, hogy a hasznos terhet szétossza a botok bizonyos csoportjai között.
  • Implementált integrációs API. Elérhető dokumentáció hozzá.
  • Hozzáadva a proxy módban egy fájl hivatkozással történő elküldésének lehetőségét. A fájl titkosított formában kerül továbbításra a botnak.
  • A botok országonkénti számlálásának hibája kijavításra került, és egyéb fejlesztésekkel egészült ki.

Vezérlőpult képernyőképek

A következő vezérlőpult képernyőképek kerültek az underground reklámba, bemutatva néhányat az ügyfelek számára elérhető back end képességek közül, beleértve a telemetria monitorozást, host szűrést és egyebeket.

6. ábra: A Buer Loader C&C

7. ábra: A Buer vezérlőpanel bot telemetriafigyelő képernyője.

8. ábra: A Buer vezérlőpanel sötét üzemmódú bot-telemetriafigyelő képernyője.

9. ábra: A Microsoft Windows architektúra szerint szűrt távoli botokat ábrázoló vezérlőpanel szűrőnézet.

10. ábra: A betöltési feladatok fájlkezelését ábrázoló vezérlőpanel nézet

11. ábra: A távoli botok felhasználói jogok szerint rendezett vezérlőpanel nézete.

12. ábra: Vezérlőpanel nézet, feladat állapota

13. ábra: Vezérlőpanel nézet, feladat létrehozása

Kártékony programok elemzése

A Bürger Loader egy új letöltő kártevő, amely további hasznos terheléseket tölt le és hajt végre.

Anti-elemzési funkciók

A betöltő tartalmaz néhány alapvető antielemzési funkciót:

  • Hibakeresők ellenőrzése a Process Environment Block (PEB) és a Thread Environment Block (TEB)
  • Virtuális gépek ellenőrzése a Red Pill , No Pill és kapcsolódó mechanizmusok segítségével
  • Lokális ellenőrzés, hogy megbizonyosodjon arról, hogy a kártevő nem fut bizonyos országokban (14. ábra)

14. ábra: A rosszindulatú szoftver ellenőrzése annak biztosítására, hogy nem fut bizonyos országokban

Persistence

A perzisztencia beállítása egy Registry RunOnce bejegyzés konfigurálásával történik. A verziótól függően a registry-bejegyzés közvetlenül végrehajtja a rosszindulatú programot, vagy ütemez egy feladatot a végrehajtására.

Titkosított karakterláncok

Ez a minta tartalmaz egy funkciót a karakterláncok titkosítására.

15. ábra: A karakterláncok dekódolási sorrendje

A következő függvény a Ghidra kódolt karakterláncok dekódolására mutat példát Jython segítségével:

16. ábra: A karakterláncok dekódolási sorrendje (Python verzió)

17. ábra: Példa a karakterláncok dekódolására

Windows API-hívások

Ez a minta egy hashing algoritmust használ a Windows API-hívások többségének megoldására. A hashing algoritmus biztosítja, hogy az API név minden karaktere nagybetű legyen. Ezután minden karaktert 13-mal jobbra forgat (ROR), és összeadja őket.

18. ábra: Hashing algoritmus a Windows API-hívások feloldásához

A következő függvény egy példa arra, hogy a Python segítségével hogyan lehet feloldani az API-hívásokat.

19. ábra: A Windows API-hívások hasheléses feloldásának segítésére használt Python-szkript példája

A következő táblázat néhány kiválasztott használt hashelés és a hozzájuk tartozó Windows API-név listáját tartalmazza:

.

CreateMutexW

0xed619452

OpenMutexW

0x7bffe25e

CreateProcessW

0xb4f0f46f

WinHttpOpen

0xaf7f658e

WinHttpCrackUrl

0x8ef04f02

WinHttpConnect

0x9f47a05e

WinHttpOpenRequest

0x1dd1d38d

Táblázat 1:

A Windows API hívások a kiválasztott hashekkel

Parancs és vezérlés

A parancs és vezérlés (C&C) funkciókat HTTP(S) GET kéréseken keresztül kezelik. Egy példaparancsjelző úgy néz ki, mint a 20. ábra:

20. ábra: Példaparancsjelző

Ezek a kérések a “frissítési API”-hoz mennek, és egy titkosított paramétert tartalmaznak. Ez a paraméter dekódolható:

  1. Base64 dekódolás
  2. Hex dekódolás
  3. RC4 dekódolással (az elemzett mintákban használt kulcs a “CRYPTO_KEY” volt)

Egy példa a tisztaszövegű paraméterre:

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

Ez tartalmaz pipe-csővel elválasztott adatokat tartalmaz, amelyek a következőkből állnak:

  • Bot ID (különböző rendszerparaméterek, például a hardverprofil GUID-je és neve, a számítógép neve, a kötet sorozatszáma, SHA-256 hexa digest, és CPUID)
  • A saját futtatható képének SHA-256-os kivonatolása
  • Windows verzió
  • Architektúra típusa
  • Processzorok száma
  • Felhasználói jogosultságok
  • Számítógép neve

A 21. ábrán egy példa a parancsjelző válaszára:

21. ábra: Példa parancsjelző válasz

A fenti kérési paraméterhez hasonlóan dekódolható, azzal a különbséggel, hogy a hex-kódolt bájtok kötőjellel vannak elválasztva. A 22. ábrán egy példa egyszerű szöveges válasz látható:

22. ábra: Egyszerű szöveges parancsjelző válasz

A dekódolt szöveg egy JSON objektum, amely különböző opciókat tartalmaz a hasznos teher letöltésére és végrehajtására vonatkozóan:

  • type – két típus van:
    • update – update self
    • download_and_exec – letöltés és végrehajtás
  • options – meghatározza a letölteni kívánt payload opcióit:
    • Hash – csak az “update” típusra alkalmazható annak megállapítására, hogy elérhető-e egy új frissítés
    • x64 – 64 bites-e a hasznos teher
    • FileType – az elemzett mintákban nem használták
    • AssemblyType -. nem használták az elemzett mintákban
    • AccessToken – a hasznos teher letöltéséhez használt (lásd alább)
    • External – jelzi, hogy a hasznos teher a C&C-ről vagy egy külső URL-ről kerül letöltésre
  • method – a végrehajtás módja:
    • exelocal – folyamat létrehozása
    • memload – payload befecskendezése és kézi betöltése
    • memloadex – payload befecskendezése és kézi betöltése
    • loaddllmem – payload befecskendezése és kézi betöltése
  • parameters – a parancssorban átadandó paraméterek
  • pathToDrop -. az elemzett mintákban nem használták
  • autorun – azt jelzi, hogy a hasznos teher számára be kell-e állítani a Registry RunOnce perzisztenciát
  • modules – lásd a Modulok részt alább
  • timeout – az elemzett mintákban nem használták

A C&C szerverről letöltött hasznos teher a 23. ábrán látható “download API”-hoz intézett kérésekkel történik:

23. ábra: A C&C

C&C

Egy példa a plaintext kérés paraméterére az alábbiakban látható:

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

Ez tartalmazza a bot azonosítóját és az “AccessToken”-t a command beacon válaszból. Ha a payload a C&C-ről kerül letöltésre, akkor RC4-gyel van titkosítva. Az elemzett mintákban a kulcs “CRYPTO_KEY” volt.

Modules

A command beacon válasz egy “modules” listát tartalmaz. A Proofpoint kutatói még nem figyelték meg a Buer modulok használatát a vadonban, de a kód alapján ez a lista AccessTokens modulokat tartalmaz. A modul fájlnevét a C&C “modul API”-nak küldött AccessToken elküldésével kérdezzük le. A modul ezután a “downloadmodule API” segítségével letöltésre kerül. A letöltés és a visszafejtés után a “loaddllmem” módszerrel töltődik be.

Következtetés

A Buer nevű új letöltőprogram az utóbbi időben többféle kampányban is megjelent: exploit kitekhez vezető malvertisingon keresztül; másodlagos hasznos teherként az Ostap-on keresztül; és elsődleges hasznos teherként olyan rosszindulatú szoftverek letöltésével, mint a The Trick banki trójai.

Az új betöltő robusztus geotargeting, rendszerprofilkészítő és anti-elemző funkciókkal rendelkezik, és jelenleg az underground fórumokon értéknövelt telepítési szolgáltatásokkal kerül értékesítésre. Az oroszul beszélő szerző(k) aktívan fejlesztik a letöltőt kifinomult vezérlőpanelekkel és gazdag funkciókészlettel, ami versenyképessé teszi a kártevőt az underground piacokon.

A letöltő C nyelven íródott, míg a vezérlőpanel .NET core nyelven, ami a teljesítmény és a kis letöltési lábnyom optimalizálására utal, valamint arra, hogy a vezérlőpanel könnyen telepíthető Linux szerverekre — a Docker konténerek beépített támogatása tovább könnyíti a rosszindulatú célokra használt bérelt és potenciálisan kompromittált hosztokon való terjedését. Ez utóbbi képesség szerepel a meghirdetett funkciókban és a kiadási megjegyzésekben.

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

Indicators of Compromise (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 instance dropping Buer – 2019-10-21

753276c5887ba5cb818360e797b94d1306069c6871b61f60ecc0d31c78c6d31e

sha256

Buer 2019-.11-28

ffload01[.top|185.125.58[.11

ffload01[.top|185.186.141[.129

domain|IP

Buer C&C 2019-11-28

ET és ETPRO Suricata/Snort aláírások

2029077 || ET TROJAN Buer Loader Update Request

2029079 || ET TROJAN Buer Loader Response

2029078 || ET TROJAN Buer Loader letöltési kérés

2839684 || ET TROJAN Buer Loader Sikeres hasznos teher letöltés

2029080 || SSL/TLS tanúsítvány megfigyelés (Buer Loader)

Szólj hozzá!