Rejtélyes malware család évekig bujkált a Google Play-ben – felfedezték a kiberbiztonsági szakértők!


A Mandrake kémprogram visszatért a Google Play-re

Egy titokzatos Android malware család, amely korábban hatékonyan rejtette el kémtevékenységeit, újra felbukkant a Google Play-en több mint két évnyi rejtőzködés után.

A fájlmegosztó, csillagászati és kriptovaluta alkalmazásoknak álcázott appok a Mandrake nevű, rendkívül tolakodó malware-t hordozzák, amelyet a Bitdefender biztonsági cég már 2020-ban azonosított. A Bitdefender szerint az appok két hullámban jelentek meg: 2016-tól 2017-ig, majd 2018-tól 2020-ig. A Mandrake akkoriban azért maradhatott észrevétlen, mert szokatlanul szigorú lépéseket tett a radar alatt való repülés érdekében. Ezek közé tartoztak:

  • Nem működött 90 országban, beleértve a volt Szovjetunió országait
  • A végső payloadot csak rendkívül szűk célcsoportoknak juttatta el
  • Tartalmazott egy “seppuku” nevű kill switch-et, amely minden nyomot eltüntetett a malware-ről
  • Teljesen működőképes álappok voltak különböző kategóriákban, például pénzügy, autók és járművek, videólejátszók és szerkesztők, művészet és dizájn, valamint produktivitás
  • Gyors javításokat kínált az észrevételekben jelentett hibákra
  • TLS tanúsítvány pinning a kommunikáció elrejtésére a parancs- és vezérlőszerverekkel

Láthatatlanul a háttérben

A Bitdefender becslése szerint az áldozatok száma tízezres nagyságrendű volt a 2018-tól 2020-ig tartó hullámban, és “valószínűleg több százezer az egész négyéves periódus alatt”.

A Bitdefender 2020-as jelentése után a Mandrake-val fertőzött appok eltűntek a Play-ről. Most a Kaspersky biztonsági cég jelentette, hogy az appok 2022-ben újra megjelentek, és mostanáig észrevétlenek maradtak. Az új álappok mellett a Mandrake operátorai több intézkedést is bevezettek, hogy jobban elrejtsék rosszindulatú viselkedésüket, elkerüljék a kutatók által használt “homokozókat”, és megkerüljék az elmúlt években bevezetett malware-védelmi mechanizmusokat.

“A Mandrake spyware dinamikusan fejlődik, javítva elrejtési módszereit, homokozó elkerülését, és az új védekezési mechanizmusok megkerülését” – írták a Kaspersky kutatói, Tatyana Shishkova és Igor Golovin. “Miután az első kampány alkalmazásai négy évig észrevétlenek maradtak, az aktuális kampány két évig rejtőzködött, miközben továbbra is letölthetők voltak a Google Play-ről. Ez kiemeli a támadók figyelemreméltó képességeit, és azt is, hogy a szigorúbb ellenőrzések az alkalmazások piacra kerülése előtt csak még kifinomultabb, nehezebben észlelhető fenyegetéseket eredményeznek, amelyek beszivárognak a hivatalos alkalmazásboltokba.”

A Mandrake legújabb generációjának kulcsfontosságú jellemzője a több rétegű elrejtés, amely megakadályozza a kutatók általi elemzést és megkerüli a Google Play által használt ellenőrzési folyamatot, amely a rosszindulatú appok azonosítására szolgál. Az összes öt alkalmazás, amelyet a Kaspersky felfedezett, először 2022-ben jelent meg a Play-en, és legalább egy évig elérhető volt. A legutóbbi appot március 15-én frissítették, és az app piacról az adott hónap végén távolították el. Az elmúlt hónap elején egyik appot sem észlelte rosszindulatúként egyetlen jelentős malware-észlelő szolgáltató sem.

A rejtés egyik módszere az volt, hogy a rosszindulatú funkciókat natív könyvtárakba helyezték át, amelyek el voltak rejtve. Korábban a Mandrake az első szakasz rosszindulatú logikáját az alkalmazás DEX fájljában tárolta, amely könnyen elemezhető. Azáltal, hogy a natív könyvtárba, libopencv_dnn.so, helyezték át a Mandrake kódot, nehezebb lett az elemzés és az észlelés, mivel a natív könyvtárakat nehezebb megvizsgálni. Azután az OLLVM obfuszkátor használatával a natív könyvtár elrejtése még hatékonyabb lett.

