SOC Prime Bias: Критичний

12 Jan 2026 15:59

BlueDelta (APT28) Фішинг облікових даних через безкоштовний хостинг та Ngrok

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
BlueDelta (APT28) Фішинг облікових даних через безкоштовний хостинг та Ngrok
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

BlueDelta, група, пов’язана з ГРУ і також відома як APT28/Fancy Bear, проводила кілька кампаній зі збору облікових даних з лютого по вересень 2025 року. Кампанії використовували безкоштовне хостинг та тунелювання для розміщення підроблених сторінок входу Outlook, Google та Sophos VPN з метою ексфільтрації зібраних облікових даних. Заманювання включало легітимні PDF-документи та регіонально-специфічну мову для підвищення довіри. Операція була націлена на енергетику, ядерні дослідження, державні та академічні установи в Туреччині, Північній Македонії та Узбекистані.

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

Insikt Group з Recorded Future зібрала понад десяток фішингових сторінок, розміщених на таких сервісах, як Webhook.site, InfinityFree, Byet Internet Services та ngrok. JavaScript на цих сторінках зібрав імена користувачів, паролі й ідентифікатори жертв, відправив сигнали на вебхуки, контрольовані атакувальниками, і потім перенаправив жертв на справжні портали. Безліч варіантів використовували повторно код і змінювали імена змінних для спрощення розгортання. Інфраструктура була короткочасною і використовувала сервіси скорочення посилань, такі як ShortURL.at.

Пом’якшення

Блокуйте відомі домени безкоштовного хостингу і тунелювання, моніторте вихідний трафік до сервісів вебхуку і впроваджуйте двофакторну аутентифікацію на всіх зовнішньо доступних облікових записах. Навчайте користувачів щодо фішингових сторінок, які імітують OWA, Google і VPN портали, особливо коли до них додаються PDF-приманки. Реалізуйте фільтрацію мережі для відомих шкідливих URL-адрес і застосовуйте заходи безпеки електронної пошти для виявлення підозрілих PDF-посилань.

Відповідь

Попереджати аналітиків SOC, коли спостерігаються HTTP POST-запити до відомих кінцевих точок вебхука і коли завантажуються сторінки збору облікових даних. ізолюйте шкідливу сторінку, ізолюйте уражені облікові записи користувачів, змініть паролі і перевірте журнали на предмет латерального переміщення. Проведіть пошук загроз для виявлення інших сторінок, що використовують ту ж інфраструктуру, і відновіть блокування списків відповідно.

