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

12 Jan 2026 12:59 UTC

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-запити до відомих кінцевих точок вебхука і коли завантажуються сторінки збору облікових даних. ізолюйте шкідливу сторінку, ізолюйте уражені облікові записи користувачів, змініть паролі і перевірте журнали на предмет латерального переміщення. Проведіть пошук загроз для виявлення інших сторінок, що використовують ту ж інфраструктуру, і відновіть блокування списків відповідно.

Потік атак

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

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

Резюме: Цей розділ деталізує точне виконання техніки противника (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 "Очищення завершено."