дата публікації

Зловмисне ПЗ IronWorm встановлює руткіт у npm-бібліотеках екосистеми Arweave

джерело

Зловмисники впровадили інфостілера в 36 npm пакунків, пов'язаних з екосистемою Arweave, намагаючись вкрасти облікові дані розробників, SSH-ключі та файли крипто-гаманців Exodus.

Компанія JFrog виявила, що атака розпочалася з використання скомпрометованого облікового запису утримувача. Цей шкідливий код, що називається IronWorm, написаний на Rust.

Він активується в момент, коли розробник встановлює npm пакунки, і починає сканувати заражений комп’ютер на предмет 86 змінних середовища та 20 файлів облікових даних.

Зловмисник намагається отримати токени AWS, ключі API від Anthropic і OpenAI, облікові дані npm, а також дані крипто-гаманців. Зловмисники скомпрометували обліковий запис npm під назвою "asteroiddao", що належить групі asteroid-dao на GitHub, яка є частиною децентралізованого проекту бази даних Arweave/WeaveDB.

Усі пакунки, пов’язані з цим обліковим записом, були перевидані, з кожною новою версією, що містила 976-кілобайтний файл Linux у каталозі tools/. Цей файл запускався автоматично за допомогою передвстановленого хуку в package.json, тобто атакуючий мав на меті запускати його ще до початку установки npm.

Команда JFrog аналізувала файл і виявила, що він був упакований так, щоб обманювати стандартні інструменти розпакування.

Внутрішні дані виявили ендпоїнти GitHub API, шляхи до файлів облікових даних і шаблони для впровадження шкідливого коду в інші реєстрації пакунків. Після збору облікових даних IronWorm використовував їх для внесення комітів в репозиторії, доступні жертві.

Ці коміти, в свою чергу, впроваджували той же шкідливий код в інші пакунки, які могли бути опубліковані в npm, потенційно заражаючи наступного розробника. JFrog виявив 57 задніх комітів по дев'яти організаціям на GitHub.

Під час атаки зловмисник використовував ім'я автора "claude" з електронною поштою [email protected].

Часові мітки були підроблені, щоб відповідати останнім легітимним комітам кожного репозиторію. IronWorm також використовував rootkit eBPF для приховування на заражених машинах.

Зв'язок з оператором проходив через мережу Tor.

Однак оператори помилилися, залишивши вихідний код rootkit у бінарному файлі. Фірми з безпеки, такі як Ox Security, заявили, що атаку вдалося виявити на ранніх стадіях, перш ніж вона змогла поширитися на інші пакунки npm.

Шкідливі версії були позначені як застарілі протягом дня, а більшість комітів були видалені з GitHub незабаром після цього. Розробники, які встановили скомпрометовані пакунки WeaveDB, повинні змінити всі облікові дані, перевірити файли блокування на визнані зміни версій та увімкнути двофакторну аутентифікацію на своїх облікових записах npm та GitHub.