A Mandrake fő célja a felhasználói hitelesítési adatok ellopása és a következő szakasz rosszindulatú alkalmazásainak letöltése és végrehajtása. Ezeket a műveleteket azonban csak a későbbi fertőzési szakaszok során hajtják végre, amelyeket csak egy kis számú gondosan kiválasztott célpontra alkalmaznak. Az elsődleges módszer a képernyő rögzítése, miközben az áldozat beírja a jelszavát. A képernyő felvételét egy vezérlőszerver parancsokkal, például start_v, start_i vagy start_a, indítja el. A kutatók így magyarázták:

“Amikor a Mandrake megkapja a start_v parancsot, a szolgáltatás elindul, és egy alkalmazás által birtokolt webview-ban betölti a megadott URL-t egy egyedi JavaScript interfésszel, amelyet az alkalmazás használ a betöltött weboldal manipulálására. Miközben az oldal betöltődik, az alkalmazás websocket kapcsolatot létesít, és rendszeres időközönként képernyőképeket készít az oldalról, amelyeket base64 karakterláncokká kódol és elküld a C2 szervernek. A támadók további parancsokkal állíthatják be a képkocka sebességet és a minőséget. A fenyegetés szereplői ezt “vnc_stream”-nek nevezik. Ugyanakkor a C2 szerver vissza tud küldeni vezérlőparancsokat, amelyek az alkalmazást műveletek végrehajtására késztetik, például egy adott koordinátára való lapozás, a webview méretének és felbontásának megváltoztatása, az asztali és mobil oldal megjelenítési módok közötti váltás, a JavaScript végrehajtás engedélyezése vagy letiltása, a Felhasználói Ágensek megváltoztatása, sütik importálása vagy exportálása, vissza- és előrelépés, az oldal frissítése, az oldal nagyítása és így tovább.”

“Amikor a Mandrake megkapja a start_i parancsot, egy URL-t tölt be egy webview-ban, de a “VNC” stream elindítása helyett a C2 szerver elkezdi rögzíteni a képernyőt és elmenteni a felvételt egy fájlba. A felvételi folyamat hasonló a “VNC” szcenárióhoz, de a képernyőképeket videófájlba menti. Ebben a módban az alkalmazás vár, amíg a felhasználó beírja a hitelesítési adatait a weboldalon, majd összegyűjti a sütiket a webview-ból.”

A start_a parancs lehetővé teszi automatizált műveletek végrehajtását a jelenlegi oldal kontextusában, például lapozás, kattintás stb. Ha ez a helyzet, a Mandrake letölti az automatizálási szcenáriókat a parancs opcióiban megadott URL-ről. Ebben a módban a képernyő is rögzítve van. A képernyő felvételek feltölthetők a C2-re az upload_i vagy upload_d parancsokkal.”

Sem a Kaspersky, sem a Bitdefender nem adott attribúciót a csoportnak vagy annak motivációinak, hogy miért terjesztenek egy olyan kifinomult kém- és hitelesítési adatlopó alkalmazást, mint a Mandrake. A Kaspersky által felfedezett alkalmazások az alábbi táblázatban jelennek meg. A Google azóta eltávolította őket a Play-ről. A további kompromittáló jeleket a Kaspersky bejegyzésben találja.

Csomag neveApp neveMD5FejlesztőMegjelenésUtolsó frissítés a Google Play-enLetöltések
com.airft.ftrnsfrAirFS33fdfbb1acdc226eb177eb42f3d22db4it90422022. ápr. 28.2024. márc. 15.30,305
com.astro.dscvrAstro Explorer31ae39a7abeea3901a681f847199ed88shevabad2022. máj. 30.2023. jún. 06.718
com.shrp.sghtAmberb4acfaeada60f41f6925628c824bb35ekodaslda2022. feb. 27.2023. aug. 19.19
com.cryptopulsing.browserCryptoPulsinge165cda25ef49c02ed94ab524fafa938shevabad2022. nov. 02.2023. jún. 06.790
com.brnmth.mtrxBrain Matrixkodaslda2022. ápr. 27.2023. jún. 06.259

Érdekes tény: Az MI-alapú homokozók segítenek a kutatóknak észlelni és elemezni a rejtett malware-eket, mint a Mandrake, mivel képesek szimulálni a valós felhasználói környezeteket és viselkedéseket, ezzel megnehezítve a malware-ek számára a homokozók elkerülését.

Források: Bitdefender, Kaspersky