W sieci pojawiła się instrukcja obsługi Pegasusa, czyli “rządowego trojana” do wynajęcia, który został stworzony przez izraelską firmę NSO Group i z którego korzystają funkcjonariusze CBA. Jeśli wierzyć metadanym, dokument pochodzi z sierpnia 2016 roku. Choć ma 3 lata, to rozwiewa kilka mitów na temat tego rozwiązania powtarzanych ostatnio w różnych mediach.

Dokument opisujący korzystanie i możliwości Pegasusa rozpoczyna się od nakreślenia metod inwigilacji, które — wedle autorów Pegasusa — są od niego gorsze:

Passive Interception , czyli standardowy sniffing, z którego zasłynęło NSA. Jest gorszy, bo ruch z/do urządzeń mobilnych jest dziś w większości szyfrowany.

, czyli standardowy sniffing, z którego zasłynęło NSA. Jest gorszy, bo ruch z/do urządzeń mobilnych jest dziś w większości szyfrowany. IMSI Catcher , czyli fałszywy BTS. Jest gorszy, bo jest ograniczony (wedle NSO Group daje wgląd tylko w połączenia telefoniczne i SMS-y, co nie jest prawdą) i trzeba być blisko ofiary oraz wymusić pracę jej urządzenia w niższych standardach niż 3G/LTE, przy których IMSI Catcher “lepiej sobie radzi”.

, czyli fałszywy BTS. Jest gorszy, bo jest ograniczony (wedle NSO Group daje wgląd tylko w połączenia telefoniczne i SMS-y, co nie jest prawdą) i trzeba być blisko ofiary oraz wymusić pracę jej urządzenia w niższych standardach niż 3G/LTE, przy których IMSI Catcher “lepiej sobie radzi”. Infekcja złośliwym oprogramowaniem, czyli trojany. Jest gorsza, bo wymaga interakcji z użytkownikiem, a nie każdy “cel” jest na tyle naiwny, że przejdzie przez procedurę instalacji złośliwego oprogramowania nie zdając sobie sprawy z tego co robi. Plus antywirusy mogą czasem pokrzyżować plany.

I tu wchodzi Pegasus, cały na biało! Który, co jest mocno kuriozalne, sam siebie nie zalicza do “infekcji złośliwym oprogramowaniem”. Dlaczego? Bo po cichu i bez interakcji z ofiarą “wstrzykuje” swojego agenta na smartfona ofiary. Ten brak interakcji ma świadczyć o wyższości nad “tradycyjnym” złośliwym oprogramowaniem. Nie znaczy to jednak, że i przy Pegasusie ofiara czasem nie musi czasem kliknąć w jakiś link z SMS-a — musi. Ale o tym za chwilę.

Z instrukcji dowiemy się też, że Pegasus wspiera następujące systemy:

Androida,

iOS-a

BlackBerry,

Symbiana

I co, posiadacze starych Nokii, dalej uważacie że jesteście bezpieczni? :)

Nie musisz dogadywać się z operatorem, aby inwigilować jego klientów

Program zbiera lokalizację, historię połączeń, hasła, pliki oraz “plany i aktywności” (cokolwiek to znaczy). Potrafi przechwycić połączenia telefoniczne i VoIP (np. Skype, WhatsApp, Facebook) w czasie rzeczywistym. A co najważniejsze dla niektórych klientów — nie wymaga współpracy z operatorem GSM. Czyli nikt “nie dowie się” o prowadzonej przez klienta (być może nielegalnej) kontroli operacyjnej.

Pegasus potrafi też “wykryć inne tożsamości ofiary” (czyt. zmianę karty SIM) i chwali się tym, że nie wymaga dostępu fizycznego do urządzenia ofiary (choć instalacja agenta “z palca” na urządzeniu też jest możliwa).

Trojan ma nie zostawiać śladów na urządzeniu ofiary i posiada opcję “samozniszczenia” w przypadku wykrycia (ale jak widać, niezbyt dobrze ona działa, hehe). Z dokumentu dowiemy się także, że Pegasus składa się z warstw:

Infekujemy ofiarę z naszej piwnicy na drugim końcu świata

Instalacja może nastąpić na 2 sposoby; zdalnie i dwa lokalnie:

Over the Air: Wiadomość push jest wysyłana na urządzenie i skłania je do pobrania i zainstalowania agenta automatycznie. Ofiara nic nie musi robić i z niczego nie zdaje sobie sprawy.

