Злоумышленники злоупотребляют легитимной инфраструктурой npm в новой фишинговой кампании Beamglea. На этот раз вредоносные пакеты не выполняют вредоносный код, а злоупотребляют легитимным CDN-сервисом unpkg[.]com для показа фишинговых страниц пользователям.
В конце сентября ИБ-исследователи компании Safety выявили 120 npm-пакетов, использовавшихся для таких атак, но теперь их число уже превышает 175, сообщает ИБ-компания Socket.
Эти пакеты созданы для атак на более чем 135 организаций в энергетическом, промышленном и технологическом секторах. Среди целевых организаций — Algodue, ArcelorMittal, Demag Cranes, D-Link, H2 Systems, Moxa, Piusi, Renishaw, Sasol, Stratasys и ThyssenKrupp Nucera. Атаки в основном сфокусированы в странах Западной Европы, но некоторые цели находятся в Северной Европе и Азиатско-Тихоокеанском регионе.
В общей сложности пакеты насчитывают свыше 26 000 загрузок, хотя предполагается, что часть скачиваний приходится на ИБ-исследователей, автоматические сканеры и инструменты для анализа.
Названия пакетов содержат случайные шестизначные строки и следуют паттерну «redirect-[a-z0-9]{6}». Сразу после публикации в npm пакеты становятся доступны через HTTPS CDN-ссылки unpkg[.]com.
«Атакующие могут распространять среди целевых пользователей HTML-файлы, оформленные под заказы на покупку и проектные документы. Хотя точный метод распространения неясен, темы бизнес-документов и кастомизация под конкретных жертв указывают на доставку через вложения в email или фишинговые ссылки», — отмечают в Socket.
Как только жертва открывает вредоносный HTML-файл, вредоносный JavaScript из кода npm-пакетов загружается в браузер через CDN unpkg[.]com, и жертву перенаправляют на фишинговую страницу, где ее просят ввести учетные данные.
Также было замечено, что атакующие используют инструментарий на Python для автоматизации кампании: процесс проверяет, залогинена ли жертва, запрашивает ее учетные данные, внедряет email и фишинговую ссылку в JavaScript-шаблон (beamglea_template.js), генерирует package.json, размещая его как публичный пакет и создавая HTML-файл со ссылкой на npm-пакет через CDN unpkg[.]com.
«Такая автоматизация позволила атакующим создать 175 уникальных пакетов, нацеленных на разные организации, не занимаясь вручную каждой жертвой», — отмечают в Socket.
По словам исследователей, злоумышленники сгенерировали более 630 HTML-файлов, ведущих к вредоносным пакетам, и все они содержат идентификатор кампании nb830r6x в своем метатеге. Файлы имитируют заказы на закупку, документы с техническими спецификациями и проектную документацию.
«Когда жертвы открывают HTML-файлы в браузере, JavaScript немедленно перенаправляет их на фишинговый домен, передавая email жертвы через фрагмент URL. Затем фишинговая страница автоматически заполняет поле email, создавая убедительное впечатление, что жертва заходит на легитимный портал, который ее уже распознал», — говорят эксперты.
По данным исследователей из компании Snyk, дополнительные npm-пакеты, использующие схему именования по шаблону «mad-*», демонстрируют схожее поведение, хотя пока их не удалось напрямую связать с кампанией Beamglea.
«Пакет содержит фальшивую страницу "Проверка безопасности Cloudflare", которая скрыто перенаправляет пользователей на подконтрольный атакующим адрес, извлеченный из удаленного файла, размещенного на GitHub», — говорят в Snyk.