«Мав бути спокійний день, а закінчилося чисткою ноутбука»: фіктивна співбесіда майже обійшлася українському розробнику даних дорого

Розробник ReactJs / Native Анатолій Шумов зіткнувся з кібератакою під час пошуку роботи, яка була замаскована під стандартне тестове завдання від закордонної компанії. Замість очікуваного коду для перевірки, в отриманому репозиторії було виявлено прихований шкідливий скрипт, метою якого було викрадення особистих даних та отримання дистанційного доступу до пристрою.

Залишити коментар

«Мав бути спокійний день, а закінчилося чисткою ноутбука»: фіктивна співбесіда майже обійшлася українському розробнику даних дорого 2

Розробник ReactJs / Native Анатолій Шумов зіткнувся з кібератакою під час пошуку роботи, яка була замаскована під стандартне тестове завдання від закордонної компанії. Замість очікуваного коду для перевірки, в отриманому репозиторії було виявлено прихований шкідливий скрипт, метою якого було викрадення особистих даних та отримання дистанційного доступу до пристрою.

Підозрілий swagger.js та загроза розміром 15 КБ

Після кількох днів переговорів потенційні наймачі надіслали Анатолію посилання на приватний репозиторій, що містив базову структуру full-stack застосунку (Node.js API + React frontend). Зовні все виглядало цілком типово, проте перед запуском розробник вирішив детально вивчити вміст файлів.

«Сьогодні мав бути звичайний день, а натомість зараз займаюся очищенням свого комп’ютера, — поділився Анатолій у LinkedIn. — Перед тим, як щось запускати, я, за своєю звичкою, переглянув код. І у файлі middlewares/swagger.js — там, де мала бути стандартна конфігурація Swagger-документації — виявив приблизно 15 КБ сильно обфускованого JavaScript».

Детальний аналіз виявив, що знайдений шкідливий код функціонував як повноцінний дроппер:

виконується негайно при підключенні файлу (require), ще до старту сервера і навіть без попереднього виконання npm install;створює приховану директорію в домашньому каталозі користувача та записує туди додатковий payload;без згоди користувача завантажує бібліотеки axios, better-sqlite3, node-machine-id та socket.io-client;модуль better-sqlite3 використовується для читання баз даних браузерів Chrome, Brave та Firefox, де зберігаються паролі, cookies та дані для автозаповнення. Водночас socket.io-client підтримує безперервний зв’язок з C2-сервером зловмисників для виконання команд віддалено;на завершення файл експортує порожню middleware-функцію, щоб застосунок функціонував без помилок та не викликав підозр.

Описана комбінація дій відповідає відомим хакерським кампаніям, про які повідомляли дослідники, наприклад, ESET під назвою «DeceptiveDevelopment» (раніше відомий як кластер «Contagious Interview»). Метою таких атак є викрадення паролів, SSH/хмарних ключів та криптовалютних гаманців у розробників. Після викриття, рекрутер негайно видалив переписку та свій профіль у LinkedIn.

Нагадаємо, що раніше видання dev.ua інформувало про російських хакерів з групи Sandworm, які полюють на українських IT-фахівців через фіктивні співбесіди.

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

Рекомендації для IT-спеціалістів: як уникнути пастки

Щоб захистити свій робочий пристрій від подібних загроз, Анатолій Шумов рекомендує дотримуватися кількох правил кібергігієни.

Перевіряйте код ДО запуску: завжди аналізуйте вміст файлів репозиторію перед виконанням команди npm install або запуском самого застосунку.Аналізуйте невідповідності: звертайте увагу на файли, назва яких не відповідає їхньому вмісту (наприклад, файл swagger.js без функціоналу Swagger — це явний сигнал небезпеки).Використовуйте ізольоване середовище: тестові завдання від невідомих компаній безпечніше відкривати у віртуальній машині (VM) або Docker-контейнері, а не на основному робочому комп’ютері.Не ігноруйте обфускацію: наявність заплутаного або зашифрованого JS-коду у звичайному проєкті — це привід зупинитися та розібратися, а не списувати це на особливості стилю автора.

Источник: www.vesti-ua.net

No votes yet.
Please wait...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *