Серія неприємних подій з (RMM)
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» у майбутньому.
Потік атаки
Виявлення
Сервіс GoTo Resolve запущено через sc.exe (через командну лінію)
Переглянути
Агент SimpleHelp виконаний з каталогу віддаленого доступу JWrapper (через створення процесу)
Переглянути
Ідентифікатори компрометації (HashSha256) для виявлення: Серія нещасних (RMM) подій
Переглянути
Виявлення встановлення шкідливого RMM через фішинг [створення процесу у Windows]
Переглянути
Виконання симуляції
Попередня умова: Перевірка телеметрії та базової лінії пройдена.
Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), розробленої для виклику правила виявлення. Команди і описи ПОВИННІ напряму відображати виявлені TTPs і мати на меті створення точної телеметрії, очікуваної детекційною логікою.
-
Опис атаки і команди:
Атака супроводжується відправкою фішингового листа з вкладеним файлом під назвою
Open Revised Contract (2).exe. Користувач, вважаючи файл легітимним контрактом, відкриває вкладення. Виконуваний файл скидає шкідливий RMM MSI (276SpecialInvitation9756.msi) у%TEMP%директорій та запускає його черезmsiexec.exe. MSI встановлює незаконний RMM сервіс, що відкриває зворотний shell до C2 контролера нападника. Цей потік відповідає:- T1203 – виконання клієнтом (користувач запускає вкладений EXE).
- T1027.004 – зкомпільоване навантаження (EXE є зкомпільованим шкідливим двійковим файлом).
- T1218.005 – Msiexec (EXE використовує
msiexec.exe /iдля запуску MSI). - 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 "[!] Жодних артефактів не знайдено; нічого очищати." }