Кампания по атаке на гостиничный бизнес использует фишинг через Calendly и многоэтапный Node.js-имплант

phishing

С апреля 2026 года специалисты Microsoft Threat Intelligence фиксируют активную многоэтапную кампанию, направленную на организации гостиничной индустрии в Европе и Азии. Целью атакующих стали сотрудники, работающие с бронированиями, регистрацией гостей и обслуживанием номеров. Microsoft пока не связывает эту активность с какой-либо известной APT-группировкой.

Описание

Инциденты развиваются по многоступенчатой схеме, в которой злоумышленники сочетают фишинг через легитимные облачные сервисы, PowerShell-загрузчики с обфускацией и внедрение Node.js-импланта (среды выполнения JavaScript на стороне сервера). В ходе кампании используются ZIP-архивы с названиями, содержащими слово photo и случайные цифры. Архивы загружаются через браузер после перехода по фишинговой ссылке. Внутри архива находится файл-ярлык, маскирующийся под изображение (например, IMG-805916584.png.lnk). При запуске такого ярлыка начинается цепочка заражения.

Фишинговые письма доставляются с использованием инфраструктуры Calendly - сервиса для планирования встреч. Атакующие используют подстановку отправителя "Booking Manager (via Calendly)", что должно вызывать доверие у персонала отелей. Тематика писем включает жалобы гостей, сообщения о клопах, запросы на проверку номера и "последние предупреждения" от контролирующих органов. Письма составлены на японском, датском и голландском языках. Техника, названная Microsoft "аутентификационным отмыванием", позволяет обойти проверки SPF, DKIM и DMARC: письмо проходит все проверки, так как отправлено через доверенную инфраструктуру Calendly, хотя содержимое контролируется злоумышленниками.

В письме содержится ссылка на Calendly, которая перенаправляет жертву через несколько промежуточных узлов. Сначала срабатывает сервис безопасности ссылок Calendly, затем используется открытый редирект Google (share[.]google), и в итоге пользователь попадает на фишинговую страницу, размещённую на домене в зоне .cfd (например, photo-26254[.]cfd). Домен защищён Cloudflare Turnstile - капчей, которая одновременно отсеивает автоматизированный анализ и ограничивает доступ по геолокации. После прохождения капчи браузер загружает тот самый ZIP-архив с вредоносным LNK-файлом.

На этапе выполнения ярлык запускает PowerShell с обфусцированным кодом. Как показывает анализ Microsoft, обфускация развивалась от простого XOR-декодирования до арифметических операций с вычитанием и маскировкой через модуль и деление. Всего исследователи зафиксировали семь фаз эволюции PowerShell-кода, но логика остаётся неизменной: декодировать данные, извлечь URL, скачать по Invoke-WebRequest следующий скрипт и выполнить его из папки %TEMP%. Это говорит о том, что атакующие постоянно адаптируются к сигнатурам, но не меняют основную технику.

В волне 2 (с конца мая 2026) между PowerShell и развёртыванием Node.js появился дополнительный этап: PowerShell запускает компиляцию .NET-сборок через csc.exe и cvtres.exe. В результате создаётся DLL-файл размером около 3 Кбайт. По данным телеметрии, этот DLL не загружается через rundll32 или regsvr32 - возможно, этап является подготовительным или условным.

Ключевой компонент кампании - Node.js-имплант. На скомпрометированное устройство загружается node.exe версии v24.13.0-win-x64 из легитимного источника nodejs[.]org. Исполняемый файл помещается в каталог C:\Users\<пользователь>\AppData\Local\Nodejs\. Имплант запускается с аргументом - именем JavaScript-файла и C2-доменом. Например: "node.exe" C:\Users\...\E2HPVoYGA77RECeb.js safedocphoto[.]info. С помощью Node.js злоумышленники устанавливают персистентность через PowerShell-команду, создающую скрытый дочерний процесс с флагами detached и windowsHide. Это позволяет импланту оставаться активным вне зависимости от действий пользователя.

Дополнительно атакующие добавляют исключения в Microsoft Defender через Add-MpPreference -ExclusionProcess для временных исполняемых файлов в AppData\Local\Temp. Затем запускаются случайно именованные EXE-файлы из Temp, за которыми следуют установщики с именами is-*.tmp, работающие в тихом режиме (/VERYSILENT). Наблюдалось копирование полезной нагрузки в C:\ProgramData\<случайная папка>\<payload>.exe. Для сохранения доступа используются два реестровых ключа: HKCU\RunOnce указывает на исполняемый файл в ProgramData, а HKCU\Run - на Node.js-компонент. Причём RunOnce обновляется после каждого выполнения, создавая цикл, усложняющий очистку.

Системы управления и контроля (C2) работают через нестандартные порты: 8443, 8445, 8453, 5555, 56001, 56002, 56003. Зафиксированы IP-адреса: 178.16.54[.]27, 95.217.97[.]121 и другие. Между волнами инфраструктура расширилась за счёт доменов в зонах .cfd, .click, .bond. При этом сохранилась часть общих индикаторов: один и тот же хэш PE-нагрузки, одинаковый Node.js-бинарник, общий домен sec-safe-dc.info и совпадающие C2-порты.

После компрометации наблюдалась активность C2-биконов, автоматизированный запуск браузера с флагами --headless --no-sandbox (безголовый режим без песочницы), а также обращение к ip-api.com для определения геолокации устройства. На нескольких хостах выполнялась принудительная перезагрузка командой shutdown -s -t 0. Microsoft предполагает, что это может быть способом скрыть следы после завершения автоматизированных задач.

