Necro Trojan
V roce 2019 odhalili výzkumníci kybernetické bezpečnosti znepokojivý problém: legitimní aplikace pro Android v Obchodě Google Play byla kompromitována knihovnou třetí strany, kterou vývojáři používali k generování příjmů z reklamy. Tato úprava vedla k tomu, že se 100 milionů zařízení připojilo k serverům ovládaným útočníky, kteří poté nasadili skryté užitečné zatížení.
Podobná situace se nyní znovu objevila. Odborníci společnosti Infosec identifikovali dvě nové aplikace, stažené z Google Play 11 milionůkrát, které jsou infikovány stejnou rodinou malwaru. Zdá se, že na vině je opět nebezpečný kit pro vývoj softwaru používaný k integraci reklamních funkcí.
Obsah
Co je SDK?
Sady pro vývoj softwaru nebo sady SDK nabízejí vývojářům předem vytvořené rámce, které zjednodušují a urychlují proces vytváření aplikací tím, že zvládají rutinní úlohy. V tomto případě byl do aplikací integrován neověřený SDK modul, zdánlivě určený pro podporu zobrazování reklam. Pod povrchem však umožňoval pokročilé metody pro skrytou komunikaci s napadenými servery. To umožnilo aplikacím nahrávat uživatelská data a stahovat škodlivý kód, který bylo možné kdykoli spustit nebo aktualizovat.
Jak trojské koně Necro infikují zařízení?
Rodina malwaru za oběma kampaněmi se nazývá Necro a v tomto případě některé varianty využívají pokročilé techniky, jako je steganografie – vzácná metoda zatemňování u mobilních hrozeb. Některé varianty také používají sofistikované metody k doručení podvodného kódu schopného pracovat se zvýšenými systémovými oprávněními. Jakmile je zařízení infikováno, komunikuje se serverem Command-and-Control ovládaným útočníkem. Odesílá zašifrovaná data JSON, která hlásí podrobnosti o napadeném zařízení a aplikaci hostující podvodný modul.
Server poté odpoví zprávou JSON, která obsahuje odkaz na obrázek PNG a metadata obsahující hash obrázku. Pokud modul na infikovaném zařízení ověří hash, pokračuje ve stahování bitové kopie.
Výzkumníci vysvětlili, že modul SDK používá jednoduchý steganografický algoritmus. Po absolvování kontroly MD5 extrahuje obsah souboru PNG, konkrétně hodnoty pixelů z kanálů ARGB, pomocí standardních nástrojů Android. Metoda getPixel načte hodnotu, kde nejméně významný bajt obsahuje modrý kanál obrázku a malware odtud zahájí zpracování.
Necro Trojan by mohl vést k vážným následkům
Následná data nainstalovaná malwarem stahují podvodné pluginy, které lze přizpůsobit pro každé infikované zařízení tak, aby prováděly různé akce. Jeden takový plugin umožňuje spuštění kódu se zvýšenými systémovými oprávněními. Normálně Android omezuje privilegované procesy v používání WebView – součásti pro zobrazování webových stránek v aplikacích. K překonání tohoto omezení používá Necro techniku známou jako reflexní útok k vytvoření samostatného výskytu továrny WebView.
Kromě toho může tento plugin stahovat a spouštět další soubory, které upravují odkazy zobrazené prostřednictvím WebView. Se zvýšenými systémovými právy mohou tyto spustitelné soubory měnit adresy URL a vkládat potvrzovací kódy pro placená předplatná a stahovat a spouštět kód z odkazů kontrolovaných útočníkem. Výzkumníci během analýzy Necro identifikovali pět různých zátěží. Modulární struktura Necro navíc poskytuje mnoho způsobů fungování malwaru.
Trojan Necro byl nalezen ve dvou aplikacích
Výzkumníci identifikovali Necro ve dvou aplikacích na Google Play. Jeden z nich, Wuta Camera, získal 10 milionů stažení. Verze 6.3.2.148 až 6.3.6.148 kamery Wuta obsahovaly škodlivý SDK zodpovědný za infekce, ale aplikace byla mezitím aktualizována, aby eliminovala škodlivou komponentu. Další aplikace, Max Browser, s přibližně 1 milionem stažení, byla také ohrožena; již však není k dispozici na Google Play.
Kromě toho výzkumníci zjistili, že Necro infikuje řadu aplikací pro Android nabízených na alternativních tržištích. Tyto aplikace jsou obvykle prezentovány jako upravené verze legitimních aplikací, včetně Spotify, Minecraft, WhatsApp, Stumble Guys, Car Parking Multiplayer a Melon Sandbox.