Kompleks złośliwego oprogramowania „Droworub” zaraża systemy Linux

Agencja Bezpieczeństwa Narodowego oraz Federalne Biuro Śledcze USA opublikowały raport, według którego 85. głównym ośrodkiem specjalnej służby Głównego Zarządu Sztabu Generalnego Sił Zbrojnych Federacji Rosyjskiej (85 GЦСС ГРУ) wykorzystuje zestaw złośliwego oprogramowania o nazwie „Drewno”. W skład „Drewna” wchodzą rootkit w postaci modułu jądra Linux, narzędzie do przesyłania plików i przekierowywania portów sieciowych oraz serwer zarządzający. Część kliencka może pobierać i przesyłać pliki, wykonywać dowolne polecenia w imieniu użytkownika root oraz przekierowywać porty sieciowe na inne węzły w sieci.

Serwer zarządzający „Drewno” przyjmuje argument wiersza poleceń wskazujący ścieżkę do pliku konfiguracyjnego w formacie JSON:

{
„db_host” : „”,
„db_port” : „”,
„db_db” : „”,
„db_user” : „”,
„db_password” : „”,

„lport” : „”,
„lhost” : „”,
„ping_sec” : „”,

„priv_key_file” : „”,
„phrase” : „”
}

Jako backend używana jest baza danych MySQL. Do łączenia z klientami stosowany jest protokół WebSocket.

Klient posiada wbudowaną konfigurację, w tym adres URL serwera, jego klucz publiczny RSA, nazwę użytkownika i hasło. Po zainstalowaniu rootkita konfiguracja jest zapisywana w formie pliku tekstowego w formacie JSON, który jest ukrywany przed systemem przez moduł jądra „Drewno”:

{
„id” : „cbcf6abc-466b-11e9-853b-000c29cb9f6f”,
„key”: „Y2xpZW50a2V5”
}

Tutaj „id” to unikalny identyfikator nadany przez serwer, w którym ostatnie 48 bitów odpowiada adresowi MAC interfejsu sieciowego serwera. Parametr „key” domyślnie jest zakodowany w formacie base64 jako ciąg „clientkey”, który jest wykorzystywany przez serwer podczas wstępnego handshake. Ponadto plik konfiguracyjny może zawierać informacje o ukrywanych plikach, modułach i portach sieciowych:

{
„id” : „6fa41616-aff1-11ea-acd5-000c29283bbc”,
„key”: „Y2xpZW50a2V5”,
„monitor” : {
„file” : [
{
„active” : „true”,
„id” : „d9dc492b-5a32-8e5f-0724-845aa13fff98”,
„mask” : „testfile1”
}
],
„module” : [
{
„active” : „true”,
„id” : „48a5e9d0-74c7-cc17-2966-0ea17a1d997a”,
„mask” : „testmodule1”
}
],
„net” : [
{
„active” : „true”,
„id” : „4f355d5d-9753-76c7-161e-7ef051654a2b”,
„port” : „12345”,
„protocol” : „tcp”
}
]
}
}

Kolejny komponent „Drewna” to agent, którego plik konfiguracyjny zawiera informacje potrzebne do połączenia z serwerem:

{
„client_login” : „user123”,
„client_pass” : „pass4567”,
„clientid” : „e391847c-bae7-11ea-b4bc-000c29130b71”,
„clientkey_base64” : „Y2xpZW50a2V5”,
„pub_key_file” :„public_key”,
„server_host” : „192.168.57.100”,
„server_port” :„45122″
«server_uri» :»/ws»
}

Pola «clientid» i «clientkey_base64» początkowo nie są obecne, są dodawane po wstępnej rejestracji na serwerze.

Po zainstalowaniu wykonują się następujące operacje:

  • ładowany jest moduł jądra, który rejestruje haki dla wywołań systemowych;
  • klient rejestruje się w module jądra;
  • moduł jądra ukrywa działający proces klienta oraz jego plik wykonywalny na dysku.

Do interakcji klienta z modułem jądra używane jest pseudourządzenie, na przykład /dev/zero. Moduł jądra dokonuje analizy wszystkich danych zapisywanych w urządzeniu, a w celu przesłania w przeciwnym kierunku wysyła klientowi sygnał SIGUSR1, po czym ten odczytuje dane z tego samego urządzenia.

Aby odkryć «Drowara», można użyć analizy ruchu sieciowego za pomocą NIDS (złośliwa aktywność sieciowa w samym zainfekowanym systemie nie może być wykryta, ponieważ moduł jądra ukrywa używane przez siebie gniazda sieciowe, reguły netfilter i pakiety, które mogłyby zostać przechwycone przez gniazda raw). W systemie, w którym zainstalowano «Drowara», można wykryć moduł jądra, wysyłając mu polecenie ukrycia pliku:

touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

Utworzony plik «testfile» staje się niewidoczny.

Inne metody wykrywania obejmują analizę pamięci i zawartości dysku. Aby zapobiec infekcji, zaleca się użycie obowiązkowego sprawdzania podpisów jądra i modułów, dostępnego od wersji jądra linux 3.7.

Raport zawiera zasady Snort do wykrywania aktywności sieciowej «Drowara» oraz zasady Yara do wykrywania jego komponentów.

Przypominamy, że 85 GZSS GRU (w/c 26165) jest powiązany z grupą APT28 (Fancy Bear), odpowiedzialną za liczne cyberataki.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster