Złośliwe oprogramowanie mobilne SoumniBot atakuje urządzenia z systemem Android
W terenie zidentyfikowano nowo odkrytego trojana dla Androida o nazwie SoumniBot, którego celem są użytkownicy w Korei Południowej i wykorzystuje luki w procedurach wyodrębniania i analizowania manifestów.
Według badaczy szkodliwe oprogramowanie wyróżnia się niezwykłą taktyką polegającą na unikaniu analizy i wykrycia, w szczególności poprzez zaciemnianie manifestu Androida.
SoumniBot oferuje trzy różne podejścia do ataku
Każda aplikacja na Androida zawiera plik manifestu XML („AndroidManifest.xml”) w swoim katalogu głównym, który zawiera opis komponentów aplikacji, uprawnień oraz wymaganych funkcji sprzętu i oprogramowania.
Mając na uwadze, że łowcy zagrożeń zazwyczaj rozpoczynają analizę od sprawdzenia pliku manifestu aplikacji w celu zrozumienia jej zachowania, autorzy zagrożeń stojący za złośliwym oprogramowaniem zastosowali trzy różne metody, aby skomplikować ten proces.
Pierwsza metoda polega na użyciu nieprawidłowej wartości metody kompresji podczas rozpakowywania pliku manifestu APK i wykorzystaniu interpretacji biblioteki libziparchive, zgodnie z którą dowolna wartość inna niż 0x0000 lub 0x0008 jest nieskompresowana.
Chociaż taki manifest zostałby uznany za nieprawidłowy przez każdy program rozpakowujący prawidłowo wdrażający weryfikację metody kompresji, parser pakietu APK systemu Android rozpoznaje go jako prawidłowy i umożliwia zainstalowanie aplikacji.
Warto zauważyć, że od kwietnia 2023 r. metoda ta była wykorzystywana przez cyberprzestępców powiązanych z kilkoma trojanami bankowymi dla systemu Android.
Po drugie, SoumniBot fałszuje rozmiar zarchiwizowanego pliku manifestu, podając wartość większą niż rzeczywista. W rezultacie „nieskompresowany” plik jest kopiowany bezpośrednio, a parser manifestu ignoruje dodatkowe dane „nakładki”, które zajmują pozostałe miejsce.
Według badaczy żaden bardziej rygorystyczny parser manifestu nie byłby w stanie odczytać takiego pliku, podczas gdy parser Androida obsługuje nieprawidłowy manifest bez żadnych błędów.
Ostatnia technika polega na użyciu długich nazw przestrzeni nazw XML w pliku manifestu, co komplikuje alokację wystarczającej ilości pamięci przez narzędzia analityczne do ich przetwarzania. Ponieważ jednak parser manifestu jest zaprogramowany tak, aby ignorował przestrzenie nazw, podczas obsługi plików nie pojawiają się żadne błędy.
Po uruchomieniu SoumniBot pobiera informacje konfiguracyjne ze wstępnie zdefiniowanego adresu serwera, aby uzyskać dostęp do serwerów używanych do przesyłania zebranych danych i odbierania poleceń za pośrednictwem protokołu przesyłania wiadomości MQTT.
SoumniBot uruchamia złośliwą usługę na zainfekowanych urządzeniach
Szkodnik jest zaprogramowany do inicjowania szkodliwej usługi, która po zakończeniu jest uruchamiana ponownie co 16 minut i co 15 sekund przesyła informacje, w tym metadane urządzenia, listy kontaktów, wiadomości SMS, zdjęcia, filmy i listę zainstalowanych aplikacji.
Dodatkowo SoumniBot może manipulować kontaktami, wysyłać wiadomości SMS, przełączać tryb cichy i włączać tryb debugowania Androida, a także ukrywać ikonę swojej aplikacji, aby utrudnić odinstalowanie z urządzenia.
Godną uwagi cechą SoumniBot jest jego zdolność do wyszukiwania zewnętrznych nośników danych w poszukiwaniu plików .key i .der zawierających ścieżki do „/NPKI/yessign”, który dotyczy południowokoreańskiej usługi certyfikatów podpisu cyfrowego dla podmiotów rządowych (GPKI), banków i Internetu giełdy (NPKI).