TXTBOOK: атака через подмену npm-зависимостей на инфраструктуру Т‑Банка
Летом 2026 года исследователи обнаружили целевую кампанию по подмене зависимостей (dependency confusion) против Tinkoff/T-Bank и связанной инфраструктуры. В отличие от бессистемного засорения реестра npm, оператор опубликовал 993 вредоносных пакета, названия которых восстанавливают закрытое пространство имён пакетов организации. Это указывает на высокую осведомлённость злоумышленников о внутренних процессах жертвы.
Масштаб кампании и целевая инфраструктура
Около 850 названий пакетов имеют строгую связь с T-Bank, включая пакеты, связанные с BNPL, бизнес-банкингом, аналитикой, платежами, внутренними клиентами сервисов и проприетарными аналогами публичных проектов, таких как Tramvai и Taiga UI. Названия пакетов также раскрывают внутренние пути сервисов, что свидетельствует о том, что оператор имел доступ к детальному инвентарю среды разработки жертвы или получил его иным образом.
Техника атаки и обход защиты
Вредоносные пакеты выполняют код при импорте через вызов точки входа, указанный в зависимости. Более ранняя активность в PyPI использовала файл конфигурации запуска интерпретатора, тогда как вариант для npm был специально пересобран для новой экосистемы и избегал reliance на хук установки.
Для публикации использовались одноразовые аккаунты: 153 аккаунта разделяли домен электронной почты web-library.net, следовали шаблону имени пользователя из 12 символов (строчные буквы и цифры) и, как правило, публиковали только один или два пакета. Это позволяло кампании быстро возобновляться после первоначальных блокировок, так как удаление пакетов или аккаунтов не останавливало её.
Механизм загрузки и доставка полезной нагрузки
Зловредный загрузчик использует целевой шлюз и содержит зашифрованную таблицу из девяти имён хостов для сборок под Windows, macOS и Linux ARM64. Три записи относятся к инфраструктуре Т-Банка: репозиторий артефактов Nexus, репозиторий пакетов Linux и конечная точка оповещения CloudPayments. В наблюдаемых случаях детонации загрузчик сначала запрашивал nexus.tcsbank.ru, а затем связывался с инфраструктурой злоумышленников, и продолжал работу только при ответе от инфраструктуры жертвы — это помогало гарантировать выполнение внутри предполагаемой сети.
Доставка полезной нагрузки выполняется посредством последовательных DNS-запросов TXT-записей. Несколько сотен TXT-записей, каждая из которых содержит фрагменты размером в несколько сотен байт, собираются в нативный исполняемый файл. Итоговая полезная нагрузка представляет собой внедрение Sliver.
Возможности шпионского ПО Sliver
Sliver предоставляет обширные возможности для постэксплуатации, включая:
- выполнение команд;
- выполнение .NET-сборок;
- подгрузку DLL (DLL sideloading);
- повышение привилегий;
- миграцию процессов;
- дампинг памяти;
- сбор данных из файловой системы и скриншотов;
- доступ к реестру и офлайн-хранилищам (offline hive);
- перемещение внутри компании на основе SSH и Kerberos;
- туннелирование через SOCKS и WireGuard;
- проброс портов;
- управление службами.
Шпионское ПО использует шифрование age, подписи Ed25519 minisign и пять выбираемых кодировщиков трафика. Два сервера операторов обслуживают разные группы сборок: Windows и Linux ARM64 используют один сервер, тогда как Linux x64 — другой. Шпионские программы Linux раскрывают криптографические материалы и имена хостов C2 в открытом виде, что позволяет выполнять офлайн-дешифровку трафика.
Рекомендации по обнаружению и реагированию
Обнаружение должно отдавать приоритет ограничению доступа к частным реестрам, последовательностям DNS TXT, инфраструктуре подготовки и ключам серверов minisign, а не полагаться исключительно на списки блокировки по именам пакетов.
Наличие любого указанного пакета в файле блокировки должно рассматриваться как потенциальная компрометация, требующая ротации учетных данных и расследования среды сборки.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



