15 lip 2015

]HT[ - GALILEO Remote Control System - analiza narzędzi z wycieku

7

Początkiem lipca świat obiegła informacja o ogromnym wycieku danych z włoskiej firmy Hacking Hacked Team, zajmującej się tworzeniem złośliwego i szpiegowskiego oprogramowania dla rządów i korporacji na całym świecie. Nieznani włamywacze opublikowali w Internecie około 400 GB danych, w tym kody źródłowe oprogramowania, archiwa Outlook skrzynek zespołu firmy, faktury, umowy, licencje itd. Z korespondencji i danych umieszczonych na portalu WikiLeaks można dowiedzieć się naprawdę wielu rzeczy, a jedną z nich była informacja, iż klientem Hacking Team jest polskie Centralne Biuro Antykorupcyjne (CBA). Znaleźć można także dokumentacje techniczne Remote Control System (RCS) - bardzo rozbudowanego systemu, służącemu do kontroli zdalnej, zbierania informacji a nawet atakowania sieci, komputerów i telefonów komórkowych obranych celów.

I. ARCHITEKTURA
Remote Control System od Hacking Team początkowo występował pod nazwą DaVinci, najnowsza wersja (9.6 - z marca 2015 r.) nazwana została Galileo. W skład systemu wchodzą: RCS Server, RCS Console, RCS Services, Anonymizer, Network Injector, Scout Agent, Elite Agent oraz Soldier Agent. RCS Server zawiera oprogramowanie bazodanowe, kontrolery sieciowe i kolektor danych, który zbiera dane i informacje z zainfekowanych urządzeń. RCS Services zawiera usługi typu front-end oraz back-end. Usługi front-end są odpowiedzialne za pobieranie danych oraz przekazywanie ich do back-endu, następnie back-end na podstawie danych wykonuje określone zadanie. Na usługi typu front-end składają się: RCSCollector, RCSCarrier oraz RCSController. Z kolei usługi back-end dzielą się na typu Master Node oraz Shard. Schematy usług back-end przedstawiono poniżej:


Schemat usług back-end Master Node serwera RCS
Schemat usług back-en Shard serwera RCS

RCS Console to z kolei nic innego jak oprogramowanie stworzone do interakcji z serwerem RCS. Anonymizer to zestaw narzędzi, które służą do ochrony serwera przed atakami z zewnątrz oraz pozwalają zachować anonimowość podczas zbierania danych. Network Injector to komponent sprzętowy, który monitoruje ruch sieciowy wybranego celu i wstrzykuje agentów do wybranych zasobów internetowych. Network Injector występuje w dwóch wersjach: Appliance oraz Tactical. Pierwsza z nich powstała z myślą o wdrożeniu go u ISP, druga do wykorzystania na "polu walki", bez udziału dostawcy usług internetowych. Network Injector komunikuje się z serwerem RCS poprzez Anonimizery. Komunikacja w celu identyfikacji i przesyłania logów, uruchamiana jest co 30 sekund. Scout Agent to narzędzie wysyłane do urządzenia, w celu analizy poziomu zabezpieczeń przed instalacją właściwych agentów zbierających dane i informacje (Elite Agent, Soldier Agent). Po wykonanej analizie przez Scout Agenta, jeśli urządzenie docelowe jest "bezpieczne" instalowany jest Elite Agent pozwalający zebrać wszystkie rodzaje dostępnych danych, w przeciwnym wypadku instalowany jest Soldier Agent, który kolekcjonuje tylko pewne wybrane typy danych. W jaki sposób agent może zostać zainstalowany na urządzeniu potencjalnego celu? Dokumentacja mówi o 10 głównych sposobach:
  • exploit - agent ukryty w dowolnym dokumencie, format dokument zależny od dostępnych exploitów (PC, Telefon GSM);
  • installation package - agent ukryty w pliku instalacyjnym (Telefon GSM);
  • local instalaltion - agent ukryty na nośniku USB lub na karcie pamięci SD/MMC (Telefon GSM);
  • melted application - agent ukryty w dowolnym pliku wykonywalnym (PC, Telefon GSM);
  • network injection - agent "wstrzykiwany" bezpośrednio do sieci ofiary (PC, Telefon GSM);
  • offline installation - agent ukryty w obrazie .ISO na bootowalnym nośniku CD/DVD/USB (PC);
  • QR Code / Web link - agent instaluje się po sfotografowaniu przez cel kodu QR i wejściu na stronę internetową (Telefon GSM);
  • Silent installer - agent ukryty w "pustym" pliku wykonywalnym, po uruchomieniu wykonuje się nienadzorowana (cicha) instalacja (PC);
  • U3 Installation - agent ukryty w paczce instalacyjnej poprzez klucz USB U3, automatyczna instalacja następuje po włożeniu nośnika (PC);
  • WAP push massage - instalacja agenta następuje po otrzymaniu wiadomości WAP (Telefon GSM). 
Moduł tworzenia złośliwego oprogramowania (agenta)


Remote Control System posiada także wbudowane narzędzie do tworzenia kopii zapasowych: metadanych, wszystkich uzyskanych plików czy krytycznych punktów systemu. Hacking Team aktualizuje swój produkt mniejszymi poprawkami i aktualizacjami co 4 miesiące, natomiast główne udostępnia nie rzadziej niż co 15 miesięcy. Co więcej, deklaruje niewykrywalność przez oprogramowanie antywirusowe i antyrootkitowe.



Uproszczona architektura systemu RCS Galileo


Architektura systemu RCS Galileo

Schemat architektury serwera RCS Galileo


Schemat architektury urządzenia Network Injector z wykorzystaniem Test Access Point (TAP) i ISP


II. INSTALACJA

Instalacja klienta systemu Remote Control System odbywa się z dostarczonego nośnika, gdzie znajduje się narzędzie, które łączy się zdalnie z serwerem RCS.
















Aby je zainstalować klient musi posiadać: adres serwera/serwerów IP, gdzie użytkowany jest RCS, plik licencyjny z rozszerzeniem .lic (dostarczany na nośniku USB lub pobierany przez VPN w sieci Internet) oraz sprzętowy klucz HASP USB od Hacking Team. Dodatkowo, aby mieć dostęp do portalu odpowiedzialnego za support, użytkownik musi posiadać odpowiedni certyfikat Hacking Team. Plik licencyjny RCS Galileo posiada następującą strukturę:
 
Plik licencyjny RCS v9.6
Jak można zauważyć, znajdują się w nim m.in. informacje o terminie ważności licencji, numer seryjny, ilość agentów z wyszczególnieniem na system operacyjny i rodzaj urządzenia a także ilość użytkowników i anonimizerów. Czas na instalację RCS:


Użytkownik końcowy RCS ma do wyboru trzy typy instalacji, opisane wcześniej - Master Node, Shard oraz Collector. W kolejnym kroku użytkownik wskazuje serwer IP RCS oraz plik licencyjny od Hacking Team i ustala hasło administratora. Kolejnym krokiem jest instalacja RCSConsole, który będzie łączył się z RCS Server. Hacking Team opracował narzędzie RCSConsole w środowisku uruchomieniowym Adobe Integrated Runtime (AIR):



Po instalacji RCS Control i wpisaniu loginu oraz hasła można uruchomić stronę domową systemu, która wygląda tak:




III. POZYSKIWANIE DANYCH

Ile danych może zebrać od potencjalnych celów system Galileo? Naprawdę mnóstwo. Oprogramowanie z zainfekowanych urządzeń ofiary przekazuje do serwera RCS informacje i dane takie jak: pliki, które ofiara otworzyła, dane z portali społecznościowych, książkę adresową, kontakty, kalendarz, połączenia (GSM, Skype, VoIP), czaty (WhatsApp, Viber, Skype, BBM), informacje skopiowane do schowka, dane o urządzeniu (w tym system plików), wiadomości e-mail, dane z serwisów Dropbox i Google Drive, odwiedzane strony www, nagrania z mikrofonu, zdjęcia z kamery, kliknięcia myszką, wprowadzane za pomocą klawiatury informacje (keylogger), informacje odnośnie portfela kryptowaluty, np. Bitcoin, loginy i hasła, pozycję geograficzną ofiary (za pomocą GPS, Cell-ID lub WiFi), wydrukowane przez nią strony oraz zrzuty ekranowe. 

Panel systemowy front-end RCS, przykład

Panel operacji systemu RCS wraz z dostępnymi opcjami










Przykład przechwycenia wiadomości tekstowych z komunikatora Skype

Poprzez narzędzie Wireless Intruder dostępne w panelu Tactical Control Center można przeprowadzać na sieć WiFi ofiary ataki słownikowe WPA/WPA2 oraz bruteforce WEP/WPS PIN, co obrazuje poniższy przykład:

Tactical Control Center - przykład ataku WPA2 na sieć WiFi






Ponadto, narzędzie RCS Galileo może uzyskiwać dostęp do zainfekowanego urządzenia i wyświetlać oraz udostępniać wszystkie pliki, które znajdują się na urządzeniu ofiary:


Potrafi infekować system Windows/Linux/Mac poprzez sieciowe wstrzykiwanie złośliwego kodu/plików w przeglądarkę lub bezpośrednio w system operacyjny:
Infekowanie poprzez wstrzykiwanie HTML/Flash
Kontrola narzędzia Network Injectors - widoczne możliwości
infekowania poprzez pliki exe, html/flash i zamianę pliku od Google: robots.txt
Moduł wywiadowczy pozwalający na profilowanie celu
Moduł wywiadowczy pozwalający na śledzenie i korelację celów

System RCS Galileo wspiera następujące platformy:


Więcej szczegółowych informacji odnośnie wspieranych przez RCS platform znajdziecie w tej prezentacji:
https://wikileaks.org/hackingteam/emails/fileid/236327/104118



IV. WYKRYWANIE RCS

Jak już wcześniej wspomnieliśmy, zespół Hacking Team deklaruje niewykrywalność swojego produktu przez oprogramowanie antywirusowe oraz antyrootkitowe. Z analizy korespondencji wynika, iż pracownicy Hacking Team testują system RCS na wykrywalność przez oprogramowanie antywirusowe a następnie sporządzają specjalne "raporty niewidzialności" z podziałem na odpowiedni system operacyjny:

Przykładowy "raport niewidzialności" dotyczący najnowszej
wersji 9.6 RCS i 64-bitowego systemu Windows 7

Przykładowy "raport niewidzialności" dotyczący najnowszej
wersji 9.6 RCS i systemu OSX w wersji 10.7
Jak widać na załączonych powyżej przykładach, do tej pory system RCS był praktycznie niewykrywalny przez większość najpopularniejszych, dostępnych na rynku antywirusów. Prawdopodobnie za sprawą wycieku danych z Hacking Team, producenci antywirusów zaktualizują swoje oprogramowania pod kątem wykrywalności narzędzi RCS. W jednej z wiadomości można przeczytać również o wykryciu agenta RCS Cloud (co prawda z wykorzystaniem starszej wersji RCS - 9.5.1) przez antywirusa firmy Norton. Pracownicy Hacking Team przesyłają w załączeniu zrzuty ekranowe lub zdjęcia jako dowód wykrycia agenta, poniżej kilka przykładów:



Kolejną ciekawostką jest wiadomość od jednego z pracowników malezyjskiej firmy: www.miliserv.com.my. Pracownik w październiku 2012 r. pisze o utworzeniu agenta w pliku .pdf, ale wykryciu go przez oprogramowanie antywirusowe AVG, a jako dowód załącza zrzut ekranu, przyjrzyjcie się uważnie, przypadek? :)


W korespondencji odnaleźć można także test wysyłania złośliwej wiadomości WAP w różnych językach przeprowadzony przez pracownika Hacking Team:

 

Co można zrobić, aby uniemożliwić lub skutecznie utrudnić działanie narzędzia RCS od Hacking Team? Po pierwsze zainstalować darmowe oprogramowanie Microsoftu - Enchanced Mitigation Experience Toolkit (EMET), o którym pisaliśmy tutaj (najnowsza wersja to 5.2), a można je pobrać tutaj. Po drugie, celem ulepszenia ochrony można skorzystać z oprogramowania Detekt, dostępnego na stronie: https://resistsurveillance.org. Podczas analizy korespondencji Hacking Team odkryliśmy wiadomość jednego z pracowników, gdzie informuje on o wykryciu narzędzia RCS Scout przez oprogramowanie Detekt (zainfekowanie notatnika). Jako dowód pracownik załączył zrzut ekranu: 


Jak widać na powyższym przykładzie, warto więc mieć na uwadze możliwość zainstalowania narzędzia Detekt.


V. PORÓWNANIE Z INNYM PODOBNYM PRODUKTEM

Oczywiście należy mieć świadomość, iż Remote Control System obecnie funkcjonujący pod nazwą Galileo, nie jest jedynym tego typu oprogramowaniem przeznaczonym na sprzedaż. Podczas analizy korespondencji natrafiliśmy także na porównanie RCS z innym podobnym produktem - izraelskim NSO Pegasus. Produkt NSO jest jednak nieporównywalnie droższy, wg informacji z korespondencji HT, kosztuje od 10 000 000 $ do 16 000 000 $ - tak, dobrze widzicie, zera się zgadzają. Porównanie tych dwóch narzędzi opracowane zostało przez pracownika Hacking Team i można je przejrzeć tutaj:
https://wikileaks.org/hackingteam/emails/fileid/49412/22634
Informacja o firmie NSO:
https://s3.amazonaws.com/s3.documentcloud.org/documents/815991/1276-nso-group-brochure-pegasus.pdf

