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

12 Січ 2026 15:59

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

Author Photo
Ruslan Mikhalov Chief of Threat Research at 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 "Очищення завершено."