Особую опасность представляет устойчивость заражения. В одном из подтверждённых случаев Defender заблокировал основную PE-нагрузку с детектом Wacatac, но Node.js-имплант, закреплённый через HKCU\Run, остался активным. Через два дня имплант возобновил C2-связь и доставил новые EXE-файлы. Это подтверждает, что для полного устранения угрозы необходимо удалить оба реестровых ключа и очистить каталог Nodejs из AppData\Local.

Организациям гостиничной сферы рекомендуется обращать особое внимание на ZIP-архивы с photo-префиксом и LNK-файлы с расширением .png.lnk. Следует мониторить необычные запуски PowerShell с BigInt-арифметикой, появление csc.exe из временных папок, выполнение node.exe из пользовательских каталогов, добавление исключений Defender для Temp и двойные записи в Run/RunOnce. Сетевые соединения на перечисленные нестандартные порты, особенно от node.exe, требуют немедленной проверки. Домены в зоне .cfd, соответствующие шаблону photo-<цифры>.cfd, стоит блокировать на уровне DNS. Полная очистка подразумевает удаление как RunOnce, так и Run-ключа Node.js, иначе имплант восстановится.

Индикаторы компрометации

IPv4

  • 172.67.161.215
  • 178.16.54.27
  • 178.16.55.179
  • 193.202.84.32
  • 95.217.97.121

Domain

  • aluminiostramuntana.com
  • bookreservphoto.pro
  • dancamp.info
  • dashgamein.info
  • deeprace.info
  • derbyoni.info
  • doc-imagehub.info
  • docshub-01.info
  • docshub-secure.com
  • docstore-safe.info
  • expedla-getphoto.cloud
  • fairyspells.info
  • finallyrain.info
  • hakeiwjs727wj.com
  • haobbao.com
  • heliosup.info
  • higoksbupwou.com
  • imagestore-hub.info
  • imagevault-safe.info
  • image-vlt.info
  • joincroud.info
  • kellystreets.info
  • kelopins.info
  • kentjerk.info
  • keypmenu.info
  • kinghoruswe.info
  • kiptownim.info
  • lestresot.info
  • lookinlip.info
  • ministrew.info
  • montagelips.info
  • photo-132454.cfd
  • photo-21473.xyz
  • photo-26254.cfd
  • photo-26653.cfd
  • photo-26654.cfd
  • photo-26656.cfd
  • photo-27857.cfd
  • photo-7216102.click
  • photo-7216302.sbs
  • photo-8632454.cfd
  • photobookadm.pro
  • photobook-reserv.pro
  • photo-box.info
  • photo-dekor.xyz
  • photodoc-secure.info
  • photo-hub-io.info
  • photosafe-hub.info
  • prejointl.info
  • racestrech.info
  • recallnine.info
  • recepyman.info
  • recstrace.info
  • reservebookphot.pro
  • safedocphoto.info
  • safedoc-storage.info
  • safedoc-vault.info
  • safephoto-vault.info
  • safe-picvault.info
  • safevault-hub.info
  • sec-safe-dc.info
  • secure-imagehub.info
  • snapkeep.info
  • tripadvisor-photo-view.com
  • vertualstreak.info
  • visaimages.info
  • visaimage-storage.icu
  • visaphoto-secure.info
  • visaphoto-vault.info
  • visa-safedocs.info
  • visa-vault.info
  • widjssij728dj.com
  • zloapobikahy23.bond

SHA256

  • 04ec44f2618460f5c77c5e56014a512cc03a123c9c5b6b6b1273e2a1681ac2e1
  • 06a2888c1f07119873ccb051221bd8717281494b33585f4242556e6e5e227969
  • 1c693bcdaf1da636eb21c274b21cc2f6c52c62ddd514700783eee83fe13acb0a
  • 1f8daffec5945a13a1e9231f4a76655d4c7ef4560d0c64ca3abfe48f38297cbd
  • 2e5fd01b7949a45937b853eabcf4b03195614cf84338dcaaa97240d1c5301ddc
  • 3f66634f103b80412d1d670b91befab2a74425d2ea76d904c4a7ffae2ae94b44
  • 49cc0e0c3ec060fb354cacee244d4f297aaefb6db66e67a21262d6c4d2eae1bd
  • 63565f15a99769bbcd527a4d53e5cc259d80e1254463ef9c878c2074685558ae
  • 6580de3b74fd635a1d7a887b8f6e5b0c9ac9e90d6e20466ad41489203119cca9
  • 83e970feb3f10692c164f6889f7a026f135c2433e5bf8e662a6e63a3b81267b7
  • 89934cb1494cf0327f0ab82fe644c74caf687814379cad116bd7adaca74c1028
  • 97448688b292bfec6d83b153588076fe59b111c35ac4e42a916238df16a71e2f
  • 98825c0c7764f45c891275b2f038ea559e84b340df30b41c2cc77b8d4215c6c8
  • 9f10e3b6e5745784f26d18c38ce01fba054b19749c17260978ac11472564aee2
  • b7f46b192cd83a1d2487cb048cca645f6e8855b9673d500d50bbdb04eebc6bea
  • bd6805782df15e53581096b99bd6bbb81f4d4a5e2d2b30954df63175a4075be9
  • c5baa0c16b0074a1e94b48aa0177e9bfc23746aca8a5b42848a6685da85658b5
  • d14ba95cdce1ef7dc9ad3ac74949ca5db38b27378ee30f30a23cf26f9e875a11
  • da4b72764ae929050353f3da759c839e2a061a8b9a8dd3c3b2e909d4a8a3291c
  • f629311734b7c6e6579f8e1d0e1e3f3bf72c9ac6c301b631ba4df7f393c41b14

Комментарии: 0