Aller au contenu

Intégration MITRE ATT&CK

Stentor comprend une base de connaissances MITRE ATT&CK intégrée avec 85 définitions de techniques (62 techniques MITRE officielles + 23 techniques internes personnalisées). La base de connaissances alimente les fonctions de reporting technique, de conseils OPSEC et de script CNA.


Base de connaissances

Les définitions de techniques sont stockées sous forme de fichiers YAML dans server/knowledge_base/techniques/. Chaque fichier contient :

  • ID technique (MITRE ou interne)
  • Nom et description
  • Cartographie tactique (séparés par des virgules pour les techniques multi-tactiques)
  • Méthodes d'exécution avec schémas de paramètres
  • Conseils OPSEC – niveau de risque, indicateurs de détection et mesures d'atténuation
  • Artefacts médico-légaux attendus : sources du journal des événements, ID d'événement et descriptions
  • Techniques associées

Couverture

La base de connaissances couvre les techniques de toutes les principales tactiques ATT&CK :

Tactique Exemples de techniques
Exécution T1059.001 (PowerShell), T1059.003 (Cmd Shell), T1047 (WMI), T1106 (API native)
Persistance T1547.001 (clés d'exécution du registre), T1543.003 (service Windows)
Augmentation des privilèges T1134.001 (Vol de jetons), T1134.002 (Créer un processus avec un jeton)
Évasion défensive T1055.003 (Injection de processus), T1562.001 (Défenses d'altération), T1027.006 (Obfuscation)
Accès aux informations d'identification T1003.001-006 (LSASS/SAM/NTDS/LSA/Cached/DCSync), T1558.001-004 (Kerberos)
Découverte T1046 (analyse de port), T1018 (énumération de réseau), T1482 (approbations de domaine)
Mouvement latéral T1021.002 (SMB), T1021.003 (DCOM), T1021.006 (WinRM), T1047 (WMI)
Collection T1115 (Données du Presse-papiers)

Fonctions de script CNA

Six fonctions attack_* fournissent un accès par programmation à la base de connaissances :

Fonction Signature Retours
attack_describe attack_describe($technique_id) Description complète de la technique
attack_name attack_name($technique_id) Nom d'affichage de la technique
attack_detect attack_detect($technique_id) Indicateurs de détection (séparés par des sauts de ligne)
attack_mitigate attack_mitigate($technique_id) Conseils d'atténuation (séparés par des sauts de ligne)
attack_tactics attack_tactics($technique_id) Tableau de noms de tactiques
attack_url attack_url($technique_id) URL directe MITRE ATT&CK

Exemples

# Look up a technique
println("Name: " . attack_name("T1003.001"));
# → OS Credential Dumping: LSASS Memory

println("URL: " . attack_url("T1003.001"));
# → https://attack.mitre.org/techniques/T1003/001/

# Get detection guidance
println("Detection:\n" . attack_detect("T1003.001"));
# → Suspicious API calls detected
# → Unusual memory allocation patterns

# Get associated tactics
@tactics = attack_tactics("T1003.001");
println("Tactics: " . join(", ", @tactics));
# → Tactics: credential-access

# Use in a custom report
report("TTP Analysis");
page("Technique Details");
h2(attack_name("T1055.003"));
p(attack_describe("T1055.003"));
h3("Detection Guidance");
p(attack_detect("T1055.003"));
report_save("/tmp/ttp-analysis.pdf");

Méthodes de recherche

Les techniques peuvent être recherchées soit par leur ID MITRE, soit par leur ID interne :

# By MITRE ID
attack_name("T1003.001");    # → "OS Credential Dumping: LSASS Memory"

# By internal ID
attack_name("BOF_EXECUTE");  # → "BOF Execution (Native API)"

Suivi TTP automatique

Lorsque les beacons exécutent des tâches, le rapport chronologique d'activité mappe automatiquement les types de tâches connus aux ID de technique MITRE ATT&CK :

Type de tâche Technique MITRE
Exécution PowerShell T1059.001
Interpréteur de commande T1059.003
Mouvement latéral WMI T1047
Exécution DCOM T1021.003
Exécution WinRM T1021.006
Injection de processus T1055.003
Vol de jetons T1134.001
Création de jetons T1134.002
Décharge SAM T1003.002
Accès LSASS T1003.001
Décharge NTDS T1003.003
Secrets LSA T1003.004
Informations d'identification mises en cache T1003.005
Synchronisation DC T1003.006
Analyse des ports T1046
Énumération du réseau T1018
Découverte de l'approbation de domaine T1482
Persistance du registre T1547.001

Ce mappage alimente le rapport TTP (type=ttp), qui fournit des statistiques au niveau tactique et des décomptes d'utilisation par technique.


Suivi des artefacts

Stentor enregistre automatiquement les artefacts générés pendant les opérations. Chaque tâche de beacon, génération de payload et action post-exploitation crée un enregistrement d'artefact avec sa technique MITRE ATT&CK associée.

Comment ça marche

Le ArtifactRecorderInterface (défini dans server/internal/c2/) enregistre les artefacts en temps réel :

  1. Inférence : Lorsqu'une tâche est exécutée, l'enregistreur déduit la technique MITRE du type de tâche à l'aide de la table de mappage taskTypeToMitre ci-dessus.
  2. Enregistrement : Les enregistrements d'artefacts sont écrits via des goroutines non bloquantes avec le lot INSERT pour les performances.
  3. Suivi de le payload : Les artefacts au moment de la construction (par exemple, « Mutation du code » lorsque la mutation est activée) sont enregistrés à côté des artefacts d'exécution.

Champs d'enregistrement d'artefact

Champ Description
technique_id ID de la technique MITRE ATT&CK (par exemple, T1055.003)
technique_name Nom de la technique lisible par l'homme
tactic Catégorie tactique ATT&CK
beacon_id Beacon qui a généré l'artefact
task_type Type de tâche qui a déclenché l'artefact
timestamp Quand l'artefact a été enregistré
details Contexte supplémentaire (arguments de commande, PID cible, etc.)

Interroger des artefacts

API REST :

# List all artifacts (paginated)
curl -s "https://stentor.app/api/v1/artifacts?page=1&per_page=50" \
  -H "Authorization: Bearer $TOKEN"

# Filter by technique
curl -s "https://stentor.app/api/v1/artifacts?technique=T1055.003" \
  -H "Authorization: Bearer $TOKEN"

# Filter by task type
curl -s "https://stentor.app/api/v1/artifacts?type=inject" \
  -H "Authorization: Bearer $TOKEN"

Exportation du navigateur ATT&CK

Exportez la couverture technique de votre opération sous forme de fichier JSON de couche ATT&CK Navigator. La couche Navigateur fournit une carte thermique visuelle des techniques utilisées lors d'un engagement, avec une intensité de couleur basée sur la fréquence d'utilisation.

Exporter le point de terminaison

GET /api/v1/artifacts/navigator

# Download Navigator layer JSON
curl -s "https://stentor.app/api/v1/artifacts/navigator" \
  -H "Authorization: Bearer $TOKEN" \
  --output navigator-layer.json

# Preview in browser (no Content-Disposition header)
curl -s "https://stentor.app/api/v1/artifacts/navigator?preview=true" \
  -H "Authorization: Bearer $TOKEN"

Filtrage

Paramètre Description
technique Filtrer sur des identifiants de techniques spécifiques
type Filtrer par type de tâche
from Date de début (ISO 8601)
to Date de fin (ISO 8601)

Cartographie des couleurs

Le calque Navigateur utilise une interpolation de couleurs (du blanc au rouge) en fonction de la fréquence d'utilisation de la technique :

Nombre d'utilisations Couleur Interprétation
0 Blanc Non utilisé
1-5 Rose clair Faible utilisation
6-20 Rouge moyen Utilisation modérée
21+ Rouge foncé Usage intensif

Utilisation avec le navigateur ATT&CK

  1. Exporter la couche JSON depuis Stentor
  2. Ouvrez ATT&CK Navigator dans un navigateur
  3. Cliquez sur "Ouvrir la couche existante" et téléchargez le fichier JSON
  4. La carte thermique montre quelles techniques ont été utilisées et leur fréquence

Ceci est précieux pour les rapports d'engagement : il fournit un résumé visuel de la couverture technique de l'opération qui correspond directement au cadre MITRE ATT&CK.

Accès à l'interface utilisateur

L'exportation Navigator est également disponible à partir de l'interface utilisateur de Stentor :

  1. Accédez à Rapports > Artefacts.
  2. Appliquez des filtres de type/technique selon vos besoins (sélectionnez « tout » pour effacer les filtres)
  3. Cliquez sur Exporter la couche du navigateur.
  4. Le fichier JSON se télécharge automatiquement

L'interface utilisateur utilise un filtrage côté serveur : les filtres de type ou de technique de commutation actualisent l'intégralité de la requête.