Mastodon Mastodon Mastodon Mastodon

Як Photo.zip-кампанія з Node.js-імплантом атакує готелі

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

З квітня 2026 року активна фішингова кампанія атакує готельні організації в Європі та Азії, використовуючи архіви з «фотографіями» для доставки JavaScript-імпланта на робочі станції ресепшну та фронт-офісу. За даними Microsoft, кампанія зловживає легітимною інфраструктурою Calendly та Google для обходу поштової автентифікації, а кінцева мета операторів досі не встановлена — підтверджених випадків викрадення даних або розгортання шифрувальників немає. Відсутність атрибуції до відомого угруповання й неясність фінального етапу роблять цю загрозу особливо тривожною для індустрії гостинності.

Механізм доставки: «відмивання автентифікації»

Фішингові листи використовують відображуване ім’я «Booking Manager (via Calendly)» і експлуатують типові болючі точки готельного бізнесу: скарги гостей, повідомлення про клопів, запити на бронювання, погрози санітарних інспекцій і негативні відгуки. Листи зафіксовані японською, датською та нідерландською мовами, причому переважає японська. Тема листа не містить імені отримувача або назви об’єкта — це вказує на масову розсилку за списками, а не на цільовий фішинг.

Ключова технічна особливість — те, що Microsoft назвала authentication laundering («відмивання автентифікації»). Повідомлення маршрутизуються через систему сповіщень Calendly, завдяки чому проходять перевірки SPF, DKIM і DMARC: листи справді надіслані з авторизованої інфраструктури. Протоколи автентифікації підтверджують, що відправник має право надсилати пошту, але нічого не говорять про наміри повідомлення. Це фундаментальний розрив, який оператори кампанії цілеспрямовано експлуатують.

Далі жертва проходить багатоступеневий ланцюжок перенаправлень: посилання Calendly → share.google → Google-редирект → свіжезареєстрований домен у зоні .cfd, захищений Cloudflare. На цільовій сторінці використовується Cloudflare Turnstile, який одночасно виконує функцію захисту від автоматичного аналізу.

Ланцюжок зараження: від ZIP до Node.js-імпланта

Після проходження CAPTCHA жертва завантажує архів з іменем виду photo-<числа>.zip. Усередині міститься ярлик Windows, замаскований під зображення: у першій хвилі — IMG-<числа>.png.lnk, у другій — PHOTO-<числа>.png.lnk.

Відкриття LNK-файла запускає PowerShell-скрипт, який:

  • Використовує арифметику BigInt для декодування прихованого URL завантаження
  • Записує проміжний .ps1-скрипт до каталогу %TEMP%
  • Завантажує легітимне середовище виконання Node.js v24.13.0 з nodejs.org у користувацький простір
  • Запускає JavaScript-імплант через завантажений рантайм без необхідності системного встановлення Node.js

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

Імплант TonRAT та керувальна інфраструктура

Імплант, який в звітах SOC Prime відстежується як TonRAT, застосовує нестандартний підхід до розв’язання адрес командних серверів: домени C2 витягуються через API блокчейна TON, після чого встановлюється зашифрований канал зв’язку через WebSocket. Динамічне отримання адрес C2 робить статичні списки блокування малоефективними — оператори можуть змінювати керувальну інфраструктуру, оновлюючи записи в блокчейні.

Після компрометації імплант з’єднується з фіксованими IP-адресами через нестандартні порти: 8443, 8445, 8453, 5555 та діапазон 56001–56003. На деяких заражених хостах зафіксовано додаткові дії:

  • Автоматизація безголового браузера з параметрами --headless --no-sandbox
  • Перевірка геолокації через ip-api.com
  • Примусове вимкнення системи командою cmd /c shutdown -s -t 0

Автоматизація браузера може вказувати на підготовку до викрадення сесій бронювання або облікових даних із веб-інтерфейсів систем керування готелем, хоча Microsoft не підтвердила конкретних сценаріїв експлуатації.

Контекст і хронологія

Кампанію вперше задокументували приблизно за два тижні до публікації Microsoft: ITOCHU і SOC Prime описали аналогічний ланцюжок зараження — від фішингу на готельну тематику через LNK-файл до PowerShell і далі до Node.js-імпланта. Microsoft підтвердила, що її висновки узгоджуються з цими звітами.

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

Оцінка впливу

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

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

Рекомендації з виявлення та усунення

Для повного усунення загрози необхідно ліквідувати обидва механізми закріплення — видалення лише одного залишає другий активним:

  1. Видалити запис реєстру RunOnce, що вказує на каталог ProgramData
  2. Видалити ключ реєстру Run для Node.js
  3. Видалити рантайм і .js-файли з каталогу AppData\Local\Nodejs
  4. Перевірити наявність вихідних з’єднань на порти 8443, 8445, 8453, 5555, 56001–56003
  5. Виявити процеси Node.js, запущені з користувацьких каталогів, а не зі стандартних шляхів встановлення

Для превентивного захисту:

  • Блокувати виконання LNK-файлів із ZIP-архівів на рівні політик безпеки
  • Налаштувати моніторинг запуску PowerShell із процесів explorer.exe з аргументами, що містять BigInt-операції
  • Обмежити вихідні з’єднання до доменів у зоні .cfd та нестандартних портів із робочих станцій фронт-офісу
  • Навчити персонал ресепшну та бронювання розпізнавати фішинг, замаскований під сповіщення Calendly

Пріоритетна перевірка має охопити всі робочі станції ресепшну, бронювання та фронт-офісу на наявність описаних артефактів — саме ці системи є первинною ціллю кампанії. З огляду на те, що листи проходять стандартні перевірки поштової автентифікації, організаціям готельного сектора варто розглянути додаткові правила фільтрації для вхідних сповіщень Calendly, які містять посилання з редиректами через Google на домени в зоні .cfd.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.