У NPM виявлено 15 тисяч пакетів для фішингу та спаму

Зафіксовано атаку на користувачів каталогу NPM, в результаті якої 20 лютого в репозиторії NPM було розміщено понад 15 тисяч пакетів, у README-файлах яких були посилання на фішингові сайти або реферальні посилання, за переходи за якими виплачуються відрахування. У ході аналізу у пакетах було виявлено 190 унікальних фішингових або рекламних посилань, що охоплюють 31 домен.

Імена пакетів вибиралися для залучення інтересу обивателів, напірмер, free-tiktok-followers, free-xbox-codes, instagram-followers-free і т.п. Розрахунок робився заповнення спамерськими пакетами списку недавніх оновлень на головній сторінці NPM. В описі пакетів наводилися посилання, що обіцяли безкоштовні роздачі, подарунки, ігрові чити, а також безкоштовні послуги з накручування передплатників та лайків у соціальних мережах, таких як TikTok та Instagram. Це не перша подібна атака, у грудні в каталогах NuGet, NPM та PyPi було зафіксовано публікацію 144 тисяч спамерських пакетів.

У NPM виявлено 15 тисяч пакетів для фішингу та спаму

Вміст пакетів було згенеровано автоматично з використанням python-скрипта, який, мабуть, за недоглядом був залишений у пакетах і включав у себе робочі облікові дані, використані в ході атаки. Пакети були опубліковані під безліччю різних облікових записів з використанням методів, що ускладнюють розплутування слідів та оперативну ідентифікацію проблемних пакетів.

Крім шахрайських дій у репозиторіях NPM та PyPi також виявлено кілька спроб публікації шкідливих пакетів:

  • У репозиторії PyPI знайдено 451 шкідливий пакет, який маскувався під деякі популярні бібліотеки за допомогою тайпсквотингу (призначення схожих імен, що відрізняються окремими символами, наприклад, vper замість vyper, bitcoinnlib замість bitcoinlib, ccryptofeed замість cryptofeed, ccxtt замість замість selenium, pinstaller замість pyinstaller тощо). Пакети включали обфусцированний код для крадіжки криптовалюти, який визначав наявність ідентифікаторів криптогаманців у буфері обміну та змінював їх на гаманець зловмисника (передбачається, що при здійсненні оплати жертва не помітить, що перенесений через буфер обміну номер гаманця відрізняється). Підміну здійснювало вбудовуване в браузер доповнення, яке виконувалося в контексті кожної веб-сторінки, що переглядається.
  • У репозиторії PyPI виявлено серію шкідливих HTTP-бібліотек. Шкідлива активність була знайдена в 41 пакеті, імена яких вибиралися з використанням методів тайпсквотингу і нагадували популярні бібліотеки (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2 тощо). Начинка була стилізована під працюючі HTTP-бібліотеки або копіювала код існуючих бібліотек, а в описі наводилися твердження про переваги та порівняння з легітимними HTTP-бібліотеками. Шкідлива активність зводилася або до завантаження шкідливого програмного забезпечення на систему, або до збору та відправлення конфіденційних даних.
  • У NPM виявлено 16 JavaScript-пакетів (speedte*, trova*, lagra), які, крім заявленої функціональності (тестування пропускної спроможності), також містили код для майнінгу криптовалюти без відома користувача.
  • У NPM виявлено 691 шкідливий пакет. Більшість проблемних пакетів вдавалася проектами Yandex (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms тощо) і включала код для відправки конфіденційної інформації на зовнішні сервери. Передбачається, що пакети, що розмістили, намагалися домогтися підстановки власної залежності при складанні проектів в Yandex (метод підміни внутрішніх залежностей). У репозиторії PyPI тими ж дослідниками знайдено 49 пакетів (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp і т.п.) з обфусцованим шкідливим кодом, що завантажує і запускає виконуваний файл із зовнішнього сервера.

Джерело: opennet.ru

Додати коментар або відгук