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

28 Apr 2026 18:45

Криптовідсоси як конвергентна загроза: погляди на нові гібридні екосистеми атак

Author Photo
SOC Prime Team linkedin icon Стежити
Криптовідсоси як конвергентна загроза: погляди на нові гібридні екосистеми атак
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

У звіті пояснюється, як усталена інфраструктура кіберзлочинності все більше конвергується з операціями зливу криптовалют, що призводить до появи гібридних екосистем атак, які ставлять під загрозу як активи Web2, так і Web3. Зловмисники покладаються на відшліфовані фішингові сторінки, тематика яких пов’язана з інструментами штучного інтелекту або фінансовими послугами, щоб переконати жертв підключити свої гаманці, авторизувати транзакції токенів і несвідомо переносити кошти через декілька блокчейнів. Два продемонстровані приклади, StepDrainer і EtherRAT, показують, як ця модель охоплює як злив гаманців у браузері, так і шкідливе програмне забезпечення для Windows з функціональністю, що усвідомлює блокчейн. В результаті загроза тепер поширюється далеко за межі користувачів криптовалют і глибше проникає в основні корпоративні середовища.

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

Дослідники вивчили роботу StepDrainer, як службу за підпискою на шкідливе ПЗ, включаючи його інфраструктуру на PHP і JavaScript та використання Web3Modal для відображення переконливих запрошень підключення до гаманців. Також вони проаналізували шкідливе ПЗ EtherRAT для Windows, яке постачалося через троянізований інсталятор TFTP, зберігало стійкість через ключ реєстру Run і взаємодіяло з кінцевими точками Ethereum та Solana RPC. Під час розслідування команда виявила індикатори, такі як шкідливі домени, ключі реєстру та артефакти командного рядка, пов’язані з обома шляхами атаки.

Пом’якшення

Організації повинні заблокувати доступ до відомих шкідливих доменів, вимагати багатофакторної аутентифікації для розширень гаманців де це можливо, та контролювати системи на предмет підозрілих записів реєстру Run та неочікуваних процесів Node.js. Команди безпеки також повинні перевіряти трафік до публічних сервісів RPC блокчейну на предмет аномальної поведінки та регулярно переглядати розширення браузера на предмет ознак підробки або зловживання.

Відповідь

Якщо така активність виявлена, негайно ізолюйте уражений хост, видаліть шкідливий запис реєстру Run, завершіть несанкціоновані процеси Node.js та скасуйте всі дозволи токенів, наданих ураженими гаманцями. Слідчі повинні потім провести криміналістичний аналіз, щоб виявити будь-які додаткові завантаження або механізми стійкості, а також оновити списки дозволених або заблокованих для запобігання подальшої комунікації з визначеною інфраструктурою командування і контролю.

graph TB %% Class Definitions classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 classDef operator fill:#ff9900 %% Nodes – Techniques initial_access[“<b>Technique</b> – <b>T1204.001 User Execution: Malicious Link</b><br/><b>Description</b>: As vítimas clicam num link criado que inicia conteúdo malicioso.”] class initial_access technique delivery_html_smuggling[“<b>Technique</b> – <b>T1027.006 Obfuscated Files or Information: HTML Smuggling</b><br/><b>Description</b>: JavaScript malicioso é entregue através de uma página web que esconde a carga útil em HTML.”] class delivery_html_smuggling technique delivery_compile_after[“<b>Technique</b> – <b>T1027.004 Obfuscated Files or Information: Compile After Delivery</b><br/><b>Description</b>: A carga útil é montada no host após a entrega inicial.”] class delivery_compile_after technique delivery_embedded_payloads[“<b>Technique</b> – <b>T1027.009 Obfuscated Files or Information: Embedded Payloads</b><br/><b>Description</b>: A carga útil está escondida dentro de outro ficheiro, como JavaScript.”] class delivery_embedded_payloads technique delivery_deobfuscate[“<b>Technique</b> – <b>T1140 Deobfuscate/Decode Files or Information</b><br/><b>Description</b>: Dados Base64 são decodificados no navegador antes da execução.”] class delivery_deobfuscate technique persistence_run_key[“<b>Technique</b> – <b>T1127.002 Trusted Developer Utilities Proxy Execution: ClickOnce</b><br/><b>Description</b>: O instalador cria uma Runu2011key para iniciar um node.exe malicioso.”] class persistence_run_key technique persistence_appcert[“<b>Technique</b> – <b>T1546.009 Event Triggered Execution: AppCert DLLs</b><br/><b>Description</b>: DLLs assinadas com certificado confiável são carregadas para persistência.”] class persistence_appcert technique recon_hardware[“<b>Technique</b> – <b>T1592.001 Gather Victim Host Information: Hardware</b><br/><b>Description</b>: O malware consulta detalhes de hardware do sistema comprometido.”] class recon_hardware technique recon_firmware[“<b>Technique</b> – <b>T1592.003 Gather Victim Host Information: Firmware</b><br/><b>Description</b>: O malware recolhe versão de firmware e informações da BIOS.”] class recon_firmware technique c2_web_protocols[“<b>Technique</b> – <b>T1071.001 Application Layer Protocol: Web Protocols</b><br/><b>Description</b>: Utiliza tráfego web padrão (HTTP/HTTPS) para comando e controlo.”] class c2_web_protocols technique c2_bidirectional[“<b>Technique</b> – <b>T1102.002 Web Service: Bidirectional Communication</b><br/><b>Description</b>: Permite comunicação bidirecional entre o implante e o servidor.”] class c2_bidirectional technique c2_oneway[“<b>Technique</b> – <b>T1102.003 Web Service: One-Way Communication</b><br/><b>Description</b>: Envia dados ao servidor sem esperar resposta.”] class c2_oneway technique c2_encrypted[“<b>Technique</b> – <b>T1573 Encrypted Channel</b><br/><b>Description</b>: O tráfego C2 é encriptado para evitar deteção.”] class c2_encrypted technique c2_data_encoding[“<b>Technique</b> – <b>T1132 Data Encoding</b><br/><b>Description</b>: Os dados são codificados (ex: base64) antes da transmissão.”] class c2_data_encoding technique c2_config_repo[“<b>Technique</b> – <b>T1602 Data from Configuration Repository</b><br/><b>Description</b>: Dados de configuração são obtidos de repositórios onu2011chain.”] class c2_config_repo technique asset_drain[“<b>Technique</b> – <b>T1204.002 User Execution: Token Approval</b><br/><b>Description</b>: A vítima aprova permissões de tokens via Web3Modal injetado, permitindo transferência de ativos.”] class asset_drain technique %% Nodes – Tools / Processes tool_malicious_link[“<b>Tool</b> – <b>Name</b>: Malicious Phishing Link<br/><b>Description</b>: URL criada que carrega o portal falso de trading.”] class tool_malicious_link tool tool_js_payload[“<b>Tool</b> – <b>Name</b>: Obfuscated JavaScript Payload<br/><b>Description</b>: Código Base64 executado no navegador.”] class tool_js_payload tool process_installer[“<b>Process</b> – <b>Name</b>: Windows Installer<br/><b>Description</b>: Instala Runu2011key e node.exe.”] class process_installer process tool_node_exe[“<b>Tool</b> – <b>Name</b>: node.exe<br/><b>Description</b>: Executa JavaScript malicioso após persistência.”] class tool_node_exe tool tool_web3modal[“<b>Tool</b> – <b>Name</b>: Web3Modal UI<br/><b>Description</b>: Interface injetada que solicita aprovação de transferências de tokens.”] class tool_web3modal tool %% Operators op_and((“AND”)) class op_and operator %% Connections – Attack Flow initial_access –>|leads_to| delivery_html_smuggling delivery_html_smuggling –>|uses| tool_malicious_link delivery_html_smuggling –>|uses| tool_js_payload delivery_html_smuggling –>|enables| delivery_compile_after delivery_compile_after –>|enables| delivery_embedded_payloads delivery_embedded_payloads –>|triggers| delivery_deobfuscate delivery_deobfuscate –>|creates| process_installer process_installer –>|drops| persistence_run_key process_installer –>|may_use| persistence_appcert persistence_run_key –>|executes| tool_node_exe persistence_app_cert –>|loads| tool_node_exe tool_node_exe –>|collects| recon_hardware tool_node_exe –>|collects| recon_firmware recon_hardware –>|feeds| c2_web_protocols recon_firmware –>|feeds| c2_web_protocols c2_web_protocols –>|supports| c2_bidirectional c2_web_protocols –>|supports| c2_oneway c2_bidirectional –>|uses| c2_encrypted c2_oneway –>|uses| c2_encrypted c2_encrypted –>|encodes| c2_data_encoding c2_data_encoding –>|stores_config_in| c2_config_repo c2_config_repo –>|provides| asset_drain asset_drain –>|uses| tool_web3modal

