Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Importez le renseignement sur les menaces à utiliser dans Microsoft Sentinel avec l’API de chargement. Que vous utilisiez une plateforme de renseignement sur les menaces ou une application personnalisée, utilisez ce document comme référence supplémentaire aux instructions fournies dans Connecter votre CONSEIL avec l’API de chargement. L’installation du connecteur de données n’est pas nécessaire pour se connecter à l’API. Le renseignement sur les menaces que vous pouvez importer inclut des indicateurs de compromission et d’autres objets de domaine STIX.
Importante
Cette API est actuellement en préversion. Les conditions supplémentaires de la préversion Azure incluent des conditions juridiques supplémentaires qui s’appliquent à Azure fonctionnalités qui sont en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale.
L’expression STIX (Structured Threat Information Expression) est un langage permettant d’exprimer des cybermenaces et des informations observables. La prise en charge améliorée des objets de domaine suivants est incluse avec l’API de chargement :
- Indicateur
- modèle d’attaque
- acteur de menace
- identité
- relation
Pour plus d’informations, consultez Présentation de STIX.
Remarque
L’API d’indicateurs de chargement précédente est désormais héritée. Si vous avez besoin de référencer cette API lors de la transition vers cette nouvelle API de chargement, consultez API d’indicateurs de chargement hérités.
Appel de l’API
Un appel à l’API de chargement comporte cinq composants :
- URI de la requête
- En-tête de message de requête HTTP
- Corps du message de requête HTTP
- Si vous le souhaitez, traiter l’en-tête du message de réponse HTTP
- Traiter éventuellement le corps du message de réponse HTTP
Inscrire votre application cliente auprès de Microsoft Entra ID
Pour s’authentifier auprès de Microsoft Sentinel, la demande à l’API de chargement nécessite un jeton d’accès Microsoft Entra valide. Pour plus d’informations sur l’inscription de l’application, consultez Inscrire une application avec le Plateforme d'identités Microsoft ou consultez les étapes de base dans le cadre de la configuration de l’API Connecter le renseignement sur les menaces avec chargement.
Cette API nécessite que l’application Microsoft Entra appelante se voit attribuer le rôle Microsoft Sentinel contributeur au niveau de l’espace de travail.
Créer la demande
Cette section couvre les trois premiers des cinq composants abordés précédemment. Vous devez d’abord acquérir le jeton d’accès à partir de Microsoft Entra ID, que vous utilisez pour assembler l’en-tête de votre message de demande.
Acquisition d’un jeton d’accès
Acquérir un jeton d’accès Microsoft Entra avec l’authentification OAuth 2.0. V1.0 et V2.0 sont des jetons valides acceptés par l’API.
La version du jeton (v1.0 ou v2.0) reçue est déterminée par la accessTokenAcceptedVersion propriété dans le manifeste de l’application de l’API que votre application appelle. Si accessTokenAcceptedVersion est défini sur 1, votre application reçoit un jeton v1.0.
Utilisez la bibliothèque d’authentification Microsoft (MSAL) pour acquérir un jeton d’accès v1.0 ou v2.0. Utilisez le jeton d’accès pour créer l’en-tête d’autorisation qui contient le jeton du porteur.
Par exemple, une demande à l’API de chargement utilise les éléments suivants pour récupérer un jeton d’accès et créer l’en-tête d’autorisation, qui est utilisé dans chaque requête :
- POST
https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
En-têtes pour l’utilisation de Microsoft Entra App :
- grant_type : « client_credentials »
- client_id : {ID client de l’application Microsoft Entra}
- client_secret ou client_certificate : {secrets de l’application Microsoft Entra}
- Portée:
"https://management.azure.com/.default"
Si accessTokenAcceptedVersion dans le manifeste de l’application est défini sur 1, votre application reçoit un jeton d’accès v1.0 même si elle appelle le point de terminaison de jeton v2.
La valeur de ressource/d’étendue est l’audience du jeton. Cette API accepte uniquement les audiences suivantes :
https://management.core.windows.net/https://management.core.windows.nethttps://management.azure.com/https://management.azure.com
Assembler le message de demande
URI de requête
Contrôle de version de l’API : api-version=2024-02-01-preview
Terminaison: https://api.ti.sentinel.azure.com/workspaces/{workspaceId}/threat-intelligence-stix-objects:upload?api-version={apiVersion}
Méthode: POST
En-tête de requête
Authorization: contient le jeton du porteur OAuth2
Content-Type: application/json
Corps de la demande
L’objet JSON du corps contient les champs suivants :
| Nom du champ | Type de données | Description |
|---|---|---|
sourcesystem (obligatoire) |
string | Identifiez le nom de votre système source. La valeur Microsoft Sentinel est restreinte. |
stixobjects (obligatoire) |
tableau | Tableau d’objets STIX au format STIX 2.0 ou 2.1 |
Créez le tableau d’objets STIX à l’aide de la spécification de format STIX. Certaines des spécifications de propriété STIX sont développées ici pour votre commodité avec des liens vers les sections de document STIX pertinentes. Notez également que certaines propriétés, bien que valides pour STIX, n’ont pas de propriétés de schéma d’objet correspondantes dans Microsoft Sentinel.
Avertissement
Si vous utilisez une application logique Microsoft Sentinel pour vous connecter à l’API de chargement, notez que trois actions de renseignement sur les menaces sont disponibles. Utilisez uniquement Threat Intelligence - Upload STIX Objects (préversion) . Les deux autres échouent avec ce point de terminaison et les champs de corps JSON.
Exemple de message de demande
Voici un exemple de fonction PowerShell qui utilise un certificat auto-signé chargé sur une inscription d’application Entra pour générer le jeton d’accès et l’en-tête d’autorisation :
function Test-UploadApi {
<#
.SYNOPSIS
requires Powershell module MSAL.PS version 4.37 or higher
https://www.powershellgallery.com/packages/MSAL.PS/
.EXAMPLE
Test-Api -API UploadApi -WorkspaceName "workspacename" -ResourceGroupName "rgname" -AppId "00001111-aaaa-2222-bbbb-3333cccc4444" -TenantName "contoso.onmicrosoft.com" -FilePath "C:\Users\user\Documents\stixobjects.json"
#>
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[string]$TenantName,
[Parameter(Mandatory = $true)]
[string]$CertThumbprint,
[Parameter(Mandatory = $true)]
[string]$AppId,
[Parameter(Mandatory = $true)]
[string]$WorkspaceId,
[Parameter(Mandatory = $true)]
[string]$FilePath
)
$Scope = "https://management.azure.com/.default"
# Connection details for getting initial token with self-signed certificate from local store
$connectionDetails = @{
'TenantId' = $TenantName
'ClientId' = $AppId
'ClientCertificate' = Get-Item -Path "Cert:\CurrentUser\My\$CertThumbprint"
scope = $Scope
}
# Request the token
# Using Powershell module MSAL.PS https://www.powershellgallery.com/packages/MSAL.PS/
# Get-MsalToken is automatically using OAuth 2.0 token endpoint https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token
# and sets auth flow to grant_type = 'client_credentials'
$token = Get-MsalToken @connectionDetails
# Create header
# Again relying on MSAL.PS which has method CreateAuthorizationHeader() getting us the bearer token
$Header = @{
'Authorization' = $token.CreateAuthorizationHeader()
}
$Uri = "https://api.ti.sentinel.azure.com/workspaces/$workspaceId/threat-intelligence-stix-objects:upload?api-version=$apiVersion"
$stixobjects = get-content -path $FilePath
if(-not $stixobjects) { Write-Host "No file found at $FilePath"; break }
$results = Invoke-RestMethod -Uri $Uri -Headers $Header -Body $stixobjects -Method POST -ContentType "application/json"
$results | ConvertTo-Json -Depth 4
}
Propriétés courantes
Tous les objets que vous importez avec l’API de chargement partagent ces propriétés communes.
| Nom de la propriété | Type | Description |
|---|---|---|
id (obligatoire) |
string | ID utilisé pour identifier l’objet STIX. Consultez la section 2.9 pour obtenir des spécifications sur la création d’un id. Le format ressemble à indicator--<UUID> |
spec_version (facultatif) |
string | Version de l’objet STIX. Cette valeur est requise dans la spécification STIX, mais étant donné que cette API prend uniquement en charge STIX 2.0 et 2.1, lorsque ce champ n’est pas défini, l’API est définie par défaut sur 2.0 |
type (obligatoire) |
string | La valeur de cette propriété doit être un objet STIX pris en charge. |
created (obligatoire) |
Timestamp | Consultez la section 3.2 pour connaître les spécifications de cette propriété commune. |
created_by_ref (facultatif) |
string | La propriété created_by_ref spécifie la propriété ID de l’entité qui a créé cet objet. Si cet attribut est omis, la source de ces informations n’est pas définie. Pour les créateurs d’objets qui souhaitent rester anonymes, conservez cette valeur non définie. |
modified (obligatoire) |
Timestamp | Consultez la section 3.2 pour connaître les spécifications de cette propriété commune. |
revoked (facultatif) |
valeur booléenne | Les objets révoqués ne sont plus considérés comme valides par le créateur de l’objet. La révocation d’un objet est permanente ; Les versions ultérieures de l’objet avec ce idne doivent pas être créées.La valeur par défaut de cette propriété est false. |
labels (facultatif) |
liste de chaînes | La labels propriété spécifie un ensemble de termes utilisés pour décrire cet objet. Les termes sont définis par l’utilisateur ou par groupe d’approbation. Ces étiquettes s’affichent sous forme de balises dans Microsoft Sentinel. |
confidence (facultatif) |
entier | La confidence propriété identifie la confiance que le créateur a dans l’exactitude de ses données. La valeur de confiance doit être un nombre compris entre 0 et 100.L’annexe A contient une table de mappages normatifs à d’autres échelles de confiance qui doivent être utilisées lors de la présentation de la valeur de confiance dans l’une de ces échelles. Si la propriété de confiance n’est pas présente, la confiance du contenu n’est pas spécifiée. |
lang (facultatif) |
string | La lang propriété identifie la langue du contenu du texte dans cet objet. Lorsqu’il est présent, il doit s’agir d’un code de langage conforme à RFC5646. Si la propriété n’est pas présente, la langue du contenu est en (anglais).Cette propriété doit être présente si le type d’objet contient des propriétés de texte pouvant être traduites (par exemple, nom, description). La langue des champs individuels de cet objet peut remplacer la lang propriété dans les marquages granulaires (voir la section 7.2.3). |
object_marking_refs (facultatif, Y compris TLP) |
liste de chaînes | La object_marking_refs propriété spécifie une liste des propriétés d’ID des objets marquage-définition qui s’appliquent à cet objet. Par exemple, utilisez l’ID de définition de marquage TLP (Traffic Light Protocol) pour désigner la sensibilité de la source de l’indicateur. Pour plus d’informations sur les ID de définition de marquage à utiliser pour le contenu TLP, consultez la section 7.2.1.4Dans certains cas, bien que rare, les définitions de marquage elles-mêmes peuvent être marquées avec des instructions de partage ou de gestion. Dans ce cas, cette propriété ne doit pas contenir de références au même objet Définition de marquage (autrement dit, elle ne peut pas contenir de références circulaires). Consultez la section 7.2.2 pour une définition plus approfondie des marquages de données. |
external_references (facultatif) |
liste de l’objet | La external_references propriété spécifie une liste de références externes qui font référence à des informations non-STIX. Cette propriété est utilisée pour fournir une ou plusieurs URL, descriptions ou ID aux enregistrements dans d’autres systèmes. |
granular_markings (facultatif) |
liste de marquage granulaire | La granular_markings propriété permet de définir des parties de l’indicateur différemment. Par exemple, la langue de l’indicateur est l’anglais, en mais la description est allemande, de.Dans certains cas, bien que rare, les définitions de marquage elles-mêmes peuvent être marquées avec des instructions de partage ou de gestion. Dans ce cas, cette propriété ne doit pas contenir de références au même objet Définition de marquage (autrement dit, elle ne peut pas contenir de références circulaires). Consultez la section 7.2.3 pour une définition plus approfondie des marquages de données. |
Pour plus d’informations, consultez Propriétés communes STIX.
Indicateur
| Nom de la propriété | Type | Description |
|---|---|---|
name (facultatif) |
string | Nom utilisé pour identifier l’indicateur. Les producteurs doivent fournir cette propriété pour aider les produits et les analystes à comprendre ce que cet indicateur fait réellement. |
description (facultatif) |
string | Description qui fournit plus de détails et de contexte sur l’indicateur, y compris éventuellement son objectif et ses caractéristiques clés. Les producteurs doivent fournir cette propriété pour aider les produits et les analystes à comprendre ce que cet indicateur fait réellement. |
indicator_types (facultatif) |
liste de chaînes | Ensemble de catégorisations pour cet indicateur. Les valeurs de cette propriété doivent provenir de l’élément indicator-type-ov |
pattern (obligatoire) |
string | Le modèle de détection de cet indicateur peut être exprimé sous la forme d’un modèle STIX ou d’un autre langage approprié tel que SNORT, YARA, etc. |
pattern_type (obligatoire) |
string | Langage de modèle utilisé dans cet indicateur. La valeur de cette propriété doit provenir de types de modèles. La valeur de cette propriété doit correspondre au type de données de modèle inclus dans la propriété pattern. |
pattern_version (facultatif) |
string | Version du langage de modèle utilisé pour les données dans la propriété pattern, qui doit correspondre au type de données de modèle inclus dans la propriété pattern. Pour les modèles qui n’ont pas de spécification formelle, vous devez utiliser la version de build ou de code avec laquelle le modèle est connu pour fonctionner. Pour le langage de modèle STIX, la version de spécification de l’objet détermine la valeur par défaut. Pour les autres langages, la valeur par défaut doit être la dernière version du langage de modèle au moment de la création de cet objet. |
valid_from (obligatoire) |
Timestamp | Heure à partir de laquelle cet indicateur est considéré comme un indicateur valide des comportements qu’il est lié ou représente. |
valid_until (facultatif) |
Timestamp | Heure à laquelle cet indicateur ne doit plus être considéré comme un indicateur valide des comportements qu’il est lié ou représente. Si la propriété valid_until est omise, il n’existe aucune contrainte sur l’heure la plus récente pour laquelle l’indicateur est valide. Ce timestamp doit être supérieur à l’horodatage valid_from. |
kill_chain_phases (facultatif) |
liste de chaînes | Phases de la chaîne de destruction auxquelles cet indicateur correspond. La valeur de cette propriété doit provenir de la phase kill chain. |
Pour plus d’informations, consultez Indicateur STIX.
Modèle d’attaque
Suivez les spécifications STIX pour créer un objet STIX de modèle d’attaque. Utilisez cet exemple comme référence supplémentaire.
Pour plus d’informations, consultez Modèle d’attaque STIX.
Identité
Suivez les spécifications STIX pour créer un objet STIX d’identité. Utilisez cet exemple comme référence supplémentaire.
Pour plus d’informations, consultez Identité STIX.
Acteur de menace
Suivez les spécifications STIX pour créer un objet STIX d’acteur de menace. Utilisez cet exemple comme référence supplémentaire.
Pour plus d’informations, consultez ACTEUR de menace STIX.
Relation
Suivez les spécifications STIX pour créer un objet STIX de relation. Utilisez cet exemple comme référence supplémentaire.
Pour plus d’informations, consultez Relation STIX.
Traiter le message de réponse
L’en-tête de réponse contient un code status HTTP. Pour plus d’informations sur l’interprétation du résultat de l’appel d’API, reportez-vous à ce tableau.
| Code d'état | Description |
|---|---|
| 200 | Opération réussie. L’API retourne 200 quand un ou plusieurs objets STIX sont validés et publiés. |
| 400 | Format incorrect. Un élément de la demande n’est pas correctement mis en forme. |
| 401 | Non autorisé |
| 404 | Fichier introuvable. En règle générale, cette erreur se produit lorsque l’ID d’espace de travail est introuvable. |
| 429 | Le nombre maximal de demandes en une minute a été dépassé. |
| 500 | Erreur du serveur. Généralement, une erreur dans l’API ou les services Microsoft Sentinel. |
Le corps de la réponse est un tableau de messages d’erreur au format JSON :
| Nom du champ | Type de données | Description |
|---|---|---|
| erreurs | Tableau d’objets d’erreur | Liste des erreurs de validation |
Error (objet)
| Nom du champ | Type de données | Description |
|---|---|---|
| recordIndex | int | Index des objets STIX dans la requête |
| errorMessages | Tableau de chaînes | Messages d’erreur |
Limites de limitation pour l’API
Toutes les limites sont appliquées par utilisateur :
- 100 objets par demande.
- 100 demandes par minute.
S’il y a plus de requêtes que la limite, un 429 code http status dans l’en-tête de réponse est retourné avec le corps de la réponse suivant :
{
"statusCode": 429,
"message": "Rate limit is exceeded. Try again in <number of seconds> seconds."
}
Environ 10 000 objets par minute sont le débit maximal avant la réception d’une erreur de limitation.
Exemple de corps de demande d’indicateur
L’exemple suivant montre comment représenter deux indicateurs dans la spécification STIX.
Test Indicator 2 met en évidence le protocole TLP (Traffic Light Protocol) défini sur blanc avec le marquage de l’objet mappé, et la clarification de sa description et de ses étiquettes sont en anglais.
{
"sourcesystem": "test",
"stixobjects":[
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--10000003-71a2-445c-ab86-927291df48f8",
"name": "Test Indicator 1",
"created": "2010-02-26T18:29:07.778Z",
"modified": "2011-02-26T18:29:07.778Z",
"pattern": "[ipv4-addr:value = '172.29.6.7']",
"pattern_type": "stix",
"valid_from": "2015-02-26T18:29:07.778Z"
},
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--67e62408-e3de-4783-9480-f595d4fdae52",
"created": "2023-01-01T18:29:07.778Z",
"modified": "2025-02-26T18:29:07.778Z",
"created_by_ref": "identity--19f33886-d196-468e-a14d-f37ff0658ba7",
"revoked": false,
"labels": [
"label 1",
"label 2"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "External Test Source",
"description": "Test Report",
"external_id": "e8085f3f-f2b8-4156-a86d-0918c98c498f",
"url": "https://fabrikam.com//testreport.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9"
],
"granular_markings": [
{
"marking_ref": "marking-definition--beb3ec79-03aa-4594-ad24-09982d399b80",
"selectors": [ "description", "labels" ],
"lang": "en"
}
],
"name": "Test Indicator 2",
"description": "This is a test indicator to demo valid fields",
"indicator_types": [
"threatstream-severity-low", "threatstream-confidence-80"
],
"pattern": "[ipv4-addr:value = '192.168.1.1']",
"pattern_type": "stix",
"pattern_version": "2.1",
"valid_from": "2023-01-01T18:29:07.778Z",
"valid_until": "2025-02-26T18:29:07.778Z",
"kill_chain_phases": [
{
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
"phase_name": "reconnaissance"
}
]
}
]
}
Exemple de corps de réponse avec erreur de validation
Si tous les objets STIX sont validés avec succès, un status HTTP 200 est retourné avec un corps de réponse vide.
Si la validation échoue pour un ou plusieurs objets, le corps de la réponse est retourné avec plus d’informations. Par exemple, si vous envoyez un tableau avec quatre indicateurs et que les trois premiers sont bons, mais que le quatrième n’a pas de id (champ obligatoire), une réponse HTTP status code 200 est générée avec le corps suivant :
{
"errors": [
{
"recordIndex":3,
"errorMessages": [
"Error for Property=id: Required property is missing. Actual value: NULL."
]
}
]
}
Les objets étant envoyés en tant que tableau, commence recordIndex par 0.
Autres exemples
Exemple d’indicateur
Dans cet exemple, l’indicateur est marqué avec le TLP vert à l’aide de marking-definition--089a6ecb-cc15-43cc-9494-767639779123 dans la object_marking_refs propriété commune. D’autres attributs d’extension de toxicity et rank sont également inclus. Bien que ces propriétés ne soient pas dans le schéma Microsoft Sentinel pour les indicateurs, l’ingestion d’un objet avec ces propriétés ne déclenche pas d’erreur. Les propriétés ne sont tout simplement pas référencées ou indexées dans l’espace de travail.
Remarque
La propriété $true de cet indicateur a la revoked valeur et sa valid_until date est passée. Cet indicateur tel quel ne fonctionne pas dans les règles d’analyse et n’est pas retourné dans les requêtes, sauf si un intervalle de temps approprié est spécifié.
{
"sourcesystem": "TestStixObjects",
"stixobjects": [
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--12345678-71a2-445c-ab86-927291df48f8",
"created": "2010-02-26T18:29:07.778Z",
"modified": "2011-02-26T18:29:07.778Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
],
"extensions": {
"extension-definition--d83fce45-ef58-4c6c-a3f4-1fbc32e98c6e": {
"extension_type": "property-extension",
"rank": 5,
"toxicity": 8
}
},
"name": "Indicator 2.1 Test",
"description": "TS ID: 35766958; iType: bot_ip; State: active; Org: 52.3667; Source: Emerging Threats - Compromised",
"indicator_types": [
"threatstream-severity-low",
"threatstream-confidence-80"
],
"pattern": "[ipv4-addr:value = '94.102.52.185']",
"pattern_type": "stix",
"pattern_version": "2.1",
"valid_from": "2015-02-26T18:29:07.778Z",
"valid_until": "2016-02-26T18:29:07.778Z",
"kill_chain_phases": [
{
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
"phase_name": "reconnaissance"
}
]
}
]
}
Exemple de modèle d’attaque
Ce modèle d’attaque et tous les autres objets STIX non indicateurs ne sont visibles que dans l’interface de gestion, sauf si vous optez pour les nouvelles tables STIX. Pour plus d’informations sur les tables requises pour afficher des objets comme celui-ci dans KQL, consultez Afficher votre renseignement sur les menaces.
{
"sourcesystem": "TestStixObjects",
"stixobjects": [
{
"type": "attack-pattern",
"spec_version": "2.1",
"id": "attack-pattern--fb6aa549-c94a-4e45-b4fd-7e32602dad85",
"created": "2015-05-15T09:12:16.432Z",
"modified": "2015-05-20T09:12:16.432Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": false,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
],
"extensions": {
"extension-definition--d83fce45-ef58-4c6c-a3f4-1fbc32e98c6e": {
"extension_type": "property-extension",
"rank": 5,
"toxicity": 8
}
},
"external_references": [
{
"source_name": "capec",
"description": "spear phishing",
"external_id": "CAPEC-163"
}
],
"name": "Attack Pattern 2.1",
"description": "menuPass appears to favor spear phishing to deliver payloads to the intended targets. While the attackers behind menuPass have used other RATs in their campaign, it appears that they use PIVY as their primary persistence mechanism.",
"kill_chain_phases": [
{
"kill_chain_name": "mandiant-attack-lifecycle-model",
"phase_name": "initial-compromise"
}
],
"aliases": [
"alias_1",
"alias_2"
]
}
]
}
Exemple de relation avec l’identité et l’acteur de menace
{
"sourcesystem": "TestStixObjects",
"stixobjects": [
{
"type": "identity",
"spec_version": "2.1",
"id": "identity--733c5838-34d9-4fbf-949c-62aba761184c",
"created": "2016-08-23T18:05:49.307Z",
"modified": "2016-08-23T18:05:49.307Z",
"name": "Identity 2.1",
"description": "Disco Team is the name of an organized threat actor crime-syndicate.",
"identity_class": "organization",
"contact_information": "disco-team@stealthemail.com",
"roles": [
"administrators"
],
"sectors": [
"education"
],
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
]
},
{
"type": "threat-actor",
"spec_version": "2.1",
"id": "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
"created": "2014-11-19T23:39:03.893Z",
"modified": "2014-11-19T23:39:03.893Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
],
"name": "Threat Actor 2.1",
"description": "This organized threat actor group operates to create profit from all types of crime.",
"threat_actor_types": [
"crime-syndicate"
],
"aliases": [
"Equipo del Discoteca"
],
"first_seen": "2014-01-19T23:39:03.893Z",
"last_seen": "2014-11-19T23:39:03.893Z",
"roles": [
"agent"
],
"goals": [
"Steal Credit Card Information"
],
"sophistication": "expert",
"resource_level": "organization",
"primary_motivation": "personal-gain",
"secondary_motivations": [
"dominance"
],
"personal_motivations": [
"revenge"
]
},
{
"type": "relationship",
"spec_version": "2.1",
"id": "relationship--a2e3efb5-351d-4d46-97a0-6897ee7c77a0",
"created": "2020-02-29T18:01:28.577Z",
"modified": "2020-02-29T18:01:28.577Z",
"relationship_type": "attributed-to",
"description": "Description Relationship 2.1",
"source_ref": "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
"target_ref": "identity--733c5838-34d9-4fbf-949c-62aba761184c",
"start_time": "2020-02-29T18:01:28.577Z",
"stop_time": "2020-03-01T18:01:28.577Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
]
}
]
}
Étapes suivantes
Pour en savoir plus sur l’utilisation du renseignement sur les menaces dans Microsoft Sentinel, consultez les articles suivants :
- Comprendre le renseignement sur les menaces
- Utiliser des indicateurs de menace
- Utiliser l’analytique de correspondance pour détecter les menaces
- Utiliser le flux d’intelligence de Microsoft et activer le connecteur de données MDTI