graph TB %% Визначення класів classDef action fill:#99ccff classDef service fill:#ffcc99 classDef tool fill:#cccccc %% Вузли – Розвідка recon_info[“<b>Дія</b> – <b>T1591 Збір інформації про організацію жертви</b>: Збір публічних електронних адрес та організаційних даних цільових дослідників.”] class recon_info action recon_roles[“<b>Дія</b> – <b>T1591.004 Визначення ролей</b>: Виявлення конкретних посад, таких як енергетичні аналітики, експерти аналітичних центрів та персонал служби безпеки.”] class recon_roles action %% Вузли – Розробка ресурсів resource_dev[“<b>Дія</b> – <b>T1583.006 Отримання веб-інфраструктури</b>: Реєстрація одноразових доменів та використання безкоштовних хостинг/тунельних сервісів (Webhook.site, InfinityFree, Byet, ngrok, shorturl.at).”] class resource_dev service %% Вузли – Фішинг phishing[“<b>Дія</b> – <b>T1566.001 Цільовий фішинг із вкладенням</b>: Надсилання спеціально створеного листа зі скороченим шкідливим посиланням, що перенаправляє через кілька URL.”] class phishing action %% Вузли – Обфускація html_smuggling[“<b>Дія</b> – <b>T1027.006 HTML Smuggling</b>: Перше перенаправлення повертає HTML, який тимчасово вбудовує легітимну PDF-приманку через meta-refresh.”] class html_smuggling action %% Вузли – Викрадення облікових даних credential_forge[“<b>Дія</b> – <b>T1606 Підробка веб-облікових даних / T1056.003 Захоплення через веб-портал</b>: Підроблені сторінки входу (OWA, Google, Sophos VPN) захоплюють облікові дані за допомогою JavaScript.”] class credential_forge tool %% Вузли – Beacon для захоплення введення web_capture_beacon[“<b>Дія</b> – <b>T1056.003 Захоплення через веб-портал</b>: JavaScript надсилає сигнал про відкриття сторінки та введені облікові дані на webhook зловмисника.”] class web_capture_beacon tool %% Вузли – Ексфільтрація exfil_webhook[“<b>Дія</b> – <b>T1567.004 Ексфільтрація через Webhook</b>: Відправлення викрадених даних у форматі JSON на webhook, контрольований зловмисником (webhook.site, ngrok-free.app).”] class exfil_webhook service %% Вузли – Командування та керування (C2) c2_webprotocol[“<b>Дія</b> – <b>T1071.001 Веб-протоколи прикладного рівня</b>: Використання стандартного веб-трафіку для C2-комунікації.”] class c2_webprotocol service c2_webservice[“<b>Дія</b> – <b>T1102.002 Двонаправлений веб-сервіс</b>: Підтримка постійного двостороннього каналу через webhook-сервіс.”] class c2_webservice service %% Вузли – Тунелювання protocol_tunnel[“<b>Дія</b> – <b>T1572 Тунелювання протоколів</b>: Використання ngrok-тунелів для відкриття локальних точок ексфільтрації в інтернет.”] class protocol_tunnel tool %% Вузли – Перенаправлення після ексфільтрації post_redirect[“<b>Дія</b> – Перенаправлення після ексфільтрації: Після викрадення даних жертву перенаправляють на оригінальний легітимний документ або VPN-портал, щоб уникнути підозри.”] class post_redirect action %% Зв’язки – Потік атаки recon_info –>|призводить до| recon_roles recon_roles –>|призводить до| resource_dev resource_dev –>|забезпечує| phishing phishing –>|запускає| html_smuggling html_smuggling –>|доставляє| credential_forge credential_forge –>|захоплює| web_capture_beacon web_capture_beacon –>|надсилає до| exfil_webhook exfil_webhook –>|підтримує| c2_webprotocol c2_webprotocol –>|використовує| c2_webservice c2_webservice –>|залежить від| protocol_tunnel protocol_tunnel –>|забезпечує| post_redirect

Потік атак

Виконання симуляції

Попередня умова: Перевірка телеметрії та базових показників повинна була бути успішною.

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

  • Сценарій атаки та команди:

    1. Початкова доставка фішингу: Атакуючий відсилає фішинг-лист, що містить скорочене посилання, яке перенаправляє на шкідливий webhook.site сторінку.
    2. Взаємодія жертви: Жертва натискає на посилання; браузер слідує за перенаправленням та виконує HTTP GET запит до https://webhook.site/e8ae3bbd-ab02-46b7-b84c-f5f4baa5d7c7.
    3. Сторінка захоплення облікових даних: Сторінка містить JavaScript, який краде введені облікові дані та відправляє їх назад на той самий вебхук URL, але проксі тільки реєструє початковий GET-запит, що достатньо для запуску правила.
    4. Для тесту, ми імітуємо жертву, виконавши в PowerShell команду Invoke-WebRequest для запиту точного шкідливого URL, відтворюючи ту саму запис проксі.
  • Сценарій регресійного тестування:

    # -------------------------------------------------
    # BlueDelta Webhook Site Access Simulation (TC-20260109-9X3BZ)
    # -------------------------------------------------
    $maliciousUrls = @(
        "https://webhook.site/e8ae3bbd-ab02-46b7-b84c-f5f4baa5d7c7",
        "https://webhook.site/3791f8c0-1308-4c5b-9c82-0dc416aeb9c4"
    )
    
    foreach ($url in $maliciousUrls) {
        try {
            Write-Host "Requesting malicious URL: $url"
            Invoke-WebRequest -Uri $url -UseBasicParsing -Method GET -TimeoutSec 10 | Out-Null
            Write-Host "✅ Request sent."
        } catch {
            Write-Warning "Request to $url failed: $_"
        }
    }
  • Команди очищення:

    # Очистити кеш проксі (якщо це застосовується) для уникнення залишкових записів
    net stop "Squid Service"
    net start "Squid Service"
    
    # Видалити всі тимчасові файли, створені скриптом (їх немає в цьому випадку)
    Write-Host "Очищення завершено."