VOID#GEIST kártevő
Kiberbiztonsági kutatók egy kifinomult, többlépcsős kártevőkampányt lepleztek le, amely kötegelt szkriptekre támaszkodik titkosított távoli hozzáférésű trójai (RAT) hasznos fájlok kézbesítéséhez. A VOID#GEIST néven azonosított kampány több RAT családot is telepít, köztük az XWorm, az AsyncRAT és a Xeno RAT vírusokat.
A támadási lánc egy obfuszkált kötegelt szkriptet használ, amely egy olyan műveletsorozatot indít el, amelynek célja az észlelés elkerülése. Ezek a műveletek magukban foglalják egy további kötegelt szkript elindítását, egy legitim beágyazott Python futtatókörnyezet beállítását és a titkosított shellkód-payloadok visszafejtését. A shellkód közvetlenül a memóriában fut, miután a Windows process explorer.exe különálló példányaiba injektálták az Early Bird Asynchronous Procedure Call (APC) injektálás néven ismert technikával.
Tartalomjegyzék
Szkriptvezérelt kártevő-szállítás: egy modern fenyegetési modell
A modern fenyegetések szereplői egyre inkább elhagyják a hagyományos, önálló, végrehajtható kártevőket a rétegzett, szkriptalapú kézbesítési keretrendszerek javára, amelyek utánozzák a legitim felhasználói viselkedést. A hagyományos hordozható végrehajtható (PE) binárisok telepítése helyett a támadók többkomponensű folyamatokat hoznak létre, amelyek számos legitim technológiát és szkriptelési környezetet kombinálnak.
Az ilyen kereteken belül használt tipikus komponensek a következők:
- A fertőzési sorozat összehangolásához használt kötegelt szkriptek.
- A rejtett hasznoscsomag-beállítást lehetővé tevő PowerShell-parancsok.
- Beágyazott, legitim futtatókörnyezetek, amelyek biztosítják a rendszerek közötti hordozhatóságot.
- A nyers shellkód közvetlenül a memóriában fut a perzisztencia és az irányítás fenntartása érdekében.
Ez a fájl nélküli végrehajtási megközelítés jelentősen csökkenti a lemezes észlelés esélyeit. Minden egyes szakasz viszonylag ártalmatlannak tűnik, ha külön vizsgálják, és gyakran hasonlít a rutinszerű adminisztratív tevékenységekhez, lehetővé téve a fenyegetések szereplői számára, hogy veszélyeztetett környezetekben működjenek anélkül, hogy azonnali biztonsági riasztásokat adnának ki.
Elsődleges hozzáférés adathalászat és Cloudflare infrastruktúra révén
A támadás belépési pontja egy rosszindulatú kötegelt szkripttel kezdődik, amelyet adathalász e-mailekben küldenek. A szkriptet egy TryCloudflare domainen üzemeltetett infrastruktúrából szerzik be. A végrehajtás után a szkript szándékosan elkerüli a jogosultság-eszkalációs kísérleteket, és ehelyett szigorúan a jelenleg bejelentkezett felhasználó jogosultsági határain belül működik.
Ez a stratégia lehetővé teszi a rosszindulatú program számára, hogy megvesse a lábát a kezdeti szakaszban, miközben beolvad a szokásos felhasználói szintű műveletekbe. Azáltal, hogy elkerüli a magasabb szintű jogosultságokat igénylő műveleteket, a támadás csökkenti a biztonsági figyelmeztetések vagy adminisztrátori kérdések megjelenésének valószínűségét.
Vizuális figyelemelterelés és lopakodó végrehajtási technikák
A végrehajtást követően a kártevő első szakasza egy csali dokumentumot indít el, hogy elterelje az áldozat figyelmét. A Google Chrome teljes képernyős módban nyílik meg, és egy PDF formátumú pénzügyi dokumentumot vagy számlát jelenít meg. Amíg a felhasználó a dokumentumra fókuszál, a rosszindulatú tevékenység a háttérben folytatódik.
Ezzel egyidejűleg egy PowerShell parancs végrehajtása is megtörténik az eredeti kötegelt szkript rejtett végrehajtási paraméterekkel történő újraindításához. A -WindowStyle Hidden paraméter használata megakadályozza a látható konzolablak megjelenését, biztosítva, hogy a rosszindulatú tevékenység rejtve maradjon a felhasználó elől.
Kitartás a felhasználói szintű indítási végrehajtáson keresztül
A rendszer újraindítása utáni állománymegőrzés érdekében a kártevő egy kiegészítő kötegelt szkriptet telepít a Windows felhasználó Startup könyvtárába. Ez a hely biztosítja, hogy a szkript automatikusan végrehajtódjon, valahányszor az áldozat bejelentkezik a rendszerbe.
Ez a megmaradási mechanizmus szándékosan finom. A tolakodóbb technikák, például a rendszerleíró kulcsok módosítása, ütemezett feladatok létrehozása vagy szolgáltatások telepítése helyett a rosszindulatú program kizárólag a szokásos felhasználói szintű indítási viselkedésre támaszkodik. Mivel a megközelítés teljes mértékben az aktuális felhasználó jogosultságainak kontextusában működik, elkerüli a jogosultság-eszkalációs promptok aktiválását, és csökkenti a rendszerleíró adatbázis-figyelő eszközök általi észlelés valószínűségét.
Hasznos adat visszakeresési és visszafejtési keretrendszer
A fertőzési lánc következő szakaszában a rosszindulatú program kapcsolatba lép egy TryCloudflare domainnel, hogy további, ZIP archívumokba csomagolt hasznos komponenseket kérjen le. Ezek az archívumok tartalmazzák a végső rosszindulatú hasznos komponensek visszafejtéséhez és végrehajtásához szükséges modulokat.
A letöltött archívum általában a következő összetevőket tartalmazza:
- runn.py – egy Python alapú betöltő, amely a titkosított shellkód modulok visszafejtéséért és a memóriába való befecskendezéséért felelős
- new.bin – titkosított shellkód hasznos adat, amely az XWorm-hoz van társítva
- xn.bin – titkosított shellkód hasznos terhelés, amely megfelel a Xeno RAT-nek
- pul.bin – titkosított shellkód hasznos adat, amely megfelel az AsyncRAT-nak
- a.json, n.json és p.json – kulcsfájlok, amelyeket a Python betöltője használ a shellkód hasznos adatainak dinamikus visszafejtéséhez futásidőben
Ez a moduláris felépítés lehetővé teszi a támadók számára, hogy különböző hasznos adatokat egymástól függetlenül állítsanak elő, és csak szükség esetén aktiválják azokat.
Beágyazott Python futtatókörnyezet a hordozhatóság és a lopakodás érdekében
Az archívum kibontása után a rosszindulatú program egy legitim, beágyazott Python futtatókörnyezetet telepít, amelyet közvetlenül a python.org oldalról szereztek be. Egy legitim interpreter beágyazása kiküszöböli a feltört rendszeren már meglévő Python telepítésekre való támaszkodást.
A támadó szempontjából ez a lépés számos stratégiai előnnyel jár. A rosszindulatú program önálló végrehajtási környezetté válik, amely képes visszafejteni és befecskendezni a hasznos adatokat külső függőségek nélkül. Ez javítja a hordozhatóságot a különböző rendszerek között, növeli a megbízhatóságot, és hozzájárul a működési lopakodáshoz a legitim szoftverkomponensek használatával.
Több RAT hasznos adat memórián belüli végrehajtása
A beágyazott Python futtatókörnyezet ezután a runn.py betöltő szkript végrehajtására szolgál. A betöltő dekódolja az XWorm-hoz társított shellkódot, és Early Bird APC injektálással beilleszti azt az explorer.exe futó példányába.
A Xeno RAT telepítéséhez a rosszindulatú program egy legitim Microsoft bináris fájlt, az AppInstallerPythonRedirector.exe-t használja, amely a Python meghívására és a szükséges komponensek végrehajtására szolgál. Ugyanezt a befecskendezési technikát alkalmazzák később az AsyncRAT telepítéséhez is, biztosítva, hogy minden hasznos adat teljes egészében a memóriában fusson le anélkül, hogy a hagyományos végrehajtható fájlok a lemezen maradnának.
Parancsnoki és irányító jelzőfény és moduláris architektúra
A támadás utolsó szakaszában egy minimális HTTP-jelzőt küldenek a támadó által ellenőrzött, a TryCloudflare-en üzemeltetett Command-and-Control (C2) infrastruktúrának. Ez a jelző megerősíti, hogy a rendszert sikeresen feltörték, és készen áll a további utasítások fogadására.
Bár a kampány konkrét célpontjai továbbra sem ismertek, a fertőzési lánc egy rendkívül moduláris architektúrát mutat. A támadók egyetlen nagy kártevő-csomag telepítése helyett fokozatosan, több szakaszban vezetik be az összetevőket. Ez a kialakítás javítja a működési rugalmasságot és ellenálló képességet.
Észlelési szempontból egy figyelemre méltó viselkedési jelző rajzolódik ki a kampány során: az explorer.exe fájlba rövid időközönként ismételt folyamatbefecskendezés. Ez a minta erős jelzésként szolgálhat a védők számára, akik megpróbálják összefüggésbe hozni a gyanús tevékenységeket a támadási életciklus különböző szakaszaiban.