Исследователи безопасности из Socket Threat Research Team обнаружили новую волну атак, связанных с северокорейской группировкой Contagious Interview. Злоумышленники опубликовали 35 вредоносных пакетов в репозитории npm, замаскированных под легитимные библиотеки. На момент обнаружения шесть из них оставались активными и были скачаны более 4 000 раз. Эксперты уже обратились в npm Security Team с просьбой удалить подозрительные пакеты и заблокировать связанные с ними аккаунты.
Описание
Главная особенность этой кампании - использование многоступенчатой системы загрузки вредоносного ПО. Каждый пакет содержит так называемый HexEval Loader - закодированный в шестнадцатеричном формате загрузчик, который начинает свою работу после установки. Сначала он собирает метаданные системы, затем декодирует и загружает следующий этап атаки - вредоносную программу BeaverTail, связанную с северокорейскими хакерами. BeaverTail, в свою очередь, может загружать третий этап - бекдор InvisibleFerret, что дает злоумышленникам полный контроль над зараженной машиной.
Отдельного внимания заслуживает пакет jsonsecs, который помимо основного загрузчика содержит кейлоггер, способный фиксировать каждое нажатие клавиш на Windows, macOS и Linux. Вредоносный код адаптируется под операционную систему жертвы, используя заранее подготовленные бинарные файлы для перехвата ввода.
Начальная стадия атаки строится на социальной инженерии. Хакеры создают фейковые профили рекрутеров в LinkedIn, предлагая разработчикам высокооплачиваемые вакансии. В рамках «отборочного задания» жертвам предлагают установить и запустить код, содержащий вредоносные зависимости. Иногда злоумышленники даже настаивают на отключении защищенных сред, таких как Docker, чтобы гарантированно заразить систему.
Анализ инфраструктуры показал, что для управления атакой используются три основных C2-сервера, замаскированных под легитимные веб-приложения. Интересно, что серверы не всегда возвращают вредоносный код - в некоторых случаях они отправляют только геоданные или пустые ответы. Это усложняет обнаружение, так как атака активируется только при соблюдении определенных условий.
Эксперты связывают эту кампанию с более ранними атаками Contagious Interview, но отмечают эволюцию методов. Если раньше злоумышленники встраивали вредоносный код напрямую, то теперь они перешли на многоэтапную схему с минимальным присутствием в репозитории, что усложняет обнаружение.
Для защиты от подобных атак разработчикам рекомендуется: тщательно проверять все устанавливаемые зависимости, использовать инструменты статического анализа кода, а также избегать запуска непроверенного ПО на своих рабочих машинах. Особую осторожность следует проявлять при общении с рекрутерами, предлагающими сомнительные задания.
Исследователи предполагают, что кампания продолжается, и в ближайшее время могут появиться новые вредоносные пакеты. Учитывая успешность этого подхода, аналогичные методы могут перенять и другие хакерские группировки, что делает проблему угрозы через открытые репозитории еще более актуальной.
Индикаторы компрометации
IPv4
- 172.86.80.145
URLs
- https://bitbucket.org/notion-dex/ultrax
- https://bitbucket.org/zoro-workspace/
- https://ip-check-api.vercel.app/api/ipcheck/703
- https://ip-check-server.vercel.app/api/ip-check/208
- https://log-server-lovat.vercel.app/api/ipcheck/703
Emails
- abdulrahman.nasser.hr@gmail.com
- alexander0110819@outlook.com
- business00747@gmail.com
- carrie.bale.recruit@gmail.com
- emilyjobs.rec2023@gmail.com
- eric.c01.recruit@gmail.com
- grace.chen.recruitment@gmail.com
- grace107jobs@gmail.com
- hiring.dev.hr@gmail.com
- maria.sam.recruiter@gmail.com
- mars.recruiting.hiring@gmail.com
- marthamoon014@gmail.com
- maryanaaaa.hrteam@gmail.com
- natalie.dev.hr@gmail.com
- shauncepla.hrteam@gmail.com
- sofia.helman@outlook.com
- supercrazybug.team@gmail.com
- topdev0921@gmail.com
- toptalent0921@gmail.com
SHA256
- 30043996a56d0f6ad4ddb4186bd09ffc1050dcc352f641ce3907d35174086e15
- 6e09249262d9a605180dfbd0939379bbf9f37db076980d6ffda98d650f70a16d
- e58864cc22cd8ec17ae35dd810455d604aadab7c3f145b6c53b3c261855a4bb1
Malicious npm Packages
- beautiful-plugins
- blur-plugins
- chalk-config
- flexible-loggers
- framer-motion-ext
- jsonpacks
- jsonsecs
- jsonspecific
- logbin-nodejs
- lucide-node
- mongo-errorlog
- nextjs-insight
- next-log-patcher
- node-loggers
- node-orm-mongoose
- pixel-percent
- prior-config
- proc-watch
- reactbootstraps
- react-logs
- react-plaid-sdk
- router-parse
- serverlog-dispatch
- server-log-engine
- struct-logger
- sumsub-node-websdk
- test-topdev-logger-v1
- test-topdev-logger-v3
- use-videos
- util-buffers
- vite-loader-svg
- vite-plugin-next-refresh
- vite-plugin-purify
- vite-plugin-svgn
- vite-plugin-tools