Ethereum смартконтракти暗藏 пастка!npm пакет被植入 свічка з довгим хвостом для розробників的惡意程式

Дослідники з безпеки попереджають, що новий тип атаки тихо використовує смартконтракти Ethereum як канали командування та контролю (C2), приховуючи шкідливі програми в на перший погляд безпечних npm JavaScript пастках, спеціально націлених на комп'ютери розробників. Цей метод не лише ускладнює відстеження та видалення, але й використовує незмінність та відкритість блокчейну, що ускладнює блокування для захисників.

шкідливі npm пастка як використовувати Ethereum для передачі атакуючих команд

ReversingLabs виявила, що два npm пакети під назвою colortoolsv2 та mimelib2 читають специфічні смартконтракти на Ethereum, щоб отримати URL двоступеневого шкідливого завантажувача, а не жорстко кодують інфраструктуру в пакеті.

Цей дизайн зменшує ймовірність статичного виявлення та залишає менше слідів під час перевірки коду. Хоча кількість завантажень цих двох пасток дуже низька (відповідно 7 та 1 раз), їхні атакувальні концепції становлять серйозну загрозу для безпеки ланцюга постачання.

GitHub маскування та соціальна інженерія для установки

Дослідження показують, що просування цих шкідливих пасток походить з мережі GitHub репозиторіїв, які маскуються під торгових роботів, таких як solana-trading-bot-v2.

Зловмисники через фальшиві зірочки, перебільшену історію комітів та облікові записи маріонеткових утримувачів спонукають розробників ненавмисно встановлювати шкідливі програми.

Цей метод нагадує атаку на домен npm в кінці 2024 року, коли сотні пакетів на етапі встановлення запитували контракти Ethereum, отримували базовий URL, а потім завантажували шкідливі виконувані файли для Windows, Linux, macOS.

Технічні деталі командного каналу на блокчейні

Безпекова компанія Checkmarx та Phylum виявили, що основна адреса контракту, яку використовують зловмисники, становить 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b, і через ethers.js викликають getString(address) для отримання останньої адреси C2 сервера.

Ці C2 вузли включають 45.125.67.172:1337 та 193.233.201.21:3001 і будуть змінюватися з часом, щоб уникнути блокування.

Оскільки дані смартконтрактів не можуть бути видалені або змінені, цей спосіб зберігання на блокчейні важче зняти з публікації, ніж традиційний GitHub Gist або хмарне зберігання.

Рекомендації щодо захисту: блокувати сценарії життєвого циклу та мережеві запити

Експерти рекомендують, щоб команда розробників увімкнула параметр --ignore-scripts під час установки npm та в процесі CI, щоб запобігти автоматичному виконанню шкідливих сценаріїв життєвого циклу, а також зафіксувала версії пакетів через файли блокування.

Одночасно слід заблокувати відомі шкідливі IP-адреси та адреси смартконтрактів у брандмауері або безпечному проксі, а також контролювати підозрілі виклики до getString(address) у журналах будівництва.

Офіційний посібник з безпеки Node.js також рекомендує більш ретельну перевірку ідентичності підтримуючих осіб та метаданих пакетів, щоб знизити ризик атак на ланцюг постачання.

Заключення

Хоча цей інцидент незначно вплинув на обсяги завантажень, він виявив більш приховану та важку для захисту модель атаки — використання Блокчейн як постійного каналу команд, у поєднанні з соціальною інженерією та проникненням у відкриті постачання, що становить тривалу загрозу для розробників та компаній. У майбутньому поєднання шкідливих програм на ланцюгу та традиційних атак на постачання може стати новою нормою в сфері кібербезпеки.

ETH0.92%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити