Разработчикам софта для Azure подсунули 200 шпионских NPM-пакетов

Разработчикам софта для Azure подсунули 200 шпионских NPM-пакетов

Разработчикам софта для Azure подсунули 200 шпионских NPM-пакетов

Специалисты DevOps-компании JFrog обнаружили в репозитории npm 218 вредоносных пакетов, предназначенных для использования в проектах на основе SDK Azure. Получив уведомление, операторы веб-сервиса быстро удалили опасные находки, однако к тому времени их успели скачать в среднем по 50 раз.

Согласно блог-записи JFrog, внедренный в npm-пакеты зловред нацелен на кражу персональных данных, позволяющих установить личность (personal identifiable information, PII). Чтобы скрыть истинные намерения, автор новой атаки на цепочку поставок применил тайпсквоттинг — позаимствовал имена легитимных библиотек, но без префикса @azure.

По всей видимости, этот элемент социальной инженерии рассчитан на невнимательность пользователей: npm-пакеты, ориентированные на Microsoft Azure, еженедельно скачивают десятки миллионов раз, но при установке разработчик может по ошибке опустить @azure, отдавая команду npm install.

Чтобы отвести от себя подозрения, злоумышленник публиковал свои пакеты под уникальными юзернеймами, используя скрипт для автоматизации процесса. Он также фальсифицировал номера версий, выдавая зловреда за новый вариант хорошо известной библиотеки (например, за сборку 99.10.9), то есть создавал задел для атаки вида «путаница зависимостей».

Экспресс-тест показал, что вредоносный код, распространяемый в рамках выявленной кампании, запускается автоматически после установки пакета и сливает на сторону следующую информацию:

  • листинг каталогов C:\, D:\, / и /home;
  • имя пользователя;
  • домашний каталог пользователя;
  • текущий рабочий каталог;
  • IP-адреса всех сетевых интерфейсов;
  • IP-адреса серверов DNS в настройках;
  • имя (успешно) установленного вредоносного пакета.

Все эти данные выводятся на удаленный сервер двумя способами: через HTTPS-запрос POST или DNS-запрос, в который вставлена вся украденная информация в виде шестнадцатеричного числа. Имя узла назначения (425a2[.]rt11[.]ml) вшито в код зловреда.

Исследователи полагают, что вредоносная полезная нагрузка в данном случае используется для проведения разведки перед боем, и за ней может последовать более серьезная угроза. Не исключено также, что это попытка выявить уязвимости в популярном софте для Azure и получить от Microsoft премию в рамках программы bug bounty.

Целевые атаки при помощи вредоносных загрузок в npm, PyPI и другие публичные хранилища кодов нередки, и операторы таких веб-сервисов стараются быстро реагировать на такие инциденты. Исследователи из JFrog выслали уведомление о новых находках через два дня после их публикации, и в npm все оперативно вычистили, но зловред все-таки успел проникнуть на тысячи устройств.

Снизить риски в отношении подобных атак, по мнению экспертов, поможет более тщательная проверка публикаций в репозиториях, а также усиление защиты. Можно, к примеру, включить в процедуру регистрации тест CAPTCHA — он затруднит массовое создание аккаунтов, и вычислить злоумышленника станет проще.

Бесплатные VPN начали умирать за пару дней, IP уже ни при чём

Бесплатный VPN из Telegram бодро запускается, а через несколько дней Reels замирают, YouTube уходит в бесконечную загрузку, а Gemini встречает ошибкой 403. Современные системы фильтрации научились распознавать туннели даже без расшифровки трафика.

По версии пользователя Хабра Djin22, теперь одного нового IP-адреса может быть недостаточно.

Анализаторы изучают размеры пакетов, интервалы между ними, структуру TLS-соединения и другие косвенные признаки. Если трафик ведёт себя как прокси, маскировка под обычный HTTPS уже не всегда спасает.

Один из характерных сценариев автор называет «проблемой 16 КБ»: соединение успешно устанавливается, передаёт первые данные, а затем резко замедляется или обрывается. Для борьбы с этим используют фрагментацию пакетов, уменьшение размера TCP-сегментов и десинхронизацию DPI с помощью zapret. Идея проста: сервер должен получить нормальный поток, а анализатор — головоломку.

Отдельная история — сервисы Google. Они могут учитывать TLS-отпечаток клиента и замечать, когда программа притворяется Chrome не слишком убедительно. В sing-box для более правдоподобной имитации браузера применяют uTLS.

Если Telegram не работает даже через VLESS Reality, автор предлагает ShadowTLS v3: протокол маскирует соединение под обычную TLS-сессию с разрешённым ресурсом. Ещё один приём — padding, то есть добавление случайных данных для изменения размеров пакетов и усложнения статистического анализа.

В качестве готовых вариантов Djin22 перечисляет hynet.cloud, AmneziaVPN, Red Shield VPN, Cloudflare WARP и собственные серверы на Xray или sing-box. Однако часть текста о hynet.cloud выглядит рекламно, а заявления об «эмуляции JA4», residential-маршрутизации и автоматическом переключении протоколов приводятся без независимого подтверждения.

RSS: Новости на портале Anti-Malware.ru