VOID#GEIST-haittaohjelma
Kyberturvallisuustutkijat ovat paljastaneet hienostuneen, monivaiheisen haittaohjelmakampanjan, joka käyttää eräajokomentosarjoja salattujen etäkäyttötroijalaisten (RAT) hyötykuvien toimittamiseen. VOID#GEIST-niminen kampanja käyttää useita RAT-perheitä, mukaan lukien XWorm, AsyncRAT ja Xeno RAT.
Hyökkäysketju hyödyntää hämärrettyä eräajokomentosarjaa, joka käynnistää sarjan toimintoja, joiden tarkoituksena on välttää havaitseminen. Näihin toimintoihin kuuluvat ylimääräisen eräajokomentosarjan käynnistäminen, laillisen upotetun Python-suoritusympäristön valmistelu ja salattujen shell-koodihyötykuormien salauksen purkaminen. Shell-koodi suoritetaan suoraan muistissa sen jälkeen, kun se on injektoitu Windows-prosessin explorer.exe erillisiin instansseihin käyttämällä tekniikkaa, joka tunnetaan nimellä Early Bird Asynchronous Procedure Call (APC) -injektio.
Sisällysluettelo
Skriptiohjattu haittaohjelmien toimitus: moderni uhkamalli
Nykyaikaiset uhkatoimijat hylkäävät yhä enemmän perinteisiä erillisiä suoritettavia haittaohjelmia ja käyttävät sen sijaan kerrostettuja, skriptipohjaisia toimitusjärjestelmiä, jotka matkivat laillista käyttäjän toimintaa. Perinteisten kannettavien suoritettavien (PE) binäärien sijaan hyökkääjät luovat monikomponenttisia prosesseja, jotka yhdistävät useita laillisia teknologioita ja skriptiympäristöjä.
Näissä kehyksissä käytettyjä tyypillisiä komponentteja ovat:
- Eräskriptit, joita käytetään tartuntasekvenssin orkestrointiin.
- PowerShell-komennot, jotka helpottavat huomaamatonta hyötykuormien valmistelua.
- Upotetut lailliset ajonaikaiset ympäristöt, jotka varmistavat siirrettävyyden järjestelmien välillä.
- Raaka shell-koodi suoritetaan suoraan muistissa pysyvyyden ja hallinnan ylläpitämiseksi.
Tämä tiedostoton suoritustapa vähentää merkittävästi levypohjaisen havaitsemisen mahdollisuuksia. Jokainen yksittäinen vaihe vaikuttaa suhteellisen vaarattomalta, kun sitä tarkastellaan itsenäisesti, ja se muistuttaa usein rutiininomaista hallinnollista toimintaa, minkä ansiosta uhkatoimijat voivat toimia vaarantuneissa ympäristöissä aiheuttamatta välittömiä tietoturvahälytyksiä.
Alkuperäinen käyttöoikeus tietojenkalastelu- ja Cloudflare-infrastruktuurin kautta
Hyökkäyksen alkupisteenä on haitallinen eräajokomentosarja, joka toimitetaan tietojenkalasteluviestien kautta. Skripti noudetaan TryCloudflare-verkkotunnuksella sijaitsevasta infrastruktuurista. Suoritettuaan skripti välttää tarkoituksella oikeuksien eskalointiyrityksiä ja toimii sen sijaan tiukasti sisäänkirjautuneen käyttäjän käyttöoikeusrajojen puitteissa.
Tämä strategia antaa haittaohjelman vakiinnuttaa jalansijansa samalla sulautuen rutiininomaisiin käyttäjätason toimintoihin. Välttämällä toimintoja, jotka vaativat laajennettuja käyttöoikeuksia, hyökkäys vähentää tietoturvavaroitusten tai järjestelmänvalvojan kehotteiden laukaisun todennäköisyyttä.
Visuaalinen häiriötekijä ja hiiviskelytekniikat
Suorittamisen jälkeen haittaohjelman ensimmäinen vaihe laukaisee houkutusdokumentin uhrin huomion häiritsemiseksi. Google Chrome avautuu koko näytön tilassa ja näyttää PDF-muodossa esitetyn talousdokumentin tai laskun. Käyttäjän keskittyessä dokumenttiin haitallinen toiminta jatkuu taustalla.
Samanaikaisesti suoritetaan PowerShell-komento, joka käynnistää uudelleen alkuperäisen eräajokomentosarjan piilotetuilla suoritusparametreilla. -WindowStyle Hidden -parametrin käyttö estää näkyvän konsoli-ikkunan avautumisen, mikä varmistaa, että haitallinen toiminta pysyy piilossa käyttäjältä.
Pysyvyys käyttäjätason käynnistysprosessin kautta
Jotta järjestelmän uudelleenkäynnistyksen jälkeen haittaohjelma säilyttäisi skriptin, se asentaa Windowsin käyttäjän käynnistyshakemistoon ylimääräisen komentosarjan. Tämä sijainti varmistaa, että komentosarja suoritetaan automaattisesti aina, kun uhri kirjautuu järjestelmään.
Tämä pysyvyysmekanismi on tarkoituksella hienovarainen. Sen sijaan, että haittaohjelma käyttäisi tunkeilevampia tekniikoita, kuten järjestelmän rekisteriavainten muokkaamista, ajoitettujen tehtävien luomista tai palveluiden asentamista, se luottaa yksinomaan käyttäjän tavanomaiseen käynnistystoimintaan. Koska lähestymistapa toimii kokonaan nykyisen käyttäjän oikeuksien kontekstissa, se välttää oikeuksien eskalointikehotteiden laukaisun ja vähentää rekisterinvalvontatyökalujen havaitsemisen todennäköisyyttä.
Hyötykuorman haku- ja salauksen purkukehys
Tartuntaketjun seuraavassa vaiheessa haittaohjelma ottaa yhteyttä TryCloudflare-verkkotunnukseen hakeakseen ZIP-arkistoon pakattuja lisähyötykuormakomponentteja. Nämä arkistot sisältävät lopullisten haittaohjelmahyötykuormakomponenttien salauksen purkamiseen ja suorittamiseen tarvittavat moduulit.
Ladattu arkisto sisältää tyypillisesti seuraavat osat:
- runn.py – Python-pohjainen lataaja, joka vastaa salattujen shellcode-moduulien salauksen purkamisesta ja syöttämisestä muistiin
- new.bin – salattu shellcode-hyötykuorma, joka liittyy XWormiin
- xn.bin – salattu shellcode-hyötykuorma, joka vastaa Xeno RAT:ia
- pul.bin – salattu shellcode-hyötykuorma, joka vastaa AsyncRATia
- a.json, n.json ja p.json – avaintiedostot, joita Python-lataaja käyttää shellcode-hyötykuormien dynaamiseen salauksen purkamiseen suorituksen aikana
Tämä modulaarinen rakenne mahdollistaa hyökkääjien eri hyötykuormien itsenäisen valmistelun ja niiden aktivoimisen vain tarvittaessa.
Upotettu Python-ajonaika siirrettävyyttä ja huomaamattomuutta varten
Kun arkisto on purettu, haittaohjelma ottaa käyttöön laillisen, upotetun Python-ajonaikaisen ympäristön, joka on ladattu suoraan python.org-sivustolta. Laillisen tulkin upottaminen poistaa tarpeen luottaa mihin tahansa Python-asennukseen, joka saattaa olla jo olemassa vaarantuneessa järjestelmässä.
Hyökkääjän näkökulmasta tämä vaihe tarjoaa useita strategisia etuja. Haittaohjelmasta tulee itsenäinen suoritusympäristö, joka pystyy purkamaan salauksen ja syöttämään hyötykuormia ilman ulkoisia riippuvuuksia. Tämä parantaa siirrettävyyttä eri järjestelmien välillä, lisää luotettavuutta ja edistää toiminnallista varkautta käyttämällä laillisia ohjelmistokomponentteja.
Useiden RAT-hyötykuormien suorittaminen muistissa
Upotettua Python-ajonaikaista ympäristöä käytetään sitten runn.py-latausskriptin suorittamiseen. Lataaja purkaa XWormiin liittyvän komentotulkkikoodin salauksen ja lisää sen käynnissä olevaan explorer.exe-instanssiin käyttämällä Early Bird APC -injektiota.
Xeno RATin käyttöönottoon haittaohjelma hyödyntää laillista Microsoftin binääritiedostoa nimeltä AppInstallerPythonRedirector.exe, jota käytetään Pythonin käynnistämiseen ja tarvittavien komponenttien suorittamiseen. Samaa injektiotekniikkaa käytetään myöhemmin uudelleen AsyncRATin käyttöönottoon, mikä varmistaa, että kaikki hyötykuormat suoritetaan kokonaan muistissa jättämättä perinteisiä suoritettavia artefakteja levylle.
Komento- ja ohjaussignaalit ja modulaarinen arkkitehtuuri
Hyökkäyksen viimeisessä vaiheessa hyökkääjän hallitsemaan TryCloudflaressa isännöityyn komento- ja hallintainfrastruktuuriin (C2) lähetetään lyhyt HTTP-jäljite. Tämä jäljite vahvistaa, että järjestelmään on murtauduttu onnistuneesti ja että se on valmis vastaanottamaan lisäohjeita.
Vaikka kampanjan tarkat kohteet ovat edelleen tuntemattomia, tartuntaketju on arkkitehtuuriltaan erittäin modulaarinen. Yhden suuren haittaohjelmahyökkäyksen sijaan hyökkääjät ottavat komponentteja käyttöön asteittain useissa vaiheissa. Tämä rakenne parantaa toiminnan joustavuutta ja sietokykyä.
Havaitsemisen näkökulmasta kampanjan aikana nousee esiin yksi merkittävä käyttäytymisindikaattori: toistuva prosessien injektointi explorer.exe-tiedostoon lyhyin aikavälein. Tämä kaava voi toimia vahvana signaalina puolustajille, jotka yrittävät korreloida epäilyttävää toimintaa hyökkäyksen elinkaaren eri vaiheissa.