Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Agent.btz: źródło inspiracji?

Aleksander Gostiew
Kaspersky Lab Expert
Dodany 21 marca 2014, 11:22 CET
Tagi:

W ostatnim czasie w branży bezpieczeństwa IT toczyły się szerokie dyskusje na temat kampanii cyberszpiegowskiej o nazwie Turla, znanej również pod nazwą Snake oraz Uroburos, za którą, według ekspertów G Data, mogły stać rosyjskie służby specjalne.   

Badanie przeprowadzone przez BAE SYSTEMS wskazuje m.in. na związek między autorami Turla a twórcami innego szkodliwego oprogramowania, Agent.BTZ, które w 2008 r. zainfekowało lokalne sieci amerykańskich operacji wojskowych na Bliskim Wschodzie.

Po raz pierwszy dowiedzieliśmy się o tej kampanii ukierunkowanej w marcu 2013 roku. Sprawa stała się oczywista, gdy zbadaliśmy incydent, w którym wykorzystano wysoce wyrafinowanego rootkita. Nadaliśmy mu nazwę „Sun rootkit” od nazwy pliku wykorzystywanego jako wirtualny system plików: sunstore.dmp, dostępny również jako \\.\Sundrive1 oraz \\.\Sundrive2. „Sun rootkit” oraz Uroburos stanowią to samo.      

Nadal aktywnie badamy Turlę. Sądzimy również, że jest szkodnik ten jest o wiele bardziej złożony i wszechstronny niż sugerują opublikowane już materiały. 

W tym miejscu chciałbym bardziej szczegółowo omówić związek pomiędzy Turla a Agent.btz.

Agent.btz: globalna epidemia czy atak ukierunkowany?

Historia Agent.btz, która ma swój początek w 2007 roku, była obszernie relacjonowana w środkach masowego przekazu pod koniec 2008 roku, gdy szkodnik ten został wykorzystany do zainfekowania amerykańskich sieci wojskowych.  

Oto, jak incydent ten został opisany w Wikipedii: „Atak cybernetyczny na Stany Zjednoczone w 2008 roku stanowił ‘największe w historii włamanie do komputerów amerykańskiej armii’. Obrona przed tym atakiem otrzymała nazwę Operation Buckshot Yankee. Atak ten przyczynił się do powstania amerykańskich sił cyberstrategicznych (ang. United States Cyber Command)”.  

Wszystko zaczęło się od tego, że nośnik USB zainfekowany przez zagraniczną agencję wywiadowczą został pozostawiony na parkingu obiektu Departamentu Obrony w bazie na Bliskim Wschodzie. Dysk zawierał szkodliwy kod i został umieszczony w porcie USB laptopa przyłączonego do amerykańskiej sieci wojskowej.     

Niemal 14 miesięcy zajęło Pentagonowi usunięcie robaka o nazwie Agent.btz z sieci wojskowych. Agent.btz, który jest wariantem robaka SillyFDC, potrafi „skanować komputery w celu znalezienia danych, otwierać tylne drzwi i wysyłać je za pośrednictwem tych backdoorów do zdalnego serwera kontroli”.

Nie wiemy, ile jest prawdy w historii o pozostawionym na parkingu nośniku USB. Słyszeliśmy również wiele innych wersji tej historii, które mogą być prawdziwe lub nie. Istotne znaczenie ma tu fakt, że Agent.btz jest robakiem komputerowym, który rozprzestrzenia się automatycznie, a nie tylko trojanem. Kolejnym ważnym czynnikiem jest to, że szkodnik ten posiada kilkanaście różnych wariantów.      

Uważamy, że pierwotne warianty robaka zostały stworzone jeszcze w 2007 roku. W 2011 r. wykryto sporą liczbę modyfikacji. Dzisiaj produkty firmy Kaspersky Lab wykrywają większość wariantów jako Worm.Win32.Orbina.   

Co ciekawe, zgodnie z nomenklaturą stosowaną przez PC Tools, robak ten występuje również pod nazwą Voronezh.1600 – jest to prawdopodobnie nawiązanie do mitycznej szkoły hakerów Voronezh w Rosji. 

