Często możemy znaleźć złośliwe oprogramowanie różnego typu czające się pod pozornie nieszkodliwymi aplikacjami w Google Play (oficjalnym sklepie z aplikacjami mobilnymi na urządzenia Android). Niestety nawet jeśli platforma jest mocno nadzorowana, moderatorzy nie zawsze mogą wyłapać złośliwe aplikacje, zanim zostaną opublikowane. Jedną z najpopularniejszych odmian tego rodzaju szkodliwego oprogramowania są trojany subskrypcyjne (ang. Subscriber Trojan), które rejestrują się w płatnych usługach bez wiedzy użytkownika. Pisaliśmy już wielokrotnie o zainfekowanych aplikacjach z Google Play czy App Store, jednak nie o subscriberach, o których ostatnio jest bardzo głośno.

Pierwszym wykrytym i dobrze opisanym był trojan o nazwie Jocker, którego mogliśmy obserwować od 2020 roku. Zaraził on miliony urządzeń i oszukał prawdopodobnie podobną liczbę użytkowników. Teraz na popularności zyskał nowy malware – jego potomek o pseudonimie Harly. Te dwa trojany mają wspólne pochodzenie, więc nazwy czarnych charakterów z tego samego komiksu nie są tutaj przypadkowe.

Oficjalnie w Google Play znaleziono ponad 190 aplikacji zainfekowanych Harly. Wstępne szacunki ich pobrań wynoszą 4,8 miliona, ale rzeczywista liczba może być jeszcze wyższa.

Podobnie jak trojany Jocker, trojany z rodziny Harly imitują legalne aplikacje. Oszuści po prostu pobierają zwykłe aplikacje z Google Play, umieszczają w nich złośliwy kod, a następnie przesyłają je do Google pod inną nazwą. Nadal mogą mieć one funkcje wymienione w opisie, więc użytkownicy często nawet nie podejrzewają zagrożenia.

Aplikacje z Google Play zawierające trojan Harly

Większość członków rodziny Jocker to wieloetapowe programy do pobierania – otrzymują ładunek z serwerów C&C operatorów. Tymczasem trojany Harly zawierają cały ładunek w aplikacji i używają różnych metod do jej odszyfrowania i uruchomienia. Mechanizm działania jest więc tutaj inny i być może ulepszony.

Komentarze użytkowników pod jedną ze złośliwych aplikacji

Jak to działa? Szczegóły techniczne

Na blogu Kaspersky.com opisano jedną ze złośliwych aplikacji, o nazwie com.binbin.flashlight (md5: 2cc9ab72f12baa8c0876c1bd6f8455e7) – aplikację latarki, która została pobrana z Google Play ponad 10 000 razy. Jest to oczywiście zaszyty trojan Harly.

Źródło: blog Kaspersky

Po uruchomieniu aplikacji do pamięci tymczasowej telefonu ładowana jest podejrzana biblioteka. Widać to w kodzie źródłowym:

Źródło: blog Kaspersky

Biblioteka odszyfrowuje poniższy plik z zasobów aplikacji:

Źródło: blog Kaspersky

Co ciekawe, twórcy złośliwego oprogramowania nauczyli się korzystać z języków Go i Rust, ale na razie ich umiejętności ograniczają się do odszyfrowywania i ładowania złośliwego SDK, ponieważ nic innego w aplikacji nie jest przerobione na ten język.

Podobnie jak inne trojany tego typu, Harly zbiera informacje o urządzeniu, a w szczególności o połączeniu z siecią. Gdy telefon przełącza się na sieć komórkową, trojan prosi serwer C&C o skonfigurowanie listy subskrypcji, które należy zarejestrować.

Ten konkretny trojan działa tylko z operatorami tajlandzkimi, więc najpierw sprawdza MNC, czyli unikalne identyfikatory operatorów sieci, aby upewnić się, że są usługami zarejestrowanymi w Tajlandii. Jednak jako testowe MNC wykorzystuje kod China Telecom – 46011. Ta wskazówka sugeruje, że twórcy złośliwego oprogramowania znajdują się w Chinach i domyślnie stamtąd czerpią korzyści z płatnych subskrypcji ofiar.

Trojan otwiera adres subskrypcji w niewidocznym dla użytkownika oknie (działającym w tle) i poprzez wstrzykiwanie skryptów JS wprowadza numer telefonu ofiary, naciska wymagane przyciski i wprowadza kod potwierdzający z wiadomości tekstowej. W rezultacie użytkownik otrzymuje płatną subskrypcję, nie zdając sobie z tego sprawy.

Inną godną uwagi cechą tego trojana jest to, że może on dokonać subskrypcji nie tylko wtedy, gdy proces jest chroniony kodem wiadomości tekstowej, ale także, kiedy chroniony jest przez połączenie telefoniczne. W tym przypadku malware sam wykonuje połączenie z określonym numerem i potwierdza subskrypcję.


Jak się chronić?

Jak widzimy, nawet w zaufanym sklepie Google Play nie możemy czuć się do końca bezpiecznie. Trzeba zachować wysoką czujność podczas szukania nowych aplikacji i gdy decydujemy się na ich pobranie. Wbudowane zabezpieczenia telefonów z Androidem nie wykryją niczego podejrzanego w trakcie instalacji, ponieważ traktują każdą aplikację ze swojego sklepu jako zaufaną. Podczas samego złośliwego działania aplikacji pomóc może nam tylko dedykowany płatny program antywirusowy topowych dostawców, który jednak sporo kosztuje i może spowalniać działanie naszego sprzętu.

Zdecydowanie najlepszym sposobem jest czytanie sekcji komentarzy oraz opinii w Internecie na temat znalezionej aplikacji. Jeśli nie jesteśmy pewni co do jej legalności oraz użyteczności, nie instalujmy jej w naszym smartfonie. Nie traktujmy nigdy naszego telefonu jak poligonu testowego. Jest to przecież kluczowe miejsce naszych danych i naszej prywatności.

Podziel się z innymi tym artykułem!