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

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

W dzisiejszym artykule opisujemy pewien problem istniejący w firmach i organizacjach, związany z tożsamościami nieludzkimi (non-human identities), czyli inaczej – tożsamościami niezwiązanymi z pracow...
Nowe podatności w architekturze sieci 5G

Nowe podatności w architekturze sieci 5G

Nowe badania nad architekturą 5G ujawniły lukę w zabezpieczeniach modelu dzielenia sieci oraz zwirtualizowanych funkcjach sieciowych, które można wykorzystać do nieautoryzowanego dostępu do danych, a tak...
Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie adresów URL ogranicza zawartość stron internetowych, do których użytkownicy mają dostęp. Odbywa się to poprzez blokowanie określonych adresów URL przed załadowaniem. Firmy wdrażają filtrowanie...
Pięć prognoz cyberbezpieczeństwa na 2026 rok

Pięć prognoz cyberbezpieczeństwa na 2026 rok

Końcówka roku to tradycyjnie czas podsumowań – ale również przewidywań. Dr Torsten George pokusił się właśnie o te ostatnie. Portal SecurityWeek opublikował jego pięć prognoz cyberbezpieczeństwa na rok 2026. Do...
Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Podatności typu Local Privilege Escalation (LPE) pozostają jednym z kluczowych elementów realnych ataków na systemy Windows. Nawet przy poprawnie skonfigurowanym systemie i aktualnym oprogramowaniu bł...