Новый Linux-троян QLNX нацелен на кражу учетных данных разработчиков и атаки на цепочки поставок ПО

remote access Trojan

Специалисты по информационной безопасности всё чаще обращают внимание на угрозы, исходящие от рабочих станций разработчиков. Именно эти машины, нередко защищённые слабее серверных инфраструктур, становятся идеальной целью для злоумышленников. Недавно исследователи из Trend Micro обнаружили новый вредоносный инструмент, предназначенный для скрытного закрепления в Linux-системах и хищения учётных данных, открывающих доступ к облачным сервисам и репозиториям пакетов. Речь идёт о трояне удалённого доступа (RAT) под названием Quasar Linux, или сокращённо QLNX.

Описание

В отличие от привычных вредоносных программ для Windows, QLNX написан исключительно под Linux. Он представляет собой полнофункциональный набор для слежки, кражи данных и скрытого присутствия в системе. Зловред исполняется без записи на диск - он копирует себя в оперативную память через системный вызов memfd_create, после чего удаляет оригинальный файл. Процесс маскируется под одно из имён потоков ядра, например [kworker/0:0] или [rcu_sched], что делает его практически невидимым для стандартных утилит мониторинга. Подмена имени происходит сразу в трёх местах: в аргументах командной строки, в видимом ядром имени потока и в файле /proc/self/comm.

QLNX обладает впечатляющим арсеналом средств для закрепления в системе. Оператор может выбрать один или сразу несколько механизмов: создание systemd-сервисов, запись в crontab, установка init.d-скрипта, добавление в .bashrc, использование XDG-автозапуска или инжекция через файл /etc/ld.so.preload. Последний способ особенно опасен. Вредонос компилирует разделяемую библиотеку прямо на атакуемой машине с помощью установленного компилятора gcc и добавляет её в системный список предзагрузки. После этого каждый запущенный процесс - даже простая команда ls - будет подгружать код руткита. Если убить процесс вредоноса, но не очистить /etc/ld.so.preload, библиотека мгновенно запустит его заново.

Помимо руткита на уровне пользовательского пространства, QLNX включает контроллер для взаимодействия с eBPF (механизмом ядра Linux, позволяющим выполнять изолированные программы в пространстве ядра). Эта возможность позволяет скрывать процессы, файлы и сетевые порты на уровне ядра, что делает обнаружение через стандартные утилиты вроде ps или netstat практически невозможным. Для работы с eBPF требуются права суперпользователя и версия ядра не ниже 4.18, однако при их наличии злоумышленник может управлять списком скрываемых элементов прямо с командно-контрольного сервера (C&C).

Ключевая особенность QLNX - нацеленность на кражу учётных данных, используемых в процессах разработки и DevOps. Когда оператор отдаёт команду 0x90 (harvest), вредонос последовательно собирает приватные ключи SSH, логины и пароли из браузеров (Chrome, Chromium, Firefox), а затем проходит по жёстко заданному списку конфигурационных файлов. В него входят: .npmrc (токены доступа к реестру NPM), .pypirc (учётные данные PyPI), .git-credentials, файлы AWS (.aws/credentials), конфигурация Kubernetes (.kube/config), Docker credentials (.docker/config.json), токены HashiCorp Vault, Terraform и .env-файлы. Каждый собранный элемент снабжается меткой с указанием категории и пути, после чего отправляется на сервер управления.

Такой широкий охват означает, что всего один скомпрометированный компьютер разработчика может открыть злоумышленнику доступ к целой экосистеме. Имея на руках токены NPM или PyPI, атакующий способен опубликовать троянизированную версию популярного пакета и заразить тысячи пользователей. Аналогично через AWS-ключи он может получить контроль над облачной инфраструктурой, а через SSH-ключи - перемещаться между серверами. Эта модель атаки уже была продемонстрирована в недавнем инциденте с компрометацией цепочки поставок LiteLLM в марте 2026 года, где кража учётных данных одного разработчика позволила внедрить вредоносный код в пакет с миллионами загрузок в день.

Ещё один опасный компонент QLNX - бэкдор для подсистемы аутентификации PAM (Pluggable Authentication Modules, модули подключаемой аутентификации). Он также компилируется на месте и перехватывает все события входа в систему. Вредонос сохраняет перехваченные пароли в скрытых файлах /var/log/.ICE-unix и /var/log/.Test-unix, используя XOR-шифрование. Кроме того, в коде предусмотрен мастер-пароль (O$$f$QtYJK), позволяющий обойти проверку подлинности. Этот бэкдор может перехватывать учётные данные не только для локального входа, но и для SSH, sudo и других привилегированных операций.

QLNX поддерживает три протокола связи с командным сервером: собственный бинарный протокол поверх TLS, а также HTTPS и HTTP. Все варианты несут одинаковые команды; по умолчанию используется зашифрованное TCP-соединение. После установки соединения вредонос отправляет маячковый пакет с версией вредоноса (1.4.1), данными об операционной системе, привилегиях, географическом положении (через ip-api.com) и уникальным отпечатком машины. Если связь теряется, программа использует случайные паузы с "джиттером", чтобы избежать обнаружения по шаблонам сетевого поведения.

Среди 58 зарегистрированных команд - выполнение произвольных команд в интерактивной PTY-оболочке, управление файлами, запуск SOCKS-прокси, сканирование портов, захват экрана, перехват нажатий клавиш и даже выполнение BOF-файлов (Beacon Object File) прямо в памяти. Особого внимания заслуживает возможность создания одноранговой (P2P-сети) между заражёнными хостами. Импланты могут ретранслировать трафик друг друга, что существенно усложняет полное искоренение вредоносной сети. Даже если один из агентов будет обнаружен и отключён, остальные продолжат работу через другие узлы.

Скрытность QLNX обеспечивается не только маскировкой процесса, но и чисткой следов. Вредонос удаляет системные переменные окружения OLDPWD и _, которые могут выдать путь к исполняемому файлу. Он также стирает файлы временных исходных кодов руткитов и PAM-модулей сразу после компиляции. Кроме того, существует команда для очистки системных журналов (auth.log, syslog, wtmp, bash_history), что затрудняет расследование инцидента.

Для компаний, чьи разработчики работают на Linux, появление QLNX означает новый уровень угрозы. Защита рабочих станций с помощью современных решений класса EDR/XDR и обязательное использование многофакторной аутентификации для доступа к реестрам пакетов и облачным сервисам становятся уже не рекомендацией, а необходимостью. Важно также регулярно проверять наличие подозрительных записей в /etc/ld.so.preload и отслеживать необычную активность процессов, маскирующихся под потоки ядра. Как показывает опыт, скрыть такую активность становится всё сложнее, если применять современные методы обнаружения аномалий.

Индикаторы компрометации

SHA256

  • 417430b2d4ae8d005224a9ff5dcb4007d452338acbcbcbb62c4e8ed1a70552dd
  • 42d0c420eb5fe181388f2e4f0b7d7c0d302971e7a06fdc1bec481b68c8ccae1f
  • 82daa93219ba40a6e41cdf3174ba57eb5d3383d1cd805584e9954eb0200182a1
  • c99cf0dc1ef1057d713cb082acaf42e4df4656809c91741752bddcab39bbfaca
  • d55549d5655e2f202e215676f4bdb0994ea08a93d15ec4ded413f64cfa7facc8
  • ea1d34b21b739a6bbf89b3f7e67978005cf7f3eda612cefc7eac1c8ead7c5545
  • ea89caab82181881d971be312412795051f6322b105c8b9d29cfb5729fab8d33

Комментарии: 0