Потік атаки

Детекції

Можливі точки стійкості [ASEPs – Програмне забезпечення/Вулик NTUSER] (через подію реєстру)

Команда SOC Prime
28 квітня 2026

Виконання NodeJS з нетипового розташування (через командний рядок)

Команда SOC Prime
28 квітня 2026

Можливе перерахування антивірусного або міжмережевого програмного забезпечення (через створення процесу)

Команда SOC Prime
28 квітня 2026

LOLBAS Conhost (через командний рядок)

Команда SOC Prime
28 квітня 2026

Підозріле використання CURL (через командний рядок)

Команда SOC Prime
28 квітня 2026

Можливі перевірки обходу (через Powershell)

Команда SOC Prime
28 квітня 2026

Можлива спроба зловживання Publicnode Ethereum як каналу C2 (через dns-запит)

Команда SOC Prime
28 квітня 2026

Можливе вивантаження / завантаження даних / C2 через сторонні сервіси / інструменти (через проксі)

Команда SOC Prime
28 квітня 2026

Можливе вивантаження / завантаження даних / C2 через сторонні сервіси / інструменти (через dns)

Команда SOC Prime
28 квітня 2026

Виявлення механізму стійкості EtherRAT з використанням conhost.exe в режимі без голови [Створення процесу в Windows]

Правила SOC Prime AI
28 квітня 2026

Виконання команди EtherRAT через PowerShell для системної розвідки [Windows PowerShell]

Правила SOC Prime AI
28 квітня 2026

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

Попередня умова: Тест телеметрії та базової лінії перед польотом має пройти.

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

    Зловмисник вже розмістив шкідливий файл JavaScript (payload.js) на цілі. Щоб досягти стійкості, вони використовують встановлений node.exe бінарний файл для запуску conhost.exe в режимі без голови, який потім завантажує JavaScript навантаження. Цей метод уникає видимих вікон консолі і зливається з нормальною node використанням.

    1. Скидання шкідливого навантаження (payload.js) до тимчасового розташування.
    2. Виконати node.exe з командою, яка створює conhost.exe --headless з вказівкою на навантаження.
    3. Створіть заплановану задачу яка виконує цю ж команду при запуску системи, забезпечуючи стійкість.
  • Скрипт регресійних тестів

    # Імітація стійкості EtherRAT – PowerShell
    # -------------------------------------------------
    # 1. Підготуй шкідливий JavaScript навантаження
    $payloadPath = "$env:TEMPpayload.js"
    @"
    // Мінімальний шкідливий JS – насправді він би завантажив імплантат EtherRAT
    const { exec } = require('child_process');
    exec('calc.exe'); // Приклад побічного ефекту
    "@ | Set-Content -Encoding UTF8 $payloadPath
    
    # 2. Знайти node.exe (припускаємо, що він у PATH)
    $node = (Get-Command node.exe).Source
    if (-not $node) {
        Write-Error "node.exe не знайдено в PATH."
        exit 1
    }
    
    # 3. Скласти командний рядок conhost
    $conhostCmd = "C:WindowsSystem32conhost.exe --headless `"$payloadPath`""
    
    # 4. Запуск через node.exe (це створює відношення батько-дитина)
    $script = "require('child_process').exec(`"$conhostCmd`")"
    & $node -e $script
    
    # 5. НЕОБОВ’ЯЗКОВО: Створіть заплановану задачу для стійкості
    $taskName = "SystemUpdate"
    $action = New-ScheduledTaskAction -Execute $node -Argument "-e `"$script`""
    $trigger = New-ScheduledTaskTrigger -AtLogOn
    Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force
  • Команди очищення

    # Вилучення запланованого завдання
    Unregister-ScheduledTask -TaskName "SystemUpdate" -Confirm:$false
    
    # Видалити навантаження
    Remove-Item -Path "$env:TEMPpayload.js" -Force
    
    # Зупинити всі незавершені процеси conhost, створені тестом
    Get-Process conhost -ErrorAction SilentlyContinue | Where-Object {
        $_.Path -eq 'C:WindowsSystem32conhost.exe' -and $_.CommandLine -match '--headless'
    } | Stop-Process -Force