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

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...
Jeszcze o Mythos!

Jeszcze o Mythos!

W bardzo dobrym artykule autorstwa mojego redakcyjnego kolegi możemy znaleźć kompendium wiedzy o Mythos – niedawno ogłoszonym modelu AI od Anthropic. Produkt ten wywołał panikę w branży ze względu na zdolno...
Czym jest Microsoft Entra Backup and Recovery?

Czym jest Microsoft Entra Backup and Recovery?

Przez długi czas odzyskiwanie zmian w Microsoft Entra opierało się głównie na kilku osobnych mechanizmach: soft-delete dla części obiektów, logach audytowych, eksportach konfiguracji i ręcznym odtwarza...
Kolejny poważny zero-day. Nowe luki omijają BitLockera i pozwalają przejąć uprawnienia SYSTEM

Kolejny poważny zero-day. Nowe luki omijają BitLockera i pozwalają przejąć uprawnienia SYSTEM

Eksperci ds. cyberbezpieczeństwa alarmują o dwóch nowych lukach typu zero-day w systemie Windows, mogących mieć poważne konsekwencje dla bezpieczeństwa użytkowników i firm. Podatności, którym nadano naz...
Linux na celowniku – Copy-Fail i root exploit, który trafia na listę CISA

Linux na celowniku – Copy-Fail i root exploit, który trafia na listę CISA

Linux od lat kojarzy się z systemem stabilnym i bezpiecznym, szczególnie w środowiskach serwerowych i chmurowych. Problem w tym, że gdy pojawia się podatność na poziomie jądra lub mechanizmów zarządza...