Wiadomość push jest wysyłana na urządzenie i skłania je do pobrania i zainstalowania agenta automatycznie. Ofiara nic nie musi robić i z niczego nie zdaje sobie sprawy. Enhanced Social Engineering Message (ESEM): Jeśli opcja OTA nie jest możliwa, operator Pegasusa może wysłać tradycyjnego SMS-a lub e-maila do ofiary z linkiem. Jedno kliknięcie spowoduje próbę instalacji agenta Pegasusa na urządzeniu ofiary. Wszystko dzieje się “w tle”, czego ofiara nie będzie świadoma. Ale… to czy ofiara kliknie w link, zależy od wiarygodności wiadomości. Zostają też ślady po takiej wiadomości. No i co ważne — w tym wariancie — jeśli ofiara nie kliknie — nie zostanie zainfekowana.

Ale co najważniejsze — z punktu widzenia typowego klienta firmy NSO Group, który ma szpiegowskie ciągotki, ale brak odpowiedniej wiedzy technicznej — do obu ataków wymagane jest podanie jedynie numeru telefonu ofiary lub jej adresu e-mail.

Infekujemy ofiarę z bliska

Poza instalacją zdalną, opisaną powyżej, Pegasusa można też zainstalować będąc “w pobliżu” ofiary, nawet jeśli operator nie zna adresu e-mail lub numeru telefonu ofiary:

Tactical Network Element . Infekcja po przejęciu ruchu z urządzenia ofiary i wstrzyknięcia się w jego nieszyfrowaną porcję. Do wykonania np. za pomocą IMSI Catchera (który przy okazji także może odkryć numer telefonu ofiary) lub — jak się domyślamy — fałszywego hotspota/prawdziwego hotspota z odrobiną ARP spoofingu.

. Infekcja po przejęciu ruchu z urządzenia ofiary i wstrzyknięcia się w jego nieszyfrowaną porcję. Do wykonania np. za pomocą IMSI Catchera (który przy okazji także może odkryć numer telefonu ofiary) lub — jak się domyślamy — fałszywego hotspota/prawdziwego hotspota z odrobiną ARP spoofingu. Ręcznie. Manualna instalacja trwa poniżej 5 minut. Długo! Operator musi mieć dostęp do urządzenia ofiary przez cały ten czas. Podręcznik nie sugeruje jak można to wykonać, ale uważna lektura różnych dokumentów sądowych i książek szpiegowskich rysuje kilka scenariuszy:

– zaproszenie kogoś do miejsca, gdzie telefony zostawia się w “depozycie”

– podstawienie agenta (osoby), która uwiedzie/upije/uśpi ofiarę lub będzie w pomieszczeniu z ofiarą kiedy ta bierze prysznic

– kontrola drogowa “ze sprawdzeniem czy telefon nie jest kradziony”. Nigdy nie oddawajcie swoich telefonów, nawet najbardziej nieporadnie wyglądającemu policjantowi — na tylnim siedzeniu jego policyjnego VW może siedzieć niewidoczny operator Pegasusa.



Specjalnie dla Wykopowicza, który chciał być zabawny — pozdrawiamy i wyjaśniamy. Żaden VPN (Nawet Nord, który wciąż ma Aktualizacja 3.12.2019Specjalnie dla Wykopowicza, który chciał być zabawny — pozdrawiamy i wyjaśniamy. Żaden VPN (Nawet Nord, który wciąż ma promocję czarnopiątkową :P) nie ochroni przed infekcją Pegasusem, dlatego tego rozwiązania nie omawiamy w ekście. Infekcja OTA — na to VPN nie ma wpływu. Infekcja przez ESEM — na to VPN nie ma wpływu, ot “malware” ściągnie się przez tunel. Infekcja ręczna — na to VPN nie ma wpływu. VPN może pomóc ochronić się tylko przed infekcją przez TNE, bo węzeł pośredni nie będzie widział ruchu niezaszyfrowanego (o ile VPN jest skonfigurowany tak, że jest “always on”.)

W chwili tworzenia tej instrukcji w 2016 roku, wspierane były następujące modele telefonów (teraz — jak wiemy — są one nowsze):

Jak utrudnić lub uniemożliwić infekcję Pegasusem?

Co ciekawe, w przyczynach “porażek” instalacji, odnotowano:

Unsupported browser: the default browser of the device was previously replaced by the target. Installation from browsers other than the device default (and also Chrome for Android based devices) is not supported by the system.

Jeśli temu zawierzyć (i założyć, ze informacje te po 3 latach wciąż są aktualne), to lepiej nie korzystać z domyślnej przeglądarki, bo jest domyślnym wektorem ataku Pegasusa ;) Na Androidzie używano też Chrome’a — ale na iOS już nie. (Nie oznacza to, że przez Chrome się nie da przejąć kontroli nad telefonem na iOS — ot pewnie nie posiadali wtedy działającego exploita).

