Як експортувати результати розширеної перевірки з Microsoft Defender XDR

Як експортувати результати розширеної перевірки з Microsoft Defender XDR

SOC Prime Team
SOC Prime Team linkedin icon Стежити

Запустіть свій запит у Розширене полювання, потім надішліть той самий запит до Microsoft Graph через runHuntingQuery, щоб отримати результати у форматі JSON. Кнопка експорту порталу створює файл у форматі електронної таблиці, який LogTotal сьогодні не читає. Розширене полювання зберігає дані протягом 30 днів, тому старіші дані мають надходити з Sentinel або іншого потоку даних Defender.

Defender XDR містить телеметрію кінцевих точок, ідентичності, електронної пошти та хмарних додатків в одному місці, що робить його першим кроком у більшості розслідувань в середовищі Microsoft. Prime Core має 17 197 правил виявлення для даних Microsoft Defender, віднесених до 659 технік MITRE ATT&CK. Нижче описано, як виділити фрагмент, очистити його та досліджувати безкоштовно у LogTotal.

Почати безкоштовно

Перш ніж почати

Дозволи. Для Graph вам потрібен дозвіл ThreatHunting.Read.All. Авторизований користувач також повинен мати роль Defender, яка дозволяє розширене полювання.

Обмеження. Запити припиняються через кілька хвилин, а результати обмежені. Плануйте розділити за часом або за пристроєм.

Таблиці. DeviceProcessEvents, DeviceNetworkEvents, DeviceLogonEvents, DeviceFileEvents, DeviceRegistryEvents, DeviceEvents (включає події ASR та AMSI), EmailEvents, IdentityLogonEvents, і AlertInfo з AlertEvidence. Стовпець часу – Timestamp.

Приклади базуються на документації Microsoft, перевірено у жовтні 2026 року.

Крок 1: Напишіть запит

DeviceProcessEvents
| where Timestamp between (datetime(2026-10-19) .. datetime(2026-10-20))
| where DeviceName startswith "ws-042"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256

Запустіть його спочатку в порталі. Імена пристроїв у Defender часто є FQDN, через що startswith працює краще, ніж ==

Крок 2: Експорт через Microsoft Graph

Connect-MgGraph -Scopes "ThreatHunting.Read.All"

$kql = @"
DeviceProcessEvents
| where Timestamp between (datetime(2026-10-19) .. datetime(2026-10-20))
| where DeviceName startswith "ws-042"
"@

$resp = Invoke-MgGraphRequest -Method POST `
  -Uri "https://graph.microsoft.com/v1.0/security/runHuntingQuery" `
  -Body (@{ Query = $kql } | ConvertTo-Json) -ContentType "application/json"

$resp.results | ForEach-Object { $_ | ConvertTo-Json -Depth 10 -Compress } |
  Out-File ws042_proc_1019.jsonl -Encoding utf8

Кожен рядок повертається як один об’єкт JSON на рядок. Для кількох днів або кількох пристроїв прокрутіть по вікнах розміром у день, щоб залишатися в межах обмежень.

Крок 3: Завантаження, очищення та огляд у LogTotal

  1. Завантажити. Відкрити logtotal.com і завантажити файл .jsonl.
  2. Очищення. 
  3. Перегляд. 

Коли щось йде не так

СимптомМожлива причинаFix
403 з GraphВідсутня згода на ThreatHunting.Read.All або роль DefenderНадання згоди; перевірте вашу роль
Запит завершився невдачею або повернув часткові результатиЗабагато даних в одному запитіЗвузьте часовий проміжок або набір пристроїв
Нічого старше 30 днівЗбереження розширеного полюванняКористуйтесь Sentinel або вашим потоковим пунктом призначення
Обмеження кількості рядків на кругле числоОбмеження результатуРозділіть вікно
Немає рядків для відомого пристроюНевідповідність імен (коротке ім’я проти FQDN)Використовуйте startswith або has

FAQ

Чи можу я отримати сирий EVTX з пристрою?

Так, за допомогою Live Response у Defender для Endpoint: getfile витягує файли, включно з експортованими EVTX, з машини.

Чи це те саме, що і Sentinel?

Ні, хоча вони пересікаються у єдиному порталі Defender. Sentinel зберігає історію довше.

Приєднуйтесь до платформи Detection as Code від SOC Prime щоб покращити видимість загроз, найбільш актуальних для вашого бізнесу. Щоб допомогти вам розпочати та отримати негайну цінність, забронюйте зустріч зараз з експертами SOC Prime.