Hacking team bierze również czynny udział w równego rodzaju konferencjach związanych z bezpieczeństwem aby promować swój produkt, a z wycieku danych można dotrzeć do zapisów, że Hacking Team ma zamiar pojawić się na polskiej konferencji MSPO 2015 w Kielcach, w dniach 7-10 września. Wygląda jednak na to, że HT nie będzie miał swojego stoiska, bo na oficjalnej liście wystawców, aktualizowanej w dniu 16 lipca nie znaleźliśmy włoskiego zespołu:
http://www.targikielce.pl/pl/xxiii-miedzynarodowy-salon-przemyslu-obronnego-mspo,5133/lista-wystawcow,6971.htm


Poniżej zamieszczamy kilka zdjęć stoisk włoskiej firmy.
Ważniejsze konferencje w 2015 r. w których brał udział
lub będzie brał udział zespół Hacking Team.



VII. POLSKI WĄTEK

Centralne Biuro Antykorupcyjne (CBA) posiada licencję na narzędzie RCS (ważną do 31.07.2015 r,), wykupioną za 178 000 €. Łącznie CBA wydało 250 000 € wliczając usługi supportu. Zainteresowanie naszych służb było jednak większe, można odnaleźć informacje dotyczące prezentacji produktu dla ABW (13.05.2015 r.), SKW i CBŚP (12.05.2015 r.). Podczas cyklu szkoleń w Centrum Szkolenia Policji w Legionowie (17-20.09.2012 r.) Hacking Team był nawet jednym ze sponsorów przeprowadzonego szkolenia:



W plikach znajdziemy także klauzulę poufności z dnia 29.06.2011 r., podpisaną między CBA a zespołem Hacking Team oraz raport dotyczący prezentacji dla ABW, z którego dowiemy się, że CBŚP szczególnie zainteresowane jest szyfrowanym nagrywaniem i podsłuchem rozmów w czasie rzeczywistym:



 
Raport dotyczący prezentacji produktu RCS dla ABW w dniu 13.05.2015 r.



VIII.  JAK WYCIEKŁY DANE HACKING TEAM?

To ciężko stwierdzić, być może miał miejsce atak konkurencyjnej grupy hakerów, mógł też mieć miejsce czynnik ludzki, być może niezadowolony pracownik lub zwolniona/niezatrudniona osoba postanowiła po prostu się odegrać. Wiemy natomiast, że stacje robocze pracowników Hacking Team wyposażone były m.in. w oprogramowanie antywirusowe Kaspersky Internet Security 14. W jednej z korespondencji pracownicy opisują dziwne zachowanie antywirusa Kaspersky na ich stacji roboczej, który wykrywa zainfekowane pliki w popularnych narzędziach oraz informuje o wykryciu trojana w pliku 8169Diag.exe:



Co więcej, jeden z pracowników pisze, że antywirus wykrył zagrożenie dopiero po reinstalacji oprogramowania Kaspersky. Pracownik powiadamia współpracownika o tym, że podczas prezentacji (dema) produktu RCS w Mediolanie nie miał zainstalowanego oprogramowania Kaspersky. Usunął go jeszcze przed prezentacją, ponieważ antywirus wykrywał jeden z modułów narzędzia RCS uniemożliwiając pokaz. Wiadomość o wykryciu datowana jest na połowę stycznia 2015 roku. Czy za sprawą właśnie tego trojana mogło dojść do zainfekowania a potem zhackowania infrastruktury Hacking Team? Niestety to pytanie pozostaje bez odpowiedzi. 


