Недавно стало известно о серьезной утечке в системе безопасности npm-пакетов, в результате которой злоумышленники получили контроль над несколькими популярными библиотеками, включая eslint-config-prettier, eslint-plugin-prettier и другие. Атака была обнаружена после того, как пользователи GitHub заметили несанкционированные обновления в пакетах, не соответствующие изменениям в исходном коде. Вскоре разработчик подтвердил, что его аккаунт npm был взломан через фишинговое письмо, позволив злоумышленникам загрузить вредоносные версии программного обеспечения.
Описание
По данным экспертов, атака носит характер цепочки поставок (supply-chain attack), при которой вредоносный код внедряется в легальные пакеты, используемые тысячами разработчиков по всему миру. В этом случае злоумышленники распространяли новый тип вредоносного ПО под названием Scavenger, получивший свое название из-за строк "SCVNGR", обнаруженных в его коде. Анализ показал, что вредоносная нагрузка активируется через скрипт install.js, который проверяет операционную систему и, если это Windows, запускает поддельную библиотеку node-gyp.dll с помощью rundll32.exe.
Особую опасность представляет сложная антианалитическая защита, встроенная в Scavenger. Вредоносная программа проверяет, не запущена ли она в виртуальной среде (например, VMware или QEMU), а также ищет признаки антивирусных решений, таких как Avast, Sandboxie и Comodo. Если что-то вызывает подозрения, Scavenger вызывает сбой, чтобы избежать обнаружения. Кроме того, злоумышленники используют динамическое разрешение функций и XOR-шифрование строк, что усложняет анализ кода.
После успешного запуска вредоносная программа устанавливает соединение с командным сервером, используя зашифрованные каналы связи с алгоритмом XXTEA. Основной целью Scavenger является кража данных, включая кеши браузеров, историю посещений и аутентификационные токены, что может привести к утечке конфиденциальной информации или даже компрометации аккаунтов разработчиков.
Специалисты по кибербезопасности отмечают, что подобные атаки становятся все более распространенными, так как злоумышленники активно эксплуатируют доверие к открытым репозиториям. Разработчикам рекомендуется:
- Проверять обновления перед установкой, особенно если они выходят без соответствующих изменений в исходном коде.
- Использовать двухфакторную аутентификацию для защиты аккаунтов в npm и других системах.
- Ограничивать доступ к критически важным пакетам, чтобы предотвратить несанкционированные изменения.
Вредоносное ПО уже было удалено из npm, но эксперты предупреждают, что аналогичные атаки могут повториться в будущем. Владельцам затронутых пакетов рекомендуется проверить свои системы на наличие подозрительной активности и при необходимости обновить зависимости до безопасных версий.
Киберпреступники продолжают совершенствовать свои методы, и защита от подобных угроз требует повышенной бдительности со стороны как разработчиков, так и компаний, использующих открытое программное обеспечение.
Индикаторы компрометации
URLs
- https://ac7b2eda6f1.datahog.su
- https://datacrab-analytics.com
- https://datahog.su
- https://datalytica.su
- https://dieorsuffer.com
- https://fileservice.gtainside.com/fileservice/downloads/ftpk/1743451692_Visual%20Car%20Spawner%20v3.4.zip
- https://firebase.su
- https://smartscreen-api.com
SHA256
- 0254abb7ce025ac844429589e0fec98a84ccefae38e8e9807203438e2f387950
- 1aeab6b568c22d11258fb002ff230f439908ec376eb87ed8e24d102252c83a6e
- 30295311d6289310f234bfff3d5c7c16fd5766ceb49dcb0be8bc33c8426f6dc4
- 75c0aa897075a7bfa64d8a55be636a6984e2d1a5a05a54f0f01b0eb4653e9c7a
- 80c1e732c745a12ff6623cbf51a002aa4630312e5d590cd60e621e6d714e06de
- 877f40dda3d7998abda1f65364f50efb3b3aebef9020685f57f1ce292914feae
- 8c8965147d5b39cad109b578ddb4bfca50b66838779e6d3890eefc4818c79590
- 90291a2c53970e3d89bacce7b79d5fa540511ae920dd4447fc6182224bbe05c5
- 9ec86514d5993782d455a4c9717ec4f06d0dfcd556e8de6cf0f8346b8b8629d4
- c3536b736c26cd5464c6f53ce8343d3fe540eb699abd05f496dcd3b8b47c5134
- c4504c579025dcd492611f3a175632e22c2d3b881fda403174499acd6ec39708
- c68e42f416f482d43653f36cd14384270b54b68d6496a8e34ce887687de5b441
- d845688c4631da982cb2e2163929fe78a1d87d8e4b2fe39d2a27c582cfed3e15
- dd4c4ee21009701b4a29b9f25634f3eb0f3b7f4cc1f00b98fc55d784815ef35b