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

06 Jan 2026 15:29 UTC

Серія неприємних подій з (RMM)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Серія неприємних подій з (RMM)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Зловмисники все більше використовують легітимне програмне забезпечення для віддаленого моніторингу та управління (RMM) для отримання початкового доступу та збереження вцілому в цільових середовищах. Доповідь висвітлює інциденти, коли оператори спершу встановлювали «первинний» RMM-інструмент, такий як GoTo Resolve або PDQ, а потім доповнювали його додатковими RMM-утилітами, такими як ScreenConnect, SimpleHelp або ITarian. Початкові інсталятори зазвичай доставлялися через фішинг та соціальну інженерію, часто розміщені на доменах, контрольованих нападниками. Оскільки це довірені комерційні інструменти, їхнє зловживання може злитись з нормальною адміністративною діяльністю та підтримувати тривалу присутність.

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

SOC Huntress провела ретроспективний пошук загроз через телеметрію кінцевих точок і виявила ланцюги виконання, що починаються з інсталяторів, доставлених фішингом, для GoTo Resolve, PDQ або ITarian. Аналітики потім простежили за кроками збереження і розширення, включаючи створення завдань за розкладом, встановлення та запуск сервісів, та шлагбауми файлової системи, які використовувались для формування та розгортання вторинних RMM, таких як ScreenConnect та SimpleHelp. Підтвердження включає в себе контекст виконання батьківського процесу на VirusTotal та локальні артефакти файлової системи, які використовувались для відновлення багатостадійного вторгнення.

Зменшення

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

Відповідь

Якщо виявлено несанкціонований інсталятор RMM, ізолюйте кінцеву точку, зупиніть і видаліть пов’язані сервіси та завдання за розкладом і видаліть несанкціоновані двійкові файли. Блокуйте або направляйте в пастку домени та URL-адреси, контрольовані нападниками, які спостерігаються під час доставки та зв’язків з командно-управлінськими серверами. Проведіть повну судову перевірку, щоб підтвердити, що додаткової підтримки не залишилося, і налаштуйте методи виявлення, щоб виявляти подібні моделі розгортання «первинних до вторинних RMM» у майбутньому.

Потік атаки

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

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

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

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

    Атака супроводжується відправкою фішингового листа з вкладеним файлом під назвою Open Revised Contract (2).exe. Користувач, вважаючи файл легітимним контрактом, відкриває вкладення. Виконуваний файл скидає шкідливий RMM MSI (276SpecialInvitation9756.msi) у %TEMP% директорій та запускає його через msiexec.exe. MSI встановлює незаконний RMM сервіс, що відкриває зворотний shell до C2 контролера нападника. Цей потік відповідає:

    1. T1203 – виконання клієнтом (користувач запускає вкладений EXE).
    2. T1027.004 – зкомпільоване навантаження (EXE є зкомпільованим шкідливим двійковим файлом).
    3. T1218.005 – Msiexec (EXE використовує msiexec.exe /i для запуску MSI).
    4. T1554 – компрометація клієнтського програмного бінарного файлу (MSI встановлює незаконний RMM).

    Події створення процесу, що генеруються, є:

    • C:Користувачі<user>AppDataLocalTempOpen Revised Contract (2).exe – початковий шкідливий EXE.
    • C:WindowsSystem32msiexec.exe з командним рядком /i "C:Користувачі<user>AppDataLocalTemp276SpecialInvitation9756.msi" /quiet.

    Обидва шляхи відповідають входам у Sigma-правилі і повинні запустити оповіщення.

  • Тестовий сценарій перевірки:

    # ------------------------------------------------------------
    # Сценарій симуляції – викликає правило Sigma, використовуючи точні
    # імена файлів, визначені в логіці виявлення.
    # ------------------------------------------------------------
    $tempDir = "$env:TEMPRMM_Test"
    New-Item -Path $tempDir -ItemType Directory -Force | Out-Null
    
    # 1. Випадковий шкідливий EXE (симульований копіюванням notepad.exe)
    $malExe = "$tempDirOpen Revised Contract (2).exe"
    Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $malExe -Force
    
    # 2. Випадковий шкідливий MSI (симульований копіюванням будь-якого MSI – наприклад, SDK Windows)
    $malMsi = "$tempDir276SpecialInvitation9756.msi"
    # Створення порожнього файлу MSI-заповнювача
    New-Item -Path $malMsi -ItemType File -Force | Out-Null
    
    # 3. Виконання EXE – він у свою чергу запускає msiexec для встановлення MSI
    Write-Host "[*] Виконання шкідливого EXE..."
    Start-Process -FilePath $malExe -Wait
    
    # 4. Прямий запуск MSI через msiexec для забезпечення виявлення (якщо крок 3 невдалий)
    Write-Host "[*] Запуск MSI через msiexec..."
    $msiArgs = "/i `"$malMsi`" /quiet"
    Start-Process -FilePath "$env:SystemRootSystem32msiexec.exe" -ArgumentList $msiArgs -Wait
    
    Write-Host "[+] Симуляція завершена. Перевірте SIEM для оповіщень про два створення процесу."
    # ------------------------------------------------------------
    # Очистка (виконайте окремо за бажанням)
    # ------------------------------------------------------------
    # Remove-Item -Path $tempDir -Recurse -Force
  • Команди очистки:

    # Видалення всіх артефактів, створених під час симуляції
    $tempDir = "$env:TEMPRMM_Test"
    if (Test-Path $tempDir) {
        Remove-Item -Path $tempDir -Recurse -Force
        Write-Host "[*] Очистка завершена."
    } else {
        Write-Host "[!] Жодних артефактів не знайдено; нічого очищати."
    }