Киберпреступники атакуют экосистему NPM через многоступенчатый фишинг

information security

Американское Агентство по кибербезопасности и инфраструктуре (CISA) распространило экстренное предупреждение о масштабной фишинговой кампании, нацеленной на разработчиков популярных пакетов в репозитории NPM. Злоумышленники используют украденные учетные данные для внедрения вредоносного кода в цепочки поставок программного обеспечения, что уже привело к серии серьезных компрометаций.

Описание

NPM, являющийся крупнейшим репозиторием JavaScript с официальными доменами npmjs.com и npmjs.org, стал основной мишенью для атакующих. Исторически фишеры использовали домены-вариации для обмана пользователей, применяя тактику тайпсквоттинга через домены вроде «npnjs[.]com», которые особенно легко пропустить при отображении в нижнем регистре.

Анализ недавно скомпрометированной фишинговой страницы входа с доменом «npmjs[.]pro» демонстрирует сложную четырехэтапную атаку, где каждый шаг тщательно спланирован для получения конкретного фрагмента информации или вовлечения пользователя в следующий этап.

скриншот сайта npmjs[.]pro

На первом этапе пользователь попадает на поддельную домашнюю страницу, предназначенную для создания доверия и инициирования процесса входа. Относительная ссылка входа перенаправляет пользователя на путь /login сервера злоумышленников, а не на легитимный npmjs[.]com. Сервер атакующих регистрирует запрос и возвращает поддельную страницу входа в качестве ответа.

Второй этап представляет собой захват первоначальных учетных данных. После перехода с поддельной домашней страницы пользователь видит фальшивую форму входа. Действие формы отправляет введенные имя пользователя и пароль скрипту на сервере злоумышленников, который перехватывает и регистрирует учетные данные. Затем сервер использует их для инициации попытки входа на настоящий npmjs[.]com, что вызывает отправку законного одноразового пароля по электронной почте жертве. На этом моменте основные учетные данные npm пользователя уже скомпрометированы, и следующей целью становится получение их кода многофакторной аутентификации.

Третий этап фокусируется на перехвате кода MFA/OTP. Сервер атакующих немедленно представляет страницу для перехвата кода двухфакторной аутентификации. Эта форма захватывает значение из поля name=”otp” и отправляет его на конечную точку /login/email-otp сервера злоумышленников. Пользователь получает настоящий OTP через электронную почту, что укрепляет его веру в безопасность процесса. Сервер атакующих получает действительный OTP и теперь обладает всей необходимой информацией для захвата учетной записи.

Четвертый завершающий этап представляет собой действие на стороне сервера для завершения атаки. Злоумышленник использует захваченные учетные данные и OTP для установления собственной аутентифицированной сессии на настоящем npmjs[.]com, затем перенаправляет жертву, чтобы избежать подозрений. Теперь атакующий имеет полный аутентифицированный доступ к учетной записи npm жертвы. Сама жертва остается в неведении относительно компрометации своей учетной записи и сессии, поскольку ее браузер перенаправляет на настоящую страницу входа npm, создавая впечатление незавершенного процесса.

Детализированный процесс атаки для кражи учетных данных и захвата учетных записей демонстрирует, что классические тактики сбора учетных данных остаются высокоэффективными. По мере роста зависимости от общих цепочек поставок программного обеспечения бдительность разработчиков становится как никогда важной. Хотя многофакторная аутентификация является важной защитной мерой, этот пример показывает, что OTP-коды настолько же безопасны, насколько безопасен домен, в который они вводятся. Специалистам рекомендуется всегда проверять URL-адрес в адресной строке перед вводом учетных данных и рассмотреть возможность внедрения устойчивой к фишингу MFA, такой как аппаратные ключи безопасности, для настоящей защиты учетных записей.

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

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

Domains

  • npmjs.cam
  • npmjs.help
  • npmjs.online
  • npmjs.pro
  • npmjs.se
  • npmjs.support
  • npmjs.us
  • npmjs.us.com
  • npmjs.us.org
  • npmjs.web.id
  • npmjs.work
  • npmjs.wtf
  • npmjscdn.xyz
  • npnjs.com
  • npnjs.org
Комментарии: 0