IX. ZAKOŃCZENIE

W wydanym wczoraj oświadczeniu Hacking Team odniosło się oficjalnie do ataku, jednocześnie stwierdzając, iż najważniejsze elementy kodów źródłowych ich systemu nie zostały wykradzione i pozostały pod ochroną. Ponadto wspomniano o planach na przyszłość - kolejnej wersji Remote Control System (10), która ma pojawić się jesienią tego roku. Nowy system RCS Galileo nie zostanie po prostu zaktualizowany, ma zostać zbudowany od nowa. Natomiast pierwszym poważniejszym następstwem ujawnionych przez WikiLeaks informacji dotyczących Hacking Team, była dymisja Szefa Służby Wywiadowczej Cypru (KYP) - Andreasa Pentarasa.

Oświadczenie Chief Operating Officer Hacking Team z 13.07.2015 r. odnośnie ataku:
https://s3.amazonaws.com/s3.documentcloud.org/documents/2164585/web-article-7-13-final.pdf

Obszerny, zawierający 100 stron podręcznik użytkownika RCS Galileo:
https://wikileaks.org/hackingteam/emails/fileid/765363/350387

Prezentacja systemu RCS v9:
https://wikileaks.org/hackingteam/emails/fileid/617391/283269

Przykładowa umowa EULA:
https://wikileaks.org/hackingteam/emails/fileid/596887/274675

Źródło:
WikiLeaks
Opracowanie własne.

7 komentarze:

Anonimowy pisze...

To chyba najbardziej dogłębna i wieloaspektowa analiza tego zagadnienia z jaką się spotkałem (w języku polskim). Dziękuję za szczyptę szkolenia, czekam na więcej ... jak zwykle dobra robota…

vigila semper pisze...

Dziękujemy. Zarówno słowa pochwały jak i konstruktywna krytyka zawsze będą mile widziane, pozdrawiamy!

Anonimowy pisze...

Super artykuł. Oby więcej takich!

Anonimowy pisze...

Mają rozmach...
Blog trafia do zakładek.

Anonimowy pisze...

fantastycznie napisany artykul, wiecej takich redaktorow poprosimy.
pozdrawiam

Anonimowy pisze...

Świetny artykuł, dzięki.

Anonimowy pisze...

Przy próbie połączenia ze stroną resistsurveillance.org, na której znajduje się program Detect - wykrywający infekcję rządowym złośliwym oprogramowaniem, otrzymałem z Chrome taki meldunek:
Ten serwer nie mógł udowodnić, że należy do resistsurveillance.org. Jego certyfikat pochodzi z fightsurveillance.org. Może to być spowodowane błędną konfiguracją lub przechwyceniem połączenia przez atakującego.
Na ile sugestia Google może być słuszna?
Pozdrawiam

Prześlij komentarz

 
Do korespondencji zalecamy nasz klucz PGP.
Design by ThemeShift