Троянизированные npm-пакеты распространяют Linux-имплант RedShell
Кластер троянизированных пакетов npm, маскирующихся под утилиты для работы с календарём или отслеживания серий, распространяет Linux-имплант RedC2 RedShell вместе с легитимным кодом для вычисления дат. Импорт такого пакета, в том числе транзитивного, запускает загрузчик без вызова хука жизненного цикла npm или экспортированной функции. Флаг --ignore-scripts не предотвращает выполнение.
Загрузчик в пакетах npm
Пакеты содержат ELF-бинарный файл под разными именами и в разных расположениях. Точка входа dist/index.mjs запускает асинхронный загрузчик при импорте модуля. Загрузчик определяет путь к бинарному файлу относительно import.meta.url, меняет его права доступа на 0755, проверяет захардкоженный SHA-256-хеш и запускает файл.
RedShell переходит в фоновый режим с помощью двойного форка, игнорирует сигнал SIGPIPE и фиксирует начальную рабочую директорию. Имплант многократно пытается установить исходящее соединение с 217.60.77.63:8792, используя 127.0.0.1:8792 как резервный адрес.
Основной канал команд работает через TLS, но проверка сертификатов отключена. Команды передаются с префиксом длины и дополнительно защищаются пользовательской процедурой XOR и ROR1.
Сбор данных и возможности импланта
Модуль собирает системную информацию:
- имя пользователя;
- имя хоста;
- операционную систему;
- архитектуру;
- статус root;
- сетевые адреса;
- идентификатор процесса (PID);
- постоянный идентификатор установки из
~/.config/.rsvc.
Публичный IP-адрес определяется через api.ipify.org. RedShell поддерживает произвольное выполнение команд оболочки через /bin/sh -c, разведку на уровне хоста и сети, управление процессами и учётными записями, файловые операции, сбор SSH-ключей и учётных данных браузера, обнаружение баз данных и интерактивное туннелирование.
Имплант может загружать архивы на litterbox.catbox.moe, выводить данные по незашифрованному HTTP на 217.60.77.63:8060, а также скачивать файлы или полезную нагрузку с порта 8888. Поддерживается безфайловое выполнение через memfd_create, выполнение шеллкода с помощью mmap, загрузка разделяемых библиотек и запуск удалённо размещённых сценариев.
Для сетевого пивотинга используются следующие возможности:
- прокси SOCKS5;
- перенаправление TCP-портов;
- туннели обратного шелла.
Закрепление и экосистема RedC2
Закрепление может устанавливаться с помощью следующих механизмов:
- записей cron
@reboot; - модификации файла
.bashrc; - пользовательских служб systemd;
- записей автозапуска XDG.
Более широкий фреймворк RedC2 включает импланты для Windows и macOS, а также интерфейс Red Agent с поддержкой LLM. Интерфейс преобразует запросы на естественном языке в последовательности команд маяка.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