Nie ma wątpliwości, że wojsko amerykańskie nie było jedyną ofiarą opisywanego robaka. Szkodnik ten szybko rozprzestrzeniał się na całym świecie, kopiując się z jednego nośnika USB na inny. Mimo że przez kilka lat nie stworzono żadnych jego nowych wariantów, a luka umożliwiająca temu robakowi uruchamianie się z nośnika USB przy użyciu autorun.inf już dawno została załatana w nowszych wersjach Windowsa, z naszych danych wynika, że w samym tylko 2013 r. Agent.btz został wykryty 13 832 razy w 107 państwach na całym świecie!

Warto zwrócić również uwagę na dynamikę epidemii tego robaka. W ciągu trzech lat – od 2011 do 2013 r. – liczba infekcji spowodowanych przez Agent.btz stale malała; jednak lista 10 najbardziej zainfekowanych państw zmieniła się w bardzo niewielkim stopniu.   

Wykrycia robaka Agent.BTZ (unikatowi użytkownicy)

2011

1

Federacja Rosyjska

24111

2

Hiszpania

9423

3

Włochy

5560

4

Kazachstan

4412

5

Niemcy

3186

6

Polska

3068

7

Łotwa

2805

8

Litwa

2016

9

Wielka Brytania

761

10

Ukraina

629

 

Łączna liczba państw

147

 

Łączna liczba użytkowników

63021

 

Wykrycia robaka Agent.BTZ (unikatowi użytkownicy)

2012

1

Federacja Rosyjska

11211

2

Hiszpania

5195

3

Włochy

3052

4

Niemcy

2185

5

Kazachstan

1929

6

Polska

1664

7

Łotwa

1282

8

Litwa

861

9

Wielka Brytania

335

10

Ukraina

263

 

Łączna liczba państw

130

 

Łączna liczba użytkowników

30923

 

Wykrycia robaka Agent.BTZ (unikatowi użytkownicy)

2013

1

Federacja Rosyjska

4566

2

Hiszpania

2687

3

Niemcy

1261

4

Włochy

1067

5

Kazachstan

868

6

Polska

752

7

Łotwa

562

8

Litwa

458

9

Portugalia

157

10

Wielka Brytania

123

 

Łączna liczba państw

107

 

Łączna liczba użytkowników

13832

Przedstawione powyżej dane statystyczne opierają się na następujących werdyktach Kaspersky Anti-Virus: Worm.Win32.Autorun.j, Worm.Win32.Autorun.bsu, Worm.Win32.Autorun.bve, Trojan-Downloader.Win32.Agent.sxi, Worm.Win32.AutoRun.lqb, Trojan.Win32.Agent.bve, Worm.Win32.Orbina.

Powyższe dane wyraźnie wskazują na to, że robak Agent.btz występuje na całym świecie, przy czym pod względem liczby infekcji od wielu lat dominuje w Rosji.

gostev_agent_btz_01_auto.jpg

W zainfekowanych systemach Agent.btz tworzy plik o nazwie ‘thumb.dd’ na wszystkich nośnikach USB podłączonych do komputera i wykorzystuje go do przechowywania pliku CAB zawierającego następujące pliki: “winview.ocx”, “wmcache.nld” oraz “mswmpdat.tlb”. Pliki te zawierają informacje dotyczące zainfekowanego systemu oraz dzienniki aktywności robaka dla tego systemu. Zasadniczo “thumb.dd” stanowi kontener danych, który jest zapisywany na dysku flash, chyba że może zostać wysłany bezpośrednio przez internet do serwera kontroli.    

Jeżeli dysk flash zostanie podpięty do innego komputera zainfekowanego przez Orbina, plik “thumb.dd” zostanie skopiowany na komputer pod nazwą “mssysmgr.ocx”.

Biorąc pod uwagę funkcjonalność oraz globalną skalę epidemii spowodowanej przez tego robaka, uważamy, że na świecie istnieją dziesiątki tysięcy nośników USB zawierających plik o nazwie “thumb.dd” stworzony kiedyś przez Agent.btz i zawierający informacje o zainfekowanych tym robakiem systemach.  

Red October: kolekcjoner danych?

Ponad rok temu przeanalizowaliśmy kilkanaście modułów wykorzystywanych przez szkodnika o nazwie Red October będącego częścią niezwykle wyrafinowanej operacji cyberszpiegowskiej. Podczas przeprowadzania analizy zauważyliśmy, że lista plików wyszukiwanych przez moduł o nazwie „USB Stealer” na podłączonych do zainfekowanego komputera nośnikach USB zawiera nazwy plików stworzonych przez Agent.btz “mssysmgr.ocx” oraz “thumb.dd”.     

gostev_agent_btz_02_auto.png

To oznacza, że twórcy kampanii Red October aktywnie szukali danych zebranych kilka lat wcześniej przez robaka Agent.btz. Wszystkie znane nam moduły USB Stealer zostały stworzone w latach 2010-2011.  

Zarówno Red October jak i Agent.btz zostały, według wszelkiego prawdopodobieństwa, stworzone przez rosyjskojęzycznych twórców szkodliwego oprogramowania. Jeden program „wiedział” o plikach stworzonych przez drugi program i próbował je wykorzystać. Czy jednak to wystarczy, aby stwierdzić, że istniał bezpośredni związek pomiędzy twórcami tych dwóch szkodliwych programów?   

Według mnie, nie.

Przede wszystkim, należy zauważyć, że powszechnie wiadomo było o tym, że plik “thumb.dd” zawiera dane z systemów zainfekowanych przez robaka Agent.btz. Nie można wykluczyć ewentualności, że twórcy Czerwonego Października, którzy musieli wiedzieć o dużej liczbie infekcji spowodowanych przez robaka Agent.btz oraz o tym, że robak ten zainfekował sieci amerykańskiej armii, próbowali po prostu wykorzystać pracę innych osób, aby zebrać dodatkowe dane. Trzeba również pamiętać, że Red October to narzędzie służące do przeprowadzania wysoce ukierunkowanych ataków, podczas gdy Agent.btz to robak, który z definicji ma się rozprzestrzeniać w niekontrolowany sposób i „gromadzić” wszelkie dane, do jakich może uzyskać dostęp.         

Zasadniczo każdy twórca szkodliwego oprogramowania mógł dodać skanowanie nośników USB w poszukiwaniu plików “thumb.dd” oraz kradzież tych plików do funkcjonalności swojego trojana. Dlaczego nie ukraść dodatkowych danych bez wielkiego, dodatkowego wysiłku? Jednak odszyfrowanie skradzionych danych wymaga czegoś jeszcze – klucza szyfrowania.  

Agent.btz a Turla/Uroburos

Związek między szkodnikiem Turla a Agent.btz jest bardziej bezpośredni, jednak niewystarczający do tego, aby stwierdzić, że oba te programy pochodzą z tego samego źródła.  

Turla wykorzystuje te same nazwy plików co Agent.btz – “mswmpdat.tlb”, “winview.ocx” oraz “wmcache.nld” dla swoich plików dziennika przechowywanych w zainfekowanych systemach.

  gostev_agent_btz_03_auto.png

 Wszystkie pokrywające się nazwy plików zostały przedstawione w tabeli poniżej:

Agent.btz

Czerwony Październik

Turla

Pliki dziennika

thumb.dd

thumb.dd

 

 

winview.ocx

 

winview.ocx

 

mssysmgr.ocx

mssysmgr.ocx

 

 

wmcache.nld

 

wmcache.nld

 

mswmpdat.tlb

 

mswmpdat.tlb

 

fa.tmp

 

fa.tmp

Ponadto Agent.btz i Turla wykorzystują ten sam klucz XOR w celu szyfrowania swoich plików dziennika:

1dM3uu4j7Fw4sjnbcwlDqet4F7JyuUi4m5Imnxl1pzxI6
as80cbLnmz54cs5Ldn4ri3do5L6gs923HL34x2f5cvd0fk6c1a0s

Klucz również nie jest sekretem: został wykryty i opublikowany jeszcze w 2008 roku i każdy, kto interesował się historią o Agent.btz, wiedział o tym kluczu. Czy to możliwe, że twórcy Turli postanowili wykorzystać cudzy klucz w celu zaszyfrowania własnych dzienników? Nie jesteśmy jeszcze w stanie ustalić, kiedy ten konkretny klucz został zaadaptowany dla szkodnika Turla. Jest obecny w najnowszych próbkach (pochodzących z lat 2013-2014), jednak według niektórych danych, zaczęto go rozwijać już w 2006 roku – zanim został stworzony najwcześniejszy znany wariant Agent.btz.       

