Ponad rok minął od opublikowania naszego ostatniego artykułu dotyczącego HackingTeam - włoskiej firmy, która rozwija „legalne” narzędzie spyware pod nazwą Remote Control System lub, w skrócie, RCS. Wiele zdarzyło się w międzyczasie, dlatego najwyższa pora na aktualizację wyników wszystkich naszych badań dotyczących szkodliwego oprogramowania RCS.
Lokalizacja serwerów kontroli
Jedną z najważniejszych rzeczy, jakie odkryliśmy podczas naszego długotrwałego i szeroko zakrojonego badania, jest specjalna funkcja, która może być wykorzystana do identyfikowania serwerów kontroli RCS (C2s). Szczegóły dotyczące tej metody przedstawiliśmy na konferencji Virus Bulletin 2013.
Podsumowując, gdy specjalne zapytanie zostaje wysłane do “nieszkodliwego” serwera kontroli RCS firmy HackingTeam, serwer odpowiada następującym komunikatem o błędzie:
Slajd z naszej prezentacji podczas konferencji Virus Bulletin na temat identyfikacji C2 firmy HackingTeam
Zawiera on nazwę kodową ‘RCS’, co wcale nie dziwi. Nasze wątpliwości wzbudził natomiast wspomniany w odpowiedzi ‘Collector’. Jest to prawdopodobnie związane z tym, że serwer „gromadzi” (ang. collect) informacje ofiar. Zastosowaliśmy tę konkretną metodę identyfikacji w celu przeskanowania całej przestrzeni IPv4, co pozwoliło nam uzyskać wszystkie adresy IP serwerów kontroli RCS C2s na całym świecie i zaznaczyć je na mapie pokazującej ich lokalizacje. Zidentyfikowaliśmy łącznie 326 serwerów C2s.
Liczba serwerów C2s |
Nazwa państwa |
64 |
Stany Zjednoczone |
49 |
Kazachstan |
35 |
Ekwador |
32 |
Wielka Brytania |
24 |
Kanada |
15 |
Chiny |
12 |
Kolumbia |
7 |
Polska |
7 |
Nowa Zelandia |
6 |
Peru |
6 |
Indonezja |
6 |
Brazylia |
6 |
Boliwia |
6 |
Argentyna |
5 |
Rosja |
5 |
Indie |
4 |
Hong Kong |
4 |
Australia |
3 |
Hiszpania |
2 |
Arabia Saudyjska |
2 |
Malezja |
2 |
Włochy |
2 |
Niemcy |
2 |
Francja |
2 |
Egipt |
1 |
Ukraina |
1 |
Tajlandia |
1 |
Szwecja |
1 |
Singapur |
1 |
Rumunia |
1 |
Paragwaj |
1 |
Maroko |
1 |
Litwa |
1 |
Kenia |
1 |
Japonia |
1 |
Irlandia |
1 |
Węgry |
1 |
Dania |
1 |
Czechy |
1 |
Cypr |
1 |
Inne |
1 |
Belgia |
1 |
Azerbejdżan |
Mapa pokazująca państwa, w których zlokalizowane są obecnie serwery HackingTeam
Najwięcej serwerów zostało zidentyfikowanych w Stanach Zjednoczonych, Kazachstanie i Ekwadorze. Niestety, nie możemy mieć pewności, czy serwery w danym państwie są wykorzystywane przez jego organy ścigania; jednakże umieszczenie przez organy ścigania serwerów kontroli we własnych państwach byłoby sensownym działaniem, gdyż pozwoliłoby uniknąć problemów prawnych związanych z przekraczaniem granic oraz przechwycenia serwerów. Kilka adresów IP zostało zidentyfikowanych jako powiązanych z „rządem” na podstawie informacji na WHOIS.
Mobilne moduły
Od pewnego czasu wiadomo było, że wśród produktów firmy HackingTeam znajdowało się szkodliwe oprogramowanie dla telefonów komórkowych. Rzadko jednak trafiano na nie. W szczególności, trojany dla systemu Android i iOS nigdy wcześniej nie zostały zidentyfikowane i stanowiły jedną z ostatnich czystych stron w całej historii. Wcześniej tego roku wykryliśmy wiele mobilnych modułów szkodliwego oprogramowania stworzonych przez HackingTeam dla następujących platform:
Android
iOS
Windows Mobile
BlackBerry
Wszystkie te moduły są kontrolowane przez ten sam typ konfiguracji, co wskazuje, że są ze sobą powiązane i należą do tej samej rodziny produktów.
Plik konfiguracyjny z modułów mobilnych RCS
Podczas analizy modułów mobilnych szczególną uwagę zwróciliśmy na systemy iOS oraz Android - ze względu na ich popularność. Moduł iOS działa jedynie na urządzeniach, które zostały odblokowane metodą jailbreak. Poniżej znajduje się opis głównych funkcji modułu iOS:
Kontrolowanie Wi-Fi, GPS, GPRS
Nagrywanie głosu
E-mail, SMS, MMS
Tworzenie listy plików
Ciasteczka
Odwiedzane adresy URL
Zachowane w pamięci podręcznej strony internetowe
Książka adresów
Historia połączeń
Notatki
Kalendarz
Schowek
Lista aplikacji
Zamiana karty SIM
Mikrofon
Zdjęcia wykonane aparatem
Obsługa chatów, WhatsApp, Skype, Viber
Rejestrowanie uderzeń klawiszy ze wszystkich aplikacji i ekranów za pośrednictwem libinjection
Kod modułu iOS poddany dezasemblacji
Moduł dla Androida jest chroniony przy pomocy optymalizatora/maskowania i dlatego jego analiza jest niezwykle trudna. Odkryliśmy jednak, że próbka posiada wszystkie wymienione wyżej funkcje modułu iOS – plus wsparcie przy przechwytywaniu informacji z następujących aplikacji:
com.tencent.mm
com.google.android.gm
android.calendar
com.facebook
jp.naver.line.android
com.google.android.talk
Mobilne infektory
Kolejnym szczególnie interesującym dla nas aspektem był sposób instalowania próbek szkodliwego oprogramowania na urządzeniach mobilnych. Odkryliśmy kilka modułów, które infekują urządzenia mobilne podłączone do zainfekowanych komputerów z systemem Windows lub Mac OS X.
Jak już wspomnieliśmy, moduł iOS może być wykorzystany tylko na urządzeniach, które zostały odblokowane metodą jailbreak. Dlatego właśnie infektor iOS wykorzystuje do transmisji protokół AFP2. „Infektor” posiada przyjemny interfejs, który umożliwia instalację, w przypadku gdy istnieje dostęp fizyczny do urządzenia ofiary lub zdalny dostęp do zainfekowanego komputera na poziomie administratora.
Okno główne infektora iOS
iPhone1,1 |
iPhone1,2 |
iPhone2,1 |
iPhone3,1 |
iPhone3,2 |
iPhone3,3 |
iPhone4,1 |
iPhone5,1 |
iPhone5,2 |
iPad1,1 |
iPad2,1 |
iPad2,2 |
iPad2,3 |
iPad2,4 |
iPad3,1 |
iPad3,2 |
iPad3,3 |
iPad3,4 |
iPad3,5 |
iPad3,6 |
iPhone |
iPhone 3G |
iPhone 3GS |
iPhone 4 |
iPhone 4 |
iPhone 4 (cdma) |
iPhone 4s |
iPhone 5 (gsm) |
iPhone 5 |
iPad |
iPad2 (Wi-Fi) |
iPad2 (gsm) |
iPad2 (cdma) |
iPad2 (Wi-Fi) |
iPad3 (Wi-Fi) |
iPad3 (gsm) |
iPad3 |
iPad4 (Wi-Fi) |
iPad4 (gsm) |
iPad4 |
|
|
Lista urządzeń firmy Apple obsługiwanych przez infektor iOS
Po połączeniu się infektor iOS kopiuje kilka plików do systemu iOS i uruchamia plik install.sh:
Część pliku install.sh, który jest uruchamiany na zainfekowanym urządzeniu z systemem iOS
Jak wspomniano wcześniej, zdalny dostęp na poziomie administratora do zainfekowanego komputera jest jednym ze sposobów na zainstalowanie szkodliwego oprogramowania na podłączonym urządzeniu mobilnym. Czynnikiem ograniczającym jest fakt, że obsługiwane są jedynie urządzenia z systemem iOS, które odblokowano metodą jailbreak. Nie jest to jednak dużym problemem, ponieważ osoba atakująca może również uruchomić narzędzie do przeprowadzenia jailbreakingu, takie jak Evasi0n, za pośrednictwem tego samego zainfekowanego komputera. W tym przypadku, jedyne, co może ochronić użytkownika przed zdalnym jailbreakingiem oraz infekcją, jest kod dostępu urządzenia mobilnego. Jeśli jednak urządzenie będzie odblokowane w czasie gdy będzie podłączone do zainfekowanego komputera, może zostać zainfekowane.
Innym interesującym infektorem mobilnym jest infektor przeznaczony dla urządzeń BlackBerry, który wykorzystuje aplikację JavaLoader do ładowania próbek szkodliwego oprogramowania na urządzeniach BB 4.5 i 5.0. W jego kodzie poddanym dezasemblacji znaleźliśmy ścieżkę do pliku debugowania PDB, która została prawdopodobnie przez niedopatrzenie pozostawiona przez autorów. W czasie, gdy został stworzony szkodliwy program, oryginalny projekt był zlokalizowany w ‘C:\HT\RCSBlackBerry\Workspace\RCS_BB_Infection_Agent\’.
Część kodu infektora Blackberry ze ścieżką do pliku PDB
Podsumowanie
W ostatniej części prowadzonego przez nas badania odkryliśmy ogromną infrastrukturę wykorzystywaną do kontrolowania implantów szkodliwego oprogramowania RCS. W najnowszym badaniu zidentyfikowaliśmy moduły mobilne, które działają na wszystkich popularnych platformach mobilnych, w tym Android i iOS. Moduły te są instalowane przy użyciu infektorów – specjalnych plików wykonywalnych dla systemu Windows lub Mac, które działają na zainfekowanych już komputerach. Ukradkowa aktywacja mikrofonu i wykonywanie regularnych zdjęć aparatem umożliwia ciągłe monitorowanie celu.
Nowe dane, które publikujemy na temat oprogramowania RCS stworzonego przez HackingTeam, są niezwykle istotne, ponieważ pokazują poziom wyrafinowania i skalę takich narzędzi do monitoringu. Jesteśmy zadowoleni wiedząc, że skoro potrafimy zabezpieczyć naszych klientów przed tak zaawansowanymi zagrożeniami, z pewnością nie będziemy mieli problemu z mniejszymi, bardziej rozpowszechnionymi zagrożeniami, takimi jak te ze strony cyberprzestępców.
Załącznik:
Algorytmy MD5 infektorów mobilnych:
14b03ada92dd81d6ce57f43889810087 – infektor BlackBerry
35c4f9f242aae60edbd1fe150bc952d5 – infektor iOS
Algorytmy MD5 próbek dla Androida:
ff8e7f09232198d6529d9194c86c0791
36ab980a954b02a26d3af4378f6c04b4
a2a659d66e83ffe66b6d728a52130b72
9f06db99d2e5b27b01113f78b745ff28
a43ea939e883cc33fc766dd0bcac9f6a
a465ead1fd61afe72238306c7ed048fe
Algorytmy MD5 próbek dla Windowsa:
bf8aba6f7640f470a8f75e9adc5b940d
b04ab81b9b796042c46966705cd2d201
1be71818a228e88918dac0a8140dbd34
c7268b341fd68cf334fc92269f07503a
Lista aktywnych C2s na dzień 19.06.2014:
50.63.180.***
146.185.30.***
204.188.221.***
91.109.17.***
106.186.17.***
119.59.123.***
95.141.46.***
192.71.245.***
106.187.99.***
93.95.219.***
106.187.96.***
124.217.245.***
23.92.30.***
82.146.58.***
93.95.219.***
209.59.205.***
Moduły RCS (według klasyfikacji Kaspersky Lab):
Backdoor.OSX.Morcut
Rootkit.OSX.Morcut
Trojan.OSX.Morcut
Backdoor.Win32.Korablin
Backdoor.Win64.Korablin
Rootkit.Win32.Korablin
Rootkit.Win64.Korablin
Trojan.Multi.Korablin
Trojan-Dropper.Win32.Korablin
Backdoor.AndroidOS.Criag
Trojan-Spy.AndroidOS.Mekir
Trojan.Win32.BBInfector
Trojan.Win32.IOSinfector
Trojan.OSX.IOSinfector
Trojan-Spy.IphoneOS.Mekir
Trojan-Spy.WinCE.Mekir
Trojan-Spy.BlackberryOS.Mekir
Analizy
Blog