Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Kemampuan berburu tingkat lanjut tidak disertakan dalam Microsoft Defender untuk Bisnis.
Note
Jika Anda adalah pelanggan Pemerintah AS, gunakan URI yang tercantum dalam Microsoft Defender untuk Titik Akhir untuk pelanggan Pemerintah AS.
Tip
Untuk performa yang lebih baik, alih-alih menggunakan api.security.microsoft.com, gunakan server yang lebih dekat dengan geolokasi Anda:
- us.api.security.microsoft.com
- eu.api.security.microsoft.com
- uk.api.security.microsoft.com
- au.api.security.microsoft.com
- swa.api.security.microsoft.com
- ina.api.security.microsoft.com
- aea.api.security.microsoft.com
Skenario penuh menggunakan beberapa API dari Microsoft Defender untuk Titik Akhir.
Di bagian ini, kami berbagi sampel PowerShell ke:
- Mengambil token.
- Gunakan token untuk mengambil pemberitahuan terbaru di Microsoft Defender untuk Titik Akhir.
- Untuk setiap pemberitahuan, jika pemberitahuan memiliki prioritas sedang atau tinggi dan masih berlangsung, periksa berapa kali perangkat tersambung ke URL yang mencurigakan.
Prasyarat: Anda harus terlebih dahulu membuat aplikasi.
Instruksi persiapan
Buka jendela PowerShell.
Jika kebijakan Anda tidak mengizinkan Anda menjalankan perintah PowerShell, Anda bisa menjalankan perintah berikut:
Set-ExecutionPolicy -ExecutionPolicy Bypass
Untuk informasi selengkapnya, lihat dokumentasi PowerShell.
Dapatkan token
Jalankan perintah berikut, menggunakan informasi Anda sebagai berikut:
-
$tenantId: ID penyewa atas nama yang ingin Anda jalankan kuerinya (yaitu, kueri dijalankan pada data penyewa ini). -
$appId: ID aplikasi Microsoft Entra Anda (aplikasi harus memiliki izin 'Jalankan kueri tingkat lanjut' untuk Defender untuk Titik Akhir). -
$appSecret: Rahasia aplikasi Microsoft Entra Anda. -
$suspiciousUrl: URL.
Tip
Beberapa API Microsoft Defender untuk Titik Akhir masih memerlukan token akses yang dikeluarkan untuk sumber daya lama https://api.securitycenter.microsoft.com. Jika audiens token tidak cocok dengan sumber daya yang diharapkan oleh API, permintaan gagal dengan 403 Forbidden, bahkan jika titik akhir API menggunakan https://api.security.microsoft.com. Gunakan https://api.securitycenter.microsoft.com sebagai sumber daya atau cakupan saat memperoleh token.
$tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here
$appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here
$appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here
$suspiciousUrl = 'www.suspiciousUrl.com' # Paste your own URL here
$resourceAppIdUri = 'https://api.securitycenter.microsoft.com'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/token"
$authBody = [Ordered] @{
resource = "$resourceAppIdUri"
client_id = "$appId"
client_secret = "$appSecret"
grant_type = 'client_credentials'
}
$authResponse = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $authBody -ErrorAction Stop
$aadToken = $authResponse.access_token
#Get latest alert
$alertUrl = "https://api.security.microsoft.com/api/alerts?`$top=10"
$headers = @{
'Content-Type' = 'application/json'
Accept = 'application/json'
Authorization = "Bearer $aadToken"
}
$alertResponse = Invoke-WebRequest -Method Get -Uri $alertUrl -Headers $headers -ErrorAction Stop
$alerts = ($alertResponse | ConvertFrom-Json).value
$machinesToInvestigate = New-Object System.Collections.ArrayList
Foreach($alert in $alerts)
{
#echo $alert.id $alert.machineId $alert.severity $alert.status
$isSevereAlert = $alert.severity -in 'Medium', 'High'
$isOpenAlert = $alert.status -in 'InProgress', 'New'
if($isOpenAlert -and $isSevereAlert)
{
if (-not $machinesToInvestigate.Contains($alert.machineId))
{
$machinesToInvestigate.Add($alert.machineId) > $null
}
}
}
$commaSeparatedMachines = '"{0}"' -f ($machinesToInvestigate -join '","')
$query = "NetworkCommunicationEvents
| where MachineId in ($commaSeparatedMachines)
| where RemoteUrl == `"$suspiciousUrl`"
| summarize ConnectionsCount = count() by MachineId"
$queryUrl = "https://api.security.microsoft.com/api/advancedqueries/run"
$queryBody = ConvertTo-Json -InputObject @{ 'Query' = $query }
$queryResponse = Invoke-WebRequest -Method Post -Uri $queryUrl -Headers $headers -Body $queryBody -ErrorAction Stop
$response = ($queryResponse | ConvertFrom-Json).Results
$response
Baca juga
- API Microsoft Defender untuk Titik Akhir
- API Perburuan Tingkat Lanjut
- Perburuan Tingkat Lanjut menggunakan Python
Tip
Apakah Anda ingin mempelajari lebih lanjut? Libatkan dengan komunitas Microsoft Security di Komunitas Teknologi kami: Microsoft Defender untuk Titik Akhir Tech Community.