Lurk: wzorowa organizacja cyberprzestępcza

Sprawdzamy, co badacze zapamiętali najbardziej, jeśli chodzi o ugrupowanie Lurk.

Proces sądowy twórców trojana bankowego Lurk dobiegł końca. Ich zatrzymanie to wynik bezprecedensowej wspólnej operacji wielu władz i pomocy naszych ekspertów. Przestępcy zostali aresztowani w 2016 roku, ale śledztwo i sprawa sądowa ciągnęły się przez kolejne pięć lat. Trudno się temu dziwić, ponieważ liczba podejrzanych i ofiar była bezprecedensowa: członków ugrupowania Lurk trzeba było przewieźć do sądu autobusem, a akta sprawy liczyły 4000 tomów (jeden tom ma około 250 stron). Nakład pracy był kolosalny i zajął mnóstwo czasu, każdy zapis i oświadczenie było drobiazgowo analizowane, ale ostatecznie w 2018 roku przed sądem stanęło 27 oskarżonych.

Kaspersky monitoruje działania tej grupy od 2011 roku. Po raz pierwszy usłyszałem o niej, kiedy dołączyłem do firmy w 2013 roku. Pamiętam, że pomyślałem sobie, że złapanie ich pozwoliłoby mi przejść na emeryturę. Byłby to najważniejszy punkt w mojej karierze. W porównaniu ze zwykłymi cyberprzestępcami w tamtych czasach, ugrupowanie to wydawało się naprawdę wyrafinowane, zarówno pod względem technicznym, jak i organizacyjnym. Dziś prawdopodobnie byłbym pod mniejszym wrażeniem i po prostu uznałbym, że postępuje ono zgodnie z najlepszymi praktykami.

Wyrok sądu to dobry pretekst, aby przyjrzeć się bliżej temu, co było tak wyjątkowe w tej działalności cyberprzestępczej.

Schemat infekcji

Zacznijmy od wektora infekcji. Atakujący zastosowali taktykę ataku u wodopoju, publikując na różnych stronach internetowych należących do mediów biznesowych przekierowanie do zestawu exploitów. Chociaż metoda ta nie była nowa, w tym przypadku, aby doszło do infekcji, ofiara (która zawsze była z księgowości) musiała odwiedzić stronę podczas przerwy śniadaniowej (i tylko w tym czasie). Zestaw exploitów pobierał na jej komputer bezplikowego trojana, który był używany wyłącznie do szpiegowania.

Cyberprzestępcy najpierw sprawdzali, jakie programy działały na komputerze, czy obecne było na nim oprogramowanie bankowe lub jakiekolwiek ślady oprogramowania śledczego, a także z jakimi podsieciami się łączył (główny nacisk kładziono na sieci bankowe i rządowe). Innymi słowy, oceniali, czy komputer był dla nich przydatny – a przy tym dokładnie wiedzieli, kogo chcą zainfekować.

Główne szkodliwe oprogramowanie było pobierane tylko wtedy, gdy komputer rzeczywiście zawierał coś interesującego. Cyberprzestępcy mogli też kraść na wszelki wypadek wszystkie hasła i usuwać z urządzenia ofiary to szkodliwe oprogramowanie.

Komunikacja z serwerem kontroli

Równie niezwykły był proces wymiany informacji między trojanem a serwerem kontroli (ang. command-and-control, C&C). W tamtych czasach większość trojanów zawierała zakodowany na stałe adres serwera. Atakujący wprowadzali nazwę domeny, ale pozostawiali sobie możliwość zmiany adresu IP serwera w razie potrzeby: jeśli straciliby kontrolę nad głównym adresem serwera kontroli, mogliby zastąpić go adresem zapasowym. Ogólnie był to dość prymitywny mechanizm bezpieczeństwa. Ugrupowanie Lurk zastosowało zupełnie inne podejście: metodę godną opisania w powieści szpiegowskiej.

Przed sesją komunikacyjną Lurk obliczał adres serwera kontroli. Cyberprzestępcy wchodzili na portal Yahoo i sprawdzali kurs akcji konkretnej firmy (gdy prowadziliśmy nasze badanie, był to McDonald’s). W zależności od wartości akcji w określonym momencie generowali nazwę domeny i uzyskiwali do niej dostęp. Mówiąc w skrócie, aby kontrolować trojana, cyberprzestępcy śledzili cenę akcji w danym momencie i na jej podstawie rejestrowali nazwę domeny. W ten sposób nie wiadomo było, jaka nazwa domeny zostanie użyta dla serwera kontroli.

Załóżmy, że algorytm zostałby wbudowany w trojana. Czy badacz mógłby wygenerować taką sekwencję, zarejestrować nazwę domeny przed cyberprzestępcami i zaczekać, aż trojan się z nią połączy? Niestety, twórcy szkodnika Lurk byli tu dość ostrożni. Stosowali oni kryptografię asymetryczną — generowano parę kluczy, po czym bot, który uzyskiwał dostęp do serwera kontroli, używał klucza publicznego, aby sprawdzić, czy naprawdę należy on do jego właścicieli (weryfikując podpis cyfrowy). Oszustwo nie jest możliwe, gdy nie zna się tajnego klucza, zatem tylko jego właściciel może odbierać żądania od botów i wydawać polecenia — w ten sposób żaden badacz z zewnątrz nie może podszywać się pod serwer kontroli. Inni cyberprzestępcy nie korzystali wtedy z tej metody ochrony, więc ochrona klucza prywatnego na serwerze oznaczała, że ma się do czynienia z atakiem ugrupowania Lurk.

Zorganizowana infrastruktura

