Злоумышленники используют Discord для скрытого управления вредоносными пакетами в экосистемах npm, PyPI и RubyGems

information security

Исследователи компании Socket обнаружили новую тактику киберпреступников, которые используют инфраструктуру Discord для организации каналов управления и передачи данных в рамках атак на цепочку поставок программного обеспечения. Вредоносные пакеты в репозиториях npm, PyPI и RubyGems.org применяют Discord Webhook (веб-перехватчик Discord) в качестве бесплатного и скрытного механизма командного контроля вместо развертывания собственной инфраструктуры.

Описание

Традиционно злоумышленники создавали выделенные серверы для управления компрометированными системами, однако сейчас они переходят к использованию легитимных сервисов. Веб-перехватчики Discord представляют собой HTTPS-эндпоинты, содержащие числовой идентификатор и секретный токен. Обладание URL-адресом такого перехватчика позволяет отправлять данные в целевой канал Discord без возможности просмотра предыдущих сообщений. Это создает идеальные условия для скрытной передачи информации, поскольку трафик выглядит как обычное HTTPS-соединение с популярным доменом, который часто разрешен в корпоративных брандмауэрах.

В экосистеме npm исследователи выявили пакет mysql-dumpdiscord, который целенаправленно ищет конфигурационные файлы, включая config.json, .env, ayarlar.js и ayarlar.json. Примечательно, что "ayarlar" переводится с турецкого как "настройки" или "конфигурация". Код читает содержимое этих файлов, форматирует его и отправляет через веб-перехватчик Discord, обрезая данные до 1900 символов при превышении лимита. Второй пример в пакете nodejs.discord представляет собой простую обертку для отправки текста на заранее заданный URL перехватчика, при этом все ошибки сети игнорируются.

В мире Python исследователи обнаружили пакет malinssx в репозитории PyPI, который использует переопределение команды установки setuptools. При установке через pip пакет автоматически отправляет сообщение на вьетнамском языке: "Кто-то только что установил пакет maladicus через pip!" на заранее заданный веб-перехватчик Discord. Ошибки передачи данных silently игнорируются через механизм try/except, что делает атаку практически незаметной для пользователя. Аналитики также нашли идентичные пакеты malicus и maliinn от того же автора sdadasda232323, использующие тот же URL Discord.

Наиболее информативной оказалась атака через RubyGems.org в пакете sqlcommenter_rails. Скрипт собирает extensive информацию о системе: содержимое файла /etc/passwd, DNS-серверы из /etc/resolv.conf, имя хоста, текущего пользователя, рабочие директории, метаданные пакета и внешний IP-адрес через сервис api.ipify.org. Все собранные данные форматируются в читаемое сообщение и передаются через веб-перехватчик Discord с использованием Net::HTTP over TLS, при этом ошибки передачи также игнорируются.

Экономика таких атак особенно опасна: злоумышленники избегают затрат на содержание собственной инфраструктуры, используя бесплатные сервисы. Веб-перехватчики не требуют аутентификации кроме знания URL, работают через HTTPS к популярным доменам и выглядят как обычные JSON-запросы, что делает традиционные методы блокировки по доменным именам или сигнатурам малоэффективными. При использовании в сочетании с хуками установки или скриптами сборки, вредоносные пакеты могут незаметно извлекать .env файлы, API-ключи и детали хостов с машин разработчиков и CI-серверов задолго до того, как runtime-мониторинг обнаружит подозрительную активность.

Эксперты отмечают, что аналогичные атаки уже используют веб-перехватчики других популярных сервисов, включая Telegram, Slack и GitHub, что дополнительно снижает эффективность IOC-обнаружения (Indicators of Compromise) и смещает фокус на поведенческие методы детектирования.

Командам безопасности рекомендуется рассматривать эндпоинты веб-перехватчиков как потенциальные каналы утечки данных, применять исходящий контроль трафика и белые списки, фиксировать и проверять зависимости, сканировать pull-запросы и процессы установки на предмет сетевых вызовов и доступа к секретам, регулярно обновлять учетные данные разработчиков по принципу наименьших привилегий. Один компрометированный пакет может осуществлять массовую exfiltration данных через экосистемы npm, PyPI, RubyGems и другие в течение считанных минут.

Инструменты безопасности Socket специально разработаны для обнаружения подобных паттернов exfiltration через Discord до их внедрения. GitHub App от Socket анализирует pull-запросы в реальном времени на предмет новых рисков, включая hardcoded URL веб-перехватчиков, исходящие сетевые вызовы или хуки установки. CLI-интерфейс Socket обеспечивает такие же проверки во время установки через npm/pip/gem, блокируя вредоносные пакеты на входе. Механизм Socket Firewall блокирует известные вредоносные пакеты до их загрузки менеджером пакетов, включая транзитивные зависимости, через посредническую обработку запросов зависимостей. Браузерное расширение Socket помечает подозрительные пакеты при просмотре репозиториев, выделяя известные вредоносные вердикты и typosquatting-атаки. Для AI-ассистированного программирования, Socket MCP предупреждает, когда системы рекомендаций кода предлагают рискованные зависимости, что особенно критично в условиях перехода злоумышленников к использованию веб-перехватчиков для командного контроля и сбора секретов.

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

URLs

  • https://discord.com/api/webhooks/1323713674971713676/uTpNuxUSkn3puz8OqBnPanCqmFPfX-2PSbVuglMDJgl-05NiYb7sjeXkgJb3wK-9kvvl
  • https://discord.com/api/webhooks/1388446357345534073/wbKG-um_NnL_OcWryP5tQppLK0bTCehqvB6RVUoqG5h01zSKsWEJz2aCwSg0-0nBYbgl
  • https://discord.com/api/webhooks/1410258094511882250/fPTbDPbFfrSaOKDwXDfeqfwlKlhdS5tpev8nD7giRFhAldmRpJaGlI6Y5IWqOpdxYNbx
  • https://discord.com/api/webhooks/1410983383676227624/KArVBMhnq29RvB_if2-eE5ptf2J6P00qGD-amGrPdejhXJZ-4D-Apl5MWBaOFIsEVlY_

Malicious Packages

  • mysql-dumpdiscord
  • nodejs.discord
  • malinssx
  • malicus
  • maliinn
  • sqlcommenter_rails

Threat Actor Aliases

  • hasankls47
  • sdadasda232323
Комментарии: 0