Tableau de bord¶
Le tableau de bord est la première page que les opérateurs voient après la connexion. Il fournit un résumé opérationnel en temps réel de l'infrastructure C2 (beacons actifs, listeners en cours d'exécution, sessions, campagnes) ainsi que des graphiques et un flux d'activité qui regroupent des données provenant de plusieurs sources.
Aperçu¶
Le tableau de bord est composé de quatre sections :
- Cartes de statistiques : compteurs animés affichant les beacons actifs, les listeners en cours, les sessions et les campagnes.
- Ligne des graphiques : distribution de l'état des beacons (beignet), distribution du système d'exploitation (beignet) et chronologie d'enregistrement sur 24 heures (graphique en aires).
- Flux d'activité : une chronologie unifiée fusionnant les enregistrements de beacons, les changements d'état des listeners et les mises à jour de campagne.
- Actions rapides – boutons de raccourci pour les tâches courantes de l'opérateur
graph TB
subgraph Dashboard
A[Stat Cards Row]
B[Charts Row]
C[Activity Feed]
D[Quick Actions]
end
subgraph "Data Sources"
E[Beacons API]
F[Listeners API]
G[Sessions API]
H[Campaigns API]
I[Stats API]
end
E --> A
E --> B
E --> C
F --> A
F --> C
G --> A
H --> A
H --> C
I --> A Cartes de statistiques¶
La rangée supérieure affiche quatre cartes statistiques animées avec des compteurs en direct. Chaque carte renvoie à sa page de gestion respective.
| Carte | Valeur | Lien |
|---|---|---|
| Beacons actives | Beacons actives/totales | Poste de pilotage |
| Listeners | En cours d'exécution/Nombre total d'listeners | Listeners |
| Séances | Nombre total de sessions dans toutes les campagnes | Campagnes |
| Campagnes | Campagnes actives/totales | Campagnes |
Les cartes utilisent des animations d'entrée échelonnées lors du chargement de la page et des transitions de nombres animées lorsque les valeurs changent. Une carte devient verte lorsque sa métrique principale est différente de zéro (par exemple, au moins un beacon active ou un listener en cours d'exécution).
Calcul de beacon active
Un beacon est considérée comme « active » si son dernier enregistrement se situe dans 1,5 fois son intervalle de veille configuré. Par exemple, un beacon avec une veille de 60 secondes est active si elle s'est enregistrée dans les 90 dernières secondes. Ce même seuil est utilisé sur toute la plateforme.
Graphiques¶
La ligne des graphiques affiche trois visualisations côte à côte, chacune avec un indicateur de fraîcheur indiquant la dernière actualisation des données sous-jacentes.
Distribution de l'état des beacons¶
Un graphique en anneau montrant le nombre de beacons dans chaque catégorie de statut :
| Statut | Couleur | Signification |
|---|---|---|
| ACTIF | Vert | Enregistré dans l'intervalle prévu |
| DORMANT | Jaune | Enregistrement prévu manqué mais pas encore mort |
| MORT | Rouge | Pas d'enregistrement pendant une période prolongée |
Le centre du beignet affiche le nombre total de beacons. Lorsqu’aucune beacon n’existe, un message d’espace réservé s’affiche à la place.
Distribution du système d'exploitation¶
Un graphique en anneau décomposant les beacons par système d'exploitation. Les noms des systèmes d'exploitation sont normalisés pour plus de clarté :
windows (amd64)devient Windows- Les chaînes du système d'exploitation contenant
serverdeviennent Windows Server - Les variantes
linuxdeviennent Linux - Les variantes
darwin/macosdeviennent macOS
Lorsqu'un seul système d'exploitation est présent, le graphique affiche un grand nombre numérique au lieu d'un anneau.
Chronologie d'enregistrement (24h)¶
Un graphique en zones montrant l'activité d'enregistrement des beacons au cours des dernières 24 heures, regroupées par heure. Le graphique comprend :
- Nombre d'enregistrements horaires le long de l'axe Y
- Étiquettes horaires (HH:00) le long de l'axe X
- Un remplissage dégradé sous la ligne de zone
- Un résumé du décompte de pointe sous le graphique
Flux d'activité¶
Le flux d'activité fusionne les événements de trois sources dans une seule chronologie inverse (le plus récent en premier), affichant les 30 événements les plus récents.
| Type d'événement | Source | Affichage |
|---|---|---|
beacon_checkin | Beacons | Badge d'état du nom d'hôte, de l'adresse IP, du nom d'utilisateur, du système d'exploitation et du beacon |
listener_change | Listeners | Nom du listener, statut, protocole et adresse de liaison |
campaign_change | Campagnes | Nom de la campagne, statut, beacon et nombre d'identifiants |
Chaque événement montre :
- Un point d'état à code couleur (vert pour actif/en cours d'exécution, jaune pour dormant/en pause, rouge pour mort/erreur, gris pour arrêté/archivé)
- Une icône indiquant le type d'événement (signal pour les beacons, radio pour les listeners, cible pour les campagnes)
- Un horodatage relatif (par exemple, "il y a 3 minutes")
- Un badge de statut
Éléments interactifs
Les noms d'hôtes des beacons dans le flux d'activité affichent une carte de survol avec des informations détaillées sur le beacon (PID, niveau d'intégrité, intervalle de veille). Les adresses IP prennent en charge le clic pour copier pour une utilisation rapide dans d'autres outils.
Indicateur de fraîcheur¶
Les graphiques et le flux d'activité affichent un indicateur de fraîcheur indiquant la date à laquelle les données sous-jacentes ont été récupérées pour la dernière fois. Cela aide les opérateurs à faire la distinction entre des données obsolètes et un engagement véritablement silencieux.
Actions rapides¶
Le panneau d'actions rapides sur le côté droit du tableau de bord permet de naviguer en un clic vers les tâches courantes :
| Action | Destination | Description |
|---|---|---|
| Nouvel listener | /listeners/new | Créer un listener C2 |
| Générer un payload | /payloads/generate | Construire un nouvel implant |
| Cockpit ouvert | /cockpit | Topologie et accès au shell |
| Voir les beacons | /cockpit | Implants C2 actifs |
API de statistiques¶
Les cartes de statistiques du tableau de bord sont alimentées par un point de terminaison de statistiques consolidé qui renvoie tous les nombres de badges de la barre latérale en une seule réponse. Cela évite les appels d'API N+1 lors du rendu simultané de la barre latérale et du tableau de bord.
Champs de réponse :
| Champ | Type | Description |
|---|---|---|
active_beacons | int | Beacons actuellement dans leur seuil d'enregistrement (calculé à partir du registre en mémoire) |
running_listeners | int | Listeners avec le statut running |
targets | int | Total des cibles découvertes |
services | int | Total des services réseau découverts |
credentials | int | Total des identifiants récoltés |
downloads | int | Total des fichiers téléchargés |
keystrokes | int | Total des enregistrements de capture de frappe |
screenshots | int | Total des captures d'écran capturées |
Les beacons actifs sont calculées en temps réel
Le nombre active_beacons n'est pas une requête de base de données : il est calculé à partir du BeaconRegistry en mémoire en vérifiant le last_seen de chaque beacon par rapport à un seuil de 1,5 fois son intervalle de veille. Tous les autres décomptes proviennent de requêtes d’agrégation de bases de données.
Actualisation des données¶
Les données du tableau de bord s'actualisent automatiquement via le mécanisme d'interrogation de React Query :
| Source de données | Intervalle d'actualisation | Méthode |
|---|---|---|
| Beacons | 10 secondes | Interrogation via le hook useBeacons |
| Listeners | Par défaut (sur le focus) | Interrogation via le hook useListeners |
| Séances | Par défaut (sur le focus) | Interrogation via le hook useSessions |
| Campagnes | Par défaut (sur le focus) | Interrogation via le hook useC2Campaigns |
Les données des beacons sont actualisées le plus fréquemment (toutes les 10 secondes), car la récence de l'enregistrement est essentielle à la connaissance opérationnelle. D'autres sources de données s'actualisent lors du focus de la fenêtre ou de la navigation, ce qui est suffisant pour des données moins volatiles.
Prochaines étapes¶
- Procédure pas à pas de l'interface utilisateur -- découvrez comment naviguer dans l'interface opérateur complète
- Concepts de base -- comprendre les beacons, les listeners et le cycle de vie C2