Na osobną wzmiankę zasługuje konfiguracja procesów. W tamtym czasie inne ugrupowania cyberprzestępcze składały się z przypadkowych użytkowników forum (ktoś zajmował się programowaniem, ktoś inny wypłacał pieniądze, trzecia osoba była koordynatorem), ale opisywane tu ugrupowanie działało jak pełnoprawna firma IT. Bardziej można je porównać do dużej korporacji programistycznej niż do grupy cyberprzestępczej. Co więcej, pod względem poziomu organizacyjnego do dziś pozostaje wzorem dla konkurencji.

Lurk był prowadzony przez prawdziwych zawodowców (najprawdopodobniej z dużym doświadczeniem w rozwoju), którzy utworzyli niezmiernie zorganizowaną infrastrukturę z menedżerami i personelem HR. W przeciwieństwie do większości gangów, płacili oni swoim pracownikom pensję (a nie procent wpływów). Organizowali nawet cotygodniowe odprawy, co w tamtych czasach było zupełnie niespotykane. Krótko mówiąc, była to działająca wzorowo, chociaż wyrządzająca szkody korporacja.

Uwzględniony został nawet system oparty na rolach, który ograniczał dostęp do informacji. Po aresztowaniu niektórzy członkowie grupy przeczytali korespondencję swoich szefów i dopiero wtedy zdali sobie sprawę, że nie byli traktowani sprawiedliwie.

Wszystkie swoje działania dokumentowali oni znacznie skrupulatniej niż wiele dzisiejszych firm IT. To oczywiście znacząco pomogło w dochodzeniu i być może ostatecznie doprowadziło do upadku ugrupowania: im bardziej systematyczne jest Twoje podejście, tym łatwiej cię wyśledzić. Oto kilka przykładów.

Bazy wiedzy

Grupa Lurk rozwijała szczegółową, podzieloną na projekty bazę wiedzy. Każdy projekt był dostępny tylko dla określonego kręgu osób — uczestnicy jednego projektu nie wiedzieli o działaniach innego. Projekty bardzo różniły się pod względem zakresu, od wysoce technicznych po organizacyjne. Projekty techniczne również zostały podzielone na poziomy. Na przykład twórcy trojanów mieli dostęp do bazy wiedzy zawierającej tylko określone zagadnienia: jak ominąć programy antywirusowe, jak przeprowadzać testy i tak dalej. Ale istniały również ogólne bazy danych dotyczące bezpieczeństwa operacyjnego (podobne do przepisów bezpieczeństwa spisanych w dużych firmach). Zawierały one informacje o tym, jak pracownicy ugrupowania Lurk powinni skonfigurować swoje stacje robocze, aby uniknąć wykrycia, i jak korzystać z narzędzi służących do anonimizacji.

Dostęp do informacji

Aby uzyskać dostęp do zasobów informacyjnych pozyskanych przez program Lurk, cyberprzestępcy musieli połączyć się z jakimś serwerem za pośrednictwem kilku sieci VPN. W efekcie otrzymywali jedynie dostęp do zarządzania botami. Następnie każdy pracownik otrzymywał własny certyfikat i własne konto z różnymi uprawnieniami. Innymi słowy, działalność przypominała sieć korporacyjną skonfigurowaną do pracy zdalnej. Gdyby nie brak autoryzacji dwuetapowej, ugrupowanie to można byłoby uznać za modelową firmę.

Fizycznie wszystkie serwery znajdowały się w różnych centrach danych i w różnych krajach. Połączenie się z jednym z nich na poziomie wirtualnym za pośrednictwem VPN-a nie ujawniało prawdziwego adresu IP serwera. W dużej mierze właśnie to sprawiło, że grupa była tak trudna do wywęszenia.

Rozwój

Grupa Lurk miała odpowiednie repozytoria kodu źródłowego, zautomatyzowane procedury kompilacji i wieloetapowe testy, serwer produkcyjny, serwer testowy i serwer programistyczny. Zasadniczo tworzyła ona poważne oprogramowanie: w każdej chwili dysponowała produkcyjną, testową i deweloperską wersją trojana.

Popularne serwery kontroli typowego trojana mogły wtedy odbierać żądania od botów, logować je do bazy danych i udostępniać panel administracyjny do zarządzania nimi. Wszystko to zostało skutecznie wdrożone na jednej stronie. Lurk zaimplementował osobno panel administracyjny i bazę danych, natomiast mechanizm wysyłania odpowiedzi dla botów został całkowicie przykryty usługą pośredniczącą.

Zestawy exploitów

Lurk miał trzy zestawy exploitów, o różnych nazwach: jeden wewnętrzny, stworzony przez jego twórców; jeden dla klientów i partnerów; i jeden przydzielony przez badaczy. Rzecz w tym, że cyberprzestępcy ci nie tylko korzystali z własnych opracowań, ale także sprzedawali zestawy exploitów innym zainteresowanym. Co więcej, wersje dla „partnerów” miały inny kod, co najwyraźniej miało na celu sprawienie wrażenia, że jest to kolejny bardzo popularny zestaw exploitów.

Upadek ugrupowania Lurk

Wszystkie sztuczki, które stosowali cyberprzestępcy, niewiele pomogły. Większość z nich została aresztowana, chociaż zdążyli już wyrządzić szkody: podczas swojej długiej kariery napastnikom udało się ukraść około 45 milionów dolarów. Nasi eksperci badali ich metody przez prawie sześć lat (co, nawiasem mówiąc, dostarczyło cennego doświadczenia, które nadal wykorzystujemy do zwalczania cyberprzestępczości).

Więcej informacji na temat wspomnianego zagrożenia jest dostępnych w serwisie SecureList.

Porady