Бэкдор внутри Nginx: новая угроза для Linux-серверов не оставляет опасные запросы в логах

leer en español

1826
Бэкдор внутри Nginx: новая угроза для Linux-серверов не оставляет опасные запросы в логах

Команды приходят в заголовках запросов и не попадают в логи доступа

image

Новый бэкдор CWPdoor прячется прямо внутри панели управления Linux-серверами, не попадает в журналы доступа и пока остаётся невидимым для антивирусов. Исследователи обнаружили следы реального заражения, а потенциальными целями могут стать сотни тысяч серверов.

Специалисты XLab компании QiAnXin изучили вредоносную версию cwpsrv, веб-сервера, на котором работает интерфейс Control Web Panel (CWP). Панель позволяет управлять сайтами, почтой, DNS и другими службами без командной строки. По оценке платформы Hunter, за последний месяц из интернета были доступны более 340 тысяч экземпляров CWP. Речь идёт о потенциальных целях, а не о заражённых системах.

Первый след исследователи заметили 29 июня 2026 года. Подозрительный скрипт cwpsrv_update.sh выдавал замену серверного компонента за обновление. Для работы требовались права root. Скрипт скачивал вредоносный файл с адреса 136.0.141.71, подменял им оригинальный cwpsrv и перезапускал службу. Известные образцы рассчитаны на версии 1.15.10 и 1.24.0.

Подмена устроена так, чтобы не нарушить работу панели. Установщик проверяет запуск процессов, а при ошибке возвращает исходный файл. После успешной установки удаляет временные файлы и резервную копию, восстанавливает прежние временные метки файла и каталога, а также стирает команду из истории оболочки. При обычном просмотре файлов заметить замену трудно.

Сам CWPdoor не связывается с управляющим сервером по собственной инициативе. Вредоносный код встроен в переработанный cwpsrv на базе Nginx и ждёт HTTP- или HTTPS-запроса с тремя специальными заголовками. Один содержит время, второй зашифрованную команду, третий цифровую подпись. Без корректной подписи запрос обрабатывается как обычный.

После проверки RSA-подписи и времени в пределах пяти минут CWPdoor расшифровывает команду алгоритмом AES-256-CBC. Отдельный вспомогательный процесс выполняет её, а результат возвращается в зашифрованном HTTP-ответе. Одновременно вредонос подменяет контекст модуля журналирования, чтобы опасный запрос не появился в логах доступа.

Подтверждение заражений появилось 30 сентября. Из Бразилии на VirusTotal загрузили архив с двумя подозрительными файлами. Один относился к известному Linux-бэкдору Ebury, второй оказался CWPdoor. Антивирусные движки не распознали CWPdoor, хотя Ebury большинство определило. Связь между двумя программами не доказана, их могли установить разные злоумышленники.

В техническом разборе XLab приводятся признаки компрометации. Администраторам советуют искать Unix-сокет ngx_http_integrity_helper командой ss -axp | grep integrity и проверять исполняемый файл cwpsrv на строки X-Ngx-Integrity. При заражении нужно восстановить чистый компонент, обновить CWP, сменить учётные данные панели и проверить сервер на другие угрозы. Каким способом атакующие получают первоначальный доступ, пока неизвестно.