Oto dokładniejszy schemat instalacji agenta na urządzeniu:

Co ciekawe, Pegasus rozpoznaje urządzenie po stringu User-Agent, więc jego zmiana na niewłaściwy też paraliżuje atak:

The device, OS and browser are identified by the system using their HTTP user agent. If by any reason the user agent was manipulated by the target, the system might fail to correctly identify the device and OS and provide the wrong installation payload.

Czyżby oszukanie Pegasusa było naprawdę tak łatwe, jak ustawienie systemowego proxy podmieniającego User-Agent?

Co wykrada Pegasus?

Nie ma się co rozpisywać. Program wykrada wszystko. Od kontaktów przez lokalizację i zdjęcia aż do plików charakterystycznych dla niektórych aplikacji (w tym szyfrowanych komunikatorów).

Ciekawostką jest to, że licencja może uniemożliwić wykradanie materiałów historycznych. Czyli — funkcjonariusz uzyskuje zogdę na kontrolę operacyjną, ale od dziś. Infekuje telefon i Pegasus blokuje mu możliwość pobrania archiwalnych SMS-ów czy e-maili, ale pozwala na dostęp do nowonadchodzących.

To ciekawe, bo wygląda na raczej “miękkie” zabezpieczenie, bardziej po stronie logiki Pegasusa, którą zapewne można by obejść. Technicznie — pobranie tylko i wyłącznie aktualnych informacji, np. z szyfrowanego komunikatora jest problematyczne — są w tej samej bazie co starsze i lepiej ją parsować lokalnie po pobraniu z urządzenia w całości. Czyli — zgadujemy — że dane i tak są w całości pobierane ale funkcjonariusz w GUI Pegasusa widzi tylko odfiltrowane (aktualne) treści.

Podsłuchiwanie przez mikrofon, gdy ekran wygaszony

Pegasus ciekawie podchodzi do inwigilacji przez wbudowane w urządzenia mikrofony. Po prostu zestawia połączenie telefoniczne na urządzenie, które jest odbierane w agenta przy jednoczesnym wygaszeniu ekranu.

Jeśli ktoś sięgnie po telefon, agent to wykrywa (akcelerometry?) i rozłącza połączenie. Domyślamy się, że pewien lag jest odczuwalny, jeśli np. leżącego telefonu który ma zestawione połączenie podsłuchowe ktoś nie weźmie w rękę, ale tapnie w ekran. Ten nie może się włączyć, zanim połączenie nie zostanie rozłączone.

Mało miejsca na smartfonie ogranicza Pegasusa!

Pegasus nie wysyła danych non-stop. Twórcy ostrzegają, że to mogłoby ujawnić obecność trojana na urządzeniu. Preferowane jest Wi-Fi, ale można też agenta skonfigurować do przesyłania informacji przez sieć telefonii komórkowej (transmisja danych) a nawet przez SMS-y. Przy braku łączności, np. spowodowanej roamingiem, buforowanie jest możliwe standardowo do 5% wolnego miejsca na dysku.

A ładny on chociaż jest?

Oceńcie sami. W instrukcji jest kilka screenshotów GUI, podczas analizy kalendarza figuranta, odsłuchiwania przechwyconych rozmów i — co pokazaliśmy już na pierwszym zrzucie ekranu w tym artykule — lokalizowania go na mapie:

Przy okazji, jedną z ciekawych funkcji Pegasusa opisaną w instrukcji jest możliwość wykrywania spotkań 2 monitorowanych/zainfekowanych osób. Jeśli znajdą się blisko siebie — operator otrzyma powiadomienie.

Pójdzie to na moim pececie?

Nie bardzo. Wymagania sprzętowe dla “serca” Pegasusa są następujące:

Wdrożenie systemu (instalacja, testy i szkolenie operatorów) zajmuje ok. 4 miesięcy:

A potem już tylko regularne płacenie za aktualizacje oraz licencje roczne. I można inwigilować!

A inwigilować niestety czasami trzeba…

