Menu dostępności

Malware ukryty w serwerach Nginx

Specjaliści z firmy Sansec odkryli, że nowe złośliwe oprogramowanie atakuje popularny serwer webowy Nginx. Nowatorski kod wirusa wstrzykuje się do aplikacji hosta Nginx i jest prawie niewidoczny. Malware służy do kradzieży danych klientów z serwerów eCommerce, a takie typy ataków znane są w świecie cybersecurity pod szyldem „Magecart”. Stealer został znaleziony na serwerach w USA, Niemczech i Francji.

Poniżej opiszemy, jak znaleźć go na serwerze i usunąć.

Ciekawy jest przypadek odkrycia tego malware przez Sansec. Specjaliści ponoć umieścili znanego RATa (Remote Access Trojan) ze znanym chińskim serwerem podanym jako C2 i czekali na złośliwą komunikację. Nie musieli długo czekać, aż zgłosił się właśnie nieznany wcześniej malware. Nazwali go NginRAT.

NginRAT zasadniczo przywłaszcza sobie aplikację hosta Nginx w celu ukrycia swojej obecności. Aby to zrobić, NginRAT modyfikuje core systemu hosta Linux. Gdy legalny serwer WWW Nginx korzysta z jednej z podmienionych funkcjonalności (np. dlopen), NginRAT wstrzykuje się. Rezultatem jest trojan zdalnego dostępu, który osadzony jest w procesie Nginx. Na typowym serwerze internetowym eCommerce istnieje wiele procesów Nginx. A nieuczciwy Nginx wygląda tak samo jak inne. Jesteś w stanie dostrzec różnicę?


Analiza bardziej techniczna

Jak wspominaliśmy wcześniej, pojawienie się NginRAT na zainfekowanym systemie poprzedzone było infekcją innego znanego trojana o nazwie CronRAT, który komunikuje się ze swoim serwerem C&C o adresie 47[.]115.46.167:443 za pomocą niestandardowych poleceń. Jednym z nich jest „dwn”, które pobiera bibliotekę systemu Linux do „/dev/shm/php-shared”. Następnie CronRAT otrzymuje polecenie uruchomienia takiej komendy:

To „wołanie o pomoc” skutecznie wstrzykuje pasożyta NginRAT do aplikacji Nginx na infekowanym hoście. Więc co tu się dzieje? Poniższy schemat powinien trochę rozjaśnić sprawę.

Zgodnie z komendą, do Nginx przekazywane są dwie zmienne. Pierwsza to LD_L1BRARY_PATH. Zauważyłeś 1 literówkę? Zmienna ta zawiera klucz deszyfrujący dla ładunku RAT.

Druga to LD_PRELOAD, która jest funkcją debugowania Linuksa. Programiści używają jej do testowania nowych bibliotek systemowych. Jednak może być również używana do przechwytywania standardowych wywołań bibliotek Linux. Jak widać, złośliwa biblioteka php-shared przechwytuje dlopen i dlsym, których używa Nginx:

Gdy Nginx wywoła dlopen, kontrolę przejmuje już NginRAT. Usuwa plik php-shared, zmienia nazwę procesu na „nginx: worker process”, zbiera informacje o systemie i otwiera połączenie z serwerem C&C pod adresem 47[.]115.46.167. Następnie czeka na dalsze polecenia, prawdopodobnie „śpiąc” przez tygodnie lub miesiące.


Jak wykryć i usunąć NginRAT?

Ponieważ NginRAT osadza się w legalnym procesie hosta Nginx, standardowy „/proc/PID/exe” będzie wskazywał na Nginx, a nie na złośliwe oprogramowanie. Ponadto kod biblioteki nigdy nie jest zapisywany na dysku i nie można go sprawdzić po jego uruchomieniu. Jednak użycie LD_L1BRARY_PATH (z literówką) może ujawnić obecność tej konkretnej wersji NginRAT. Aby znaleźć jakiekolwiek aktywne procesy, uruchamiamy to polecenie:

Pokaże ono wszelkie złośliwe procesy. Następnie wystarczy zabić wszystkie za pomocą „kill -9 ”. Warto sprawdzić również zaplanowane zadania w CRON, gdyż mogą istnieć z powodu CronRAT.

Popularne

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

Powstał nowy, zaawansowany zestaw exploitów wymierzony w użytkowników iPhone’ów. Narzędzie o nazwie DarkSword pokazuje, że nawet platformy uznawane za jedne z najbezpieczniejszych mogą stać się celem...
Uwaga! Nowa aktualizacja Chrome usuwa aż osiem poważnych podatności!

Uwaga! Nowa aktualizacja Chrome usuwa aż osiem poważnych podatności!

W poniedziałek Google ogłosiło nową aktualizację Chrome 146, usuwającą osiem poważnych podatności związanych z bezpieczeństwem pamięci. Na pierwszym miejscu znalazł się CVE-2026-4673 – błąd typu h...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Czym jest passphrase i dlaczego to lepsze rozwiązanie niż tradycyjne hasło

Czym jest passphrase i dlaczego to lepsze rozwiązanie niż tradycyjne hasło

Passphrase to sekwencja słów, zwykle dłuższa niż tradycyjne hasło, używana do uwierzytelniania lub zabezpieczania dostępu do systemu komputerowego, konta internetowego czy innego zasobu cyfrowego. Najczę...
Łamanie hasła PDF-a przy pomocy John The Ripper

Łamanie hasła PDF-a przy pomocy John The Ripper

O John the Ripper wspominaliśmy już raz opisując to narzędzie jako warte uwagi dla każdego pentestera. To szybki program do łamania haseł, obecnie dostępny dla wielu odmian systemów Unix, macOS, Windows...