Czerwony Październik a Turla

Ustaliliśmy, że Czerwony Październik „znał” nazwy plików wykorzystywanych przez szkodnika Agent.btz i szukał ich. Stwierdziliśmy również, że Turla wykorzystywał te same nazwy plików oraz klucz szyfrowania co Agent.btz.  

Czy możliwe zatem, że istnieje związek między Czerwonym Październikiem a Turla? Po przeanalizowaniu wszystkich posiadanych danych nie można powiedzieć, żeby projekty te miały ze sobą coś wspólnego. Nie „znają się nawzajem”, nie komunikują się pomiędzy sobą w żaden sposób, różnią się pod względem swojej architektury i wykorzystywanych technologii.  

Jedynym wspólnym mianownikiem jest to, że twórcy zarówno Rocra jak i Turla posługują się rosyjskim jako językiem ojczystym.   

Flame

Jeszcze w 2012 r., podczas analizy Flame’a i jego kuzynów: Gaussa i MiniFlame’a, dostrzegliśmy kilka podobieństw pomiędzy tymi szkodnikami a Agent.btz (Orbina). Pierwszą rzeczą, jaką zauważyliśmy, było stosowanie analogicznego nazewnictwa z dostrzegalną dominacją wykorzystywania plików z rozszerzeniem .ocx. Jako przykładem posłużmy się nazwą głównego modułu Flame’a – “mssecmgr.ocx”. W Agent.btz zastosowano bardzo podobną nazwę dla kontenera pliku dziennika w zainfekowanym systemie - “mssysmgr.ocx”. W Gaussie natomiast wszystkie moduły miały formę plików o nazwie *.ocx.   

Funkcja

Flame

Gauss

Metody szyfrowania

XOR

XOR

Wykorzystanie USB jako miejsca przechowywania

Yes (hub001.dat)

Yes (.thumbs.db)

 Moduł Kurt/Godel w Gaussie zawiera następującą funkcjonalność: gdy dysk zawiera plik '.thumbs.db', jego zawartość zostaje przeczytana i sprawdzona pod kątem obecności magicznego numeru 0xEB397F2B. Jeśli numer ten zostanie znaleziony, moduł stworzy %commonprogramfiles%\system\wabdat.dat i zapisze dane w tym pliku, a następnie usunie plik '.thumbs.db'.    

Jest to kontener dla danych kradzionych przez szkodliwą funkcję 'dskapi'.

Ponadto, MiniFlame (moduł icsvnt32) „wiedział” również o pliku ‘.thumbs.db’ i szukał go na pendrive’ach podłączonych do zainfekowanego komputera.     

Zważywszy, że według naszych danych rozwój Flame’a i Gaussa rozpoczął się jeszcze w 2008 r., nie można wykluczyć, że twórcy tych programów zapoznali się z analizą Agent.btz i wykorzystali kilka zaczerpniętych stamtąd pomysłów w swoich pracach rozwojowych. 

Podsumowanie

Przytoczone dane te można przedstawić w formie diagramu pokazującego wzajemne związki pomiędzy wszystkimi analizowanymi szkodliwymi programami:

Jak pokazuje diagram, twórcy wszystkich trzech (a nawet czterech, jeśli uwzględnimy Gaussa) programów szpiegujących wiedzieli o Agent.btz, tj. w jaki sposób działa i jakie stosuje nazwy plików, i wykorzystywali te informacje w celu bezpośredniego zapożyczenia funkcjonalności, pomysłów, a nawet nazw plików lub próbowali wykorzystać wyniki pracy Agent.btz.    

Podsumowując powyższe, można uznać szkodnika Agent.btz za punkt wyjścia w łańcuchu tworzenia kilku różnych projektów cyberszpiegowskich. Szeroko relacjonowana wiadomość o infekcji sieci amerykańskiej armii mogła posłużyć za model dla nowych programów szpiegowskich o podobnych celach, a zastosowane technologie zostały najwyraźniej szczegółowo zbadane przez wszystkie zainteresowane strony. Czy za tymi wszystkimi programami stały te same osoby? Możliwe, jednak fakty nie potwierdzają tego.