Na koniec tego artykułu kilka refleksji, z którymi chcemy Was zostawić. Służby od dawna wykorzystywały nowe zdobycze techniki do usprawniania swojej pracy (czyt. inwigilacji przestępców). Listy były otwierane, telegrafy (telegramy) były podsłuchiwane. Nie ma się co dziwić, że takie narzędzia (techniki) jak Pegasus powstają i działają w internecie — lub powstaną i będą działać w innym medium przez które komunikują się ludzie, w tym — niestety — także przestępcy.

Z inwigilacją trzeba się pogodzić. Jej się nie powstrzyma. Nie oznacza to jednak, że nie można jej kontrolować i nadzorować. Nie jest to łatwe. Bo kto ma kontrolować “kontrolujących”? W niektórych krajach zaufanie do służb (i ich nieomylności czy etyki) może być większe niż w innych. Ale czy istnieje jakiś system, który pozwoliłby na transparentne nadzorowanie służb? Przecież jednym z wymogów służb jest niejawność metod działania. Cieżko połączyć transparentny nadzór z niejawnością.

Przykładowo, Wasyl z GRU, wiedząc że Monika z jakiegoś NGO w Polsce nadzoruje poprawność wykorzystania technik inwigilacji przez np. polski kontrywiad, to pewnie od razu chciałby się na Monice skupić. Monika miałaby cenną wiedzę, a przecież jest tylko człowiekiem.

Obiło nam się o uszy, że w niektórych krajach — jeśli służby inwigilują Kowalskiego, a ich podejrzenia okazują się niesłuszne, to potem muszą Kowalskiemu o tym powiedzieć, a ten ma prawo ich pozwać. Niestety, nie jesteśmy w stanie znaleźć nigdzie potwierdzenia tej, zasłyszanej na pewnej konferencji, historyjki. Może któryś z Czytelników, prawników, zna takie przepisy?

Problem uprościć wiec możemy do tego, że wszyscy zgadzają się iż inwigilację trzeba kontrolować, ale jeszcze nikt nie znalazł na to prostej, transparentnej, wiarygodnej, rzetelnej i sprawiedliwej metody. Zbyt dużo konfliktów interesów.

Nie tylko CBA ma takie zabawki

I na koniec — wiele w mediach poświęciło się zdań temu, że to CBA posiada Pegasusa. Nikt jednak nie pokusił się o powiedzenie głośno, że podobne kompetencje i narzędzia mają inne służby. Dowodów może brak (co oznacza, że mają lepszy niż CBA opsec ;), ale byłoby wręcz niewiarygodne, gdyby jakaś służba nie chciała rozbudowywać kompetencji w tym kluczowym obszarze.

Korzystanie z takich narzędzi to zresztą żadna nowość (kilka lat temu pisaliśmy o tym, że CBA kupiła też trojana od HackingTeam). Widać, że służba ta konsekwentnie, od lat, niezależnie od tego kto jest przy władzy, realizuje swoje cele.

Inne służby mogą mieć więcej i/lub bardziej technicznego personelu lub współpracować z rynkiem prywatnym, co pozwala im nie tyle kupować gotowce od firm z Izraela, Włoch, czy USA — ale tworzyć takie oprogramowanie samodzielnie. Nie jest to wybitnie trudne, bo najważniejsze — podatności 0-day (czyli “naboje”) można kupić na wyłączność u takich brokerów podatności jak np. Zerodium (która odkrywającym błędy płaci nawet 2,5 miliona dolarów za błąd tej klasy, którą wykorzystuje Pegasus do przeniknięcia na smartfona ofiary).

Zdziwilibyśmy się wielce, gdyby eksperci z AW, ABW lub SKW nie używali tego typu oprogramowania/exploitów. Zdziwilibyśmy się jeszcze bardziej, gdyby te agencje — tak różne co do misji od CBA — korzystały z gotowca typu Pegasus, w operacje którego ma wgląd jego producent. Firma z Izraela, czy jakiegokolwiek innego Państwa. Zbyt ryzykowne.

I tyle pisania. Ale to nie koniec naszych przemyśleń odnośnie Pegasusa. Pamiętacie, że nagrywamy podcast “Na Podsłuchu“? I że nie wypuściliśmy 25 odcinka? No to właśnie go wypuściliśmy. Zgadnijcie czego dotyczy?

Listen to “NP #025 – ten, którego służby nie pozwoliły nam opublikować wcześniej” on Spreaker.



Miłego podsłuchiwania …nas. Ale, drodzy funkcjonariusze i agenci, umówmy się, że tylko w podcaście, ok? :)

PS. Żaden z nas nie planuje popełnić samobójstwa

Przeczytaj także: