В npm найдены 24 пакета с поддельной проверкой Cloudflare и скрытым перенаправлением

Атака на цепочку поставок NPM

В реестре npm развернута кампания по распространению поддельной страницы проверки Cloudflare. Компания OX Security выявила 24 пакета, внутри которых находится один и тот же HTML-файл. Каждый такой пакет успевал набрать от 50 до 300 загрузок в неделю, прежде чем его удаляли. Такие кампании не единичны, однако данная примечательна тем, что атакующие полностью отказались от классических методов доставки вредоносного кода через исполняемые файлы.

Описание

Скачивание и установка этих пакетов сами по себе не наносят прямого вреда. Вредоносный код активируется, когда пользователь открывает HTML-файл в браузере. Дело в том, что HTML-файл - это полноценная веб-страница, которая выполняется в браузере. Если пользователь откроет её, он увидит интерфейс, имитирующий официальную проверку Cloudflare. Большинство разработчиков привыкли доверять таким элементам, поэтому с высокой вероятностью нажмут кнопку подтверждения. Однако основная цель атакующих - не заразить разработчиков, а использовать реестр и его зеркала как надежное хранилище для вредоносного контента.

Реестр npm автоматически зеркалируется множеством сервисов, среди которых unpkg, npmmirror, yarn и другие. Зеркала работают автоматически: как только пакет попадает в npm, его копия появляется на десятках сторонних серверов. Некоторые из них отдают файлы напрямую, без дополнительных проверок. Эти сервисы предоставляют прямые ссылки на файлы внутри пакетов, в том числе на HTML-страницы. В результате любой пользователь, перешедший по такой ссылке, видит полностью отрисованную страницу на домене доверенного зеркала, которое для браузера выглядит безопасным. Именно поэтому атакующие используют зеркала как бесплатный хостинг для фишинговых страниц и прочих вредоносных материалов. Даже если пакет удалить из официального реестра, его копия продолжит жить в зеркалах.

По данным OX Security, пакеты публиковались волнами с 4 по 24 августа. Большая часть из них уже удалена, однако на момент публикации отчёта несколько экземпляров оставались доступными. Каждый пакет имел случайное имя, что затрудняет автоматическое обнаружение. В ранних версиях вредоносная страница использовала домен, имитирующий сервисы Microsoft, с опечаткой в названии. После того как этот домен заблокировали, атакующие переключились на легитимный сервис хранения пар ключ-значение, через который они получают зашифрованные данные и перенаправляют браузер на нужный адрес.

При открытии HTML-страницы пользователь видит поддельное окно проверки Cloudflare. Страница имитирует процесс подтверждения, что вы не робот, и одновременно отправляет запрос на внешний сервер. Вредоносный код также проверяет, не открыт ли браузер в автоматическом режиме, чтобы скрыть свою активность от систем анализа. Через некоторое время браузер перенаправляет пользователя на другой сайт, контролируемый злоумышленниками. В текущей конфигурации это легитимный сайт ChatGPT, однако управляющий сервер позволяет в любой момент поменять целевой адрес на фишинговую страницу или вредоносную загрузку ClickFix. ClickFix - это техника, при которой пользователя обманом заставляют скопировать и выполнить команду, открывающую доступ к его системе. Подобные схемы всё чаще используются в атаках на организации, поскольку они обходят многие традиционные средства защиты.

Атаки с использованием зеркал npm особенно опасны для компаний, которые применяют прокси-серверы с белыми списками, разрешающими доступ только к доверенным доменам. Зеркала пакетов часто включены в такие списки, и злоумышленники это учитывают. В результате фильтры безопасности пропускают вредоносный контент, потому что он размещен на репутационно чистом домене. Дополнительную сложность создаёт то, что HTML-страница не похожа на вредоносное ПО: антивирусы не всегда распознают её как угрозу, а пользователь не замечает подвоха.

В связи с этим стоит относиться к доменам зеркал npm как к потенциальным источникам фишинга, если они используются не для скачивания пакетов. Эти домены следует добавить в списки контроля репутации и системы обнаружения фишинга. Администраторам стоит проверять журналы прокси и DNS на предмет прямых запросов к HTML-файлам внутри зеркал. Регулярное обновление систем управления контентом (CMS) и использование двухфакторной аутентификации также снижают риски, но главное - понимать, что доверенные домены не всегда означают безопасный контент. Компаниям, которые активно используют JavaScript-экосистему, следует наладить мониторинг появления подозрительных пакетов и блокировать доступ к ним на уровне прокси.

Подобные схемы, скорее всего, продолжат развиваться, поскольку регистрация и загрузка пакетов в npm остаются бесплатными. Отслеживание инфраструктурных злоупотреблений требует от компаний расширенного взгляда на угрозы: за пределами классических вредоносных семейств остаются атаки с использованием легальных сервисов для хранения данных. Опыт OX Security показывает, что даже простой HTML-файл, размещенный в реестре, может стать частью многоступенчатой фишинговой кампании. Злоумышленники адаптируются быстрее, чем обновляются защитные списки, поэтому организациям необходимо заранее включать доверенные домены в периметр потенциального риска.

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

Domain

  • api.keyval.org
  • keyval.org
  • login.microsofte.live

Package

  • @worrisome/reutil
  • airdzticket
  • bgzxcuite2
  • egair0810
  • egypt0811
  • m2fcsfyjkuxb
  • m3fdfocdoewn
  • mbxcnsuwgs1
  • mjsdqwocvn
  • mn2adskhweox
  • mn3sadkoiewu
  • mn4xcouzvhus
  • mndsxcusiwlk1
  • mnteckets
  • mobiwaefhxc3
  • ndmfguyhoxc3
  • ndmushdkeqe
  • ndmxchdjxn2
  • passport811
  • prezdentkxheiw
  • skxcmwuncbg2
  • tesgfvbncsdbcv
  • testdgdbcsd
  • vxhjkseuiaqkb

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