Aller au contenu

Rapports de campagne

Stentor génère des rapports d'engagement professionnel dans 6 formats d'exportation sur 7 types de rapports. Les rapports sont liés aux campagnes et extraient les données des beacons, des tâches, des informations d'identification, des listeners et des profils malléables.


Types de rapports

Type Clé Description
Campagne complète full Résumé complet de la mission combinant toutes les sections
** Chronologie de l'activité ** activity Exécution chronologique des tâches avec les mappages MITRE ATT&CK
Hôtes hosts Cibler les systèmes avec des sessions, des informations d'identification et des services découverts
Indicateurs de compromis indicators Payloads (SHA256), IOC réseau, artefacts de fichiers/registres, métadonnées PE, en-têtes HTTP
Séances sessions Détails de la session Beacon avec historique des commandes par session
TTP ttp Utilisation de la technique MITRE ATT&CK avec statistiques tactiques
Ingénierie sociale social_eng Analyse des visites du profileur avec répartition géographique et plateforme

Formats d'exportation

Formater Type de contenu Tous types Remarques
PDF application/pdf Oui Rendu via Maroto v2 avec tableaux, pagination et titres stylisés
DOCX application/vnd.openxmlformats-officedocument.wordprocessingml.document Oui Prend en charge le titre, la description, le filtrage des hôtes, le masquage des e-mails/mots de passe
JSON application/json Oui Sérialisation JSON native
CSV text/csv Tous sauf full Injection CSV désinfectée
TSV text/tab-separated-values Tous sauf full Variante séparée par des tabulations
XML application/xml Tous sauf full Schéma XML structuré

API

Exporter le point de terminaison

GET /api/v1/c2/campaigns/:id/export?format=<format>&type=<type>
Paramètre Type Obligatoire Valeurs
format chaîne Oui pdf, json, csv, tsv, xml, docx
type chaîne Oui full, activity, hosts, indicators, sessions, ttp, social_eng
title chaîne Non Titre du rapport personnalisé (DOCX uniquement)
description chaîne Non Paragraphe de description (DOCX uniquement)
host_filter chaîne Non Filtrer sur des hôtes spécifiques (DOCX uniquement)
mask_emails bool Non Remplacez les e-mails par ***@***.*** (DOCX uniquement)
mask_passwords bool Non Remplacez les hachages NTLM par ******** (DOCX uniquement)

Exemples :

curl -s "https://stentor.app/api/v1/c2/campaigns/$CAMPAIGN_ID/export?format=pdf&type=activity" \
  -H "Authorization: Bearer $TOKEN" \
  -o activity-report.pdf
curl -s "https://stentor.app/api/v1/c2/campaigns/$CAMPAIGN_ID/export?format=json&type=indicators" \
  -H "Authorization: Bearer $TOKEN" | jq
curl -s "https://stentor.app/api/v1/c2/campaigns/$CAMPAIGN_ID/export?format=docx&type=full&mask_emails=true&mask_passwords=true&title=Engagement+Report" \
  -H "Authorization: Bearer $TOKEN" \
  -o engagement-report.docx
curl -s "https://stentor.app/api/v1/c2/campaigns/$CAMPAIGN_ID/export?format=csv&type=hosts" \
  -H "Authorization: Bearer $TOKEN" \
  -o hosts.csv

Contenu du rapport

Chronologie des activités

Chaque entrée comprend :

  • Horodatage, nom d'hôte, nom d'utilisateur, PID
  • Description de l'activité et type de tâche
  • ID technique MITRE ATT&CK et ID MITRE
  • Statut de la tâche (succès/échec)

Le mappage technique vers MITRE est automatique pour les types de tâches connus (PowerShell → T1059.001, WMI → T1047, injection de processus → T1055.003, etc.).

Indicateurs de compromis

Le rapport du CIO extrait des indicateurs de l'ensemble de la campagne :

  • Payloads : Nom, hachage SHA256, format (exe/dll/service_exe), architecture
  • IOC réseau : Hôte, port, protocole, objectif
  • Hôtes contactés : Adresses IP des beacons connectées, avec noms d'écoute et de profil
  • IOC du système de fichiers : Chemins et hachages des tâches de persistance
  • IOC de registre : Clés et valeurs issues de la persistance et de la création de services
  • Métadonnées PE : Taille, SHA256, somme de contrôle, point d'entrée, horodatage de compilation, sections
  • En-têtes HTTP : En-têtes de requête et de réponse GET/POST provenant de profils C2 malléables

Rapport TTP

Regroupe les techniques par tactique MITRE ATT&CK avec statistiques d'utilisation :

  • ID de la technique, nom, tactique
  • Nombre d'utilisations et horodatage de la première utilisation
  • Résumé tactique : techniques par tactique, utilisations totales

Rapport de l'AIIC DSL

Des rapports personnalisés peuvent être générés par programme via les scripts CNA :

Fonction Description
report($title) Initialiser un nouveau rapport
page($title) Ajouter une nouvelle page
h1($text) ... h4($text) Titres (16 pts, 14 pts, 12 pts, 10 pts)
p($text) Texte du paragraphe
br() Saut de ligne / espaceur
describe($text) Bloc de description
table(@headers, @rows) Tableau de données
kvtable(%hash) Table clé-valeur à partir du hachage
layout($cols) Définir la disposition des colonnes
bookmark($name) Ancre de signet PDF
report_save($path) Générer un PDF et l'enregistrer dans un fichier
report_generate() Générer un PDF et renvoyer des octets bruts

Exemple de script CNA :

report("Custom Engagement Report");

page("Executive Summary");
h1("Engagement Overview");
p("This report summarizes findings from the authorized penetration test conducted on 2026-02-19.");

page("Compromised Hosts");
h2("Target Systems");
@headers = @("Hostname", "IP", "OS", "Access Level");
@rows = @(
    @("DC01", "10.10.10.10", "Windows Server 2022", "Domain Admin"),
    @("SQL01", "10.10.10.50", "Windows Server 2019", "Local Admin")
);
table(@headers, @rows);

report_save("/tmp/custom-report.pdf");