Обнаруженная вредоносная программа NginRAT почти невидима для защитных средств, поскольку умеет скрываться в легитимных процессах веб-сервера Nginx. Что характерно, устанавливает этот вредонос другой RAT-троянец.
Злоумышленники устанавливают на серверы электронной коммерции новый скрытный вредонос, обеспечивающий им удаленный доступ к системе — NginRAT. Эта программа встраивается в легитимные процессы всемирно известного веб-сервера Nginx, разработанного российским программистом Игорем Сысоевым, так, что средства обнаружения ее не видят.
NginRAT может использоваться для кражи данных платежных карт из онлайн-магазинов. Данную программу обнаружили на нескольких серверах электронной коммерции в США и Европе. Они уже были заражены другим RAT-троянцем — CronRAT, который, по данным экспертов компании Sansec, устанавливает NginRAT на атакованные системы. Для этого он скачивает вредоносную системную библиотеку Linux в /dev/shm/php-shared и запускает ее с помощью отладочной программы LD_PRELOAD.
Такой симбиоз выглядит довольно странно, учитывая, что NginRAT и CronRAT выполняют примерно одну и ту же функцию обеспечения удаленного доступа к серверу. Как отметил директор по исследованиям угроз Sansec Виллем де Грот (Willemde Groot), оба троянца, скорее всего, дублируют друг друга, чтобы обеспечивать постоянный удаленный доступ к зараженным серверам.
Для того, чтобы изучить NginRAT, экспертам Sansec пришлось создать модифицированную версию CronRAT и с ее помощью перехватить обмен информацией между троянцем и контрольным сервером, который, как оказалось, располагается на территории Китая.
Исследователи заставили контрольный сервер прислать и запустить поддельный код общей библиотеки, «подсветив» таким образом вредонос.
«NginRAT фактически захватывает приложение Nginx на хосте, чтобы оставаться незамеченным. Для этого он модифицирует ключевую функциональность ОС Linux, запущенной на хосте. Когда легитимный веб-сервер Nginx использует эту функциональность (например, dlopen), NginRAT перехватывает ее, чтобы внедрить себя в процесс», — поясняется в публикации Sansec.
Такое внедрение процесса обеспечивает его невидимость: отличить легитимный процесс Nginx от вредоносного практически невозможно. К тому же код NginRAT существует только в памяти сервера.
Как установили исследователи, вредонос запускается с помощью двух переменных: LD_PRELOAD и LD_L1BRARY_PATH. Во второй, в слове Library вместо буквы «i» используется «1», поэтому активный вредоносный процесс можно выявить, запустив команду
$ sudo grep -al LD_L1BRARY_PATH /proc/*/environ | grep -v self/
/proc/17199/environ
/proc/25074/environ
Эксперты Sansec указывают, что если на сервере найден NginRAT, то это означает присутствие и CronRAT. Администраторам рекомендовано в таком случае проверить задачи планировщика Cron.
«Ничего нового в том, что один вредонос устанавливает другой, в сущности, нет, однако обычно такие программы различаются по своему назначению, — говорит Никита Павлов, эксперт по информационной безопасности компании SEQ. — В данном же случае речь идет о взаимной страховке двух, в разной степени скрытных RAT-троянцев, так что даже если один будет обнаружен и нейтрализован, у злоумышленников все равно останется удаленный доступ к системе. Такое встречается довольно редко».
Нажимая на кнопку, я даю Согласие на обработку персональных данных в соответствии с Политикой обработки.