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 neve | App neve | MD5 | Fejlesztő | Megjelenés | Utolsó frissítés a Google Play-en | Letöltések |
---|---|---|---|---|---|---|
com.airft.ftrnsfr | AirFS | 33fdfbb1acdc226eb177eb42f3d22db4 | it9042 | 2022. ápr. 28. | 2024. márc. 15. | 30,305 |
com.astro.dscvr | Astro Explorer | 31ae39a7abeea3901a681f847199ed88 | shevabad | 2022. máj. 30. | 2023. jún. 06. | 718 |
com.shrp.sght | Amber | b4acfaeada60f41f6925628c824bb35e | kodaslda | 2022. feb. 27. | 2023. aug. 19. | 19 |
com.cryptopulsing.browser | CryptoPulsing | e165cda25ef49c02ed94ab524fafa938 | shevabad | 2022. nov. 02. | 2023. jún. 06. | 790 |
com.brnmth.mtrx | Brain Matrix | – | kodaslda | 2022. á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