2.1.11. Moteur Beacon detect
2.1.11.1. Introduction
2.1.11.1.1. Pour quels types de menaces ce moteur est-il conçu ?
2.1.11.1.2. Comment ce moteur détecte-t-il les menaces ?
Le moteur Beacon detect détecte les menaces C&C grâce à différentes analyses des métadonnées HTTP et HTTPS :
identification des distributions statistiques indiquant une périodicité dans les métadonnées
la présence d'anomalies caractérisant l'exécution des commandes
heuristique pour identifier spécifiquement certains logiciels C&C
Selon la configuration utilisée, les algorithmes de détection peuvent résister aux méthodes d'évasion suivantes :
chiffrement ou surchiffrement des données
temps aléatoire entre chaque communication
taille des données aléatoire
usurpation de noms de domaine connus
Certains C&C sont spécifiquement identifiés :
Cobalt Strike
BruteRatel
Caldera
Powershell Empire
Sliver
les domaines fréquemment utilisés au sein de l'infrastructure
les domaines communément connus
les domaines spéciaux génériques utilisés dans les endpoints internes (par exemple : .local)
La désactivation de ces options augmente la sensibilité de la détection et peut nécessiter l'ajout de domaines à la liste des destinations ignorées.
2.1.11.1.3. Comment fonctionne le moteur Beacon detect dans le GCenter ?
Le moteur :
récupère les évènements envoyés par le GCap (pour plus de détails, voir les Données saisies du moteur Beacon detect)
analyse ces évènements (pour plus de détails, voir le paragraphe Comment ce moteur détecte-t-il les menaces ?)
génère des alertes (pour plus de détails, voir les Événements générés)
2.1.11.1.3.1. Données saisies du moteur Beacon detect
- la journalisation HTTP et la journalisation TLS doivent être activées dans la section
`Base variables`
du menu`Detection strategy/Sigflow engine/Gcaps profiles`
Pour plus de détails sur ces fonctions et leurs activations, voir la Partie `Base variables` de l'écran `Gcaps profiles`. - le limiteur de débit des métadonnées doit être désactivé pour les protocoles HTTP et TLS dans le menu
`Detection strategy/Sigflow engine/Metadata rate limiter`
Pour plus de détails sur sa fonction et les activations des protocoles, voir l'Ecran `Metadata rate limiter`.
Important
Activer le protocole HTTP ou TLS désactive la détection du moteur Beacon detect pour ces protocoles.
Pour un fonctionnement optimal du moteur :
La journalisation DNS doit être activée dans la section`Base variables`
du menu`Detection strategy/Sigflow engine/Gcaps profiles`
Pour plus de détails sur ces fonctions et leurs activations, voir la rubrique Partie `Base variables` de l'écran `Gcaps profiles`.
Note
Pour modifier les options du moteur : voir la rubrique Configuration du moteur beacon detect
2.1.11.2. Événements générés
- dans l'interface principale nommée Web UI du GCenter dans l'écran
`Alerts`
L'interface principale nommée Web UI est décrite dans la Présentation de la WebUI.- Pour afficher les alertes beacon, sélectionner le filtre moteur
`Beacon`
.Voir la présentation de l' Ecran `Alerts` de la WebUI. - Cliquer sur l'alerte sélectionnée.La fenêtre
`Alert details`
s'affiche.Les informations détaillées de cette alertes sont affichées dans l'Exemple d'alerte Beacon detect dans Kibana.
- Dans l'interface nommée Kibana UI :
- Cliquer sur l'icône
`Hunting`
de la`WebUI`
L'interface affichée est l'interface Kibana UI (décrite dans l'Interface graphique Kibana). Cliquer sur l'icône ☰ puis sur
`Discover`
Sélectionner
`engines_alerts*`
dans Data ViewDans le champ de recherche, entrer le filtre
`event.module :"beacon_detect"`
pour n'afficher que les alertes du moteur Beacon detect- Cliquer sur l'icône (1) à gauche de l'alerte.Le document développé (2) s'affiche.Les informations détaillées de cette alerte peuvent être consultées sous forme de tableau ou au format json (voir la Structure des données des logs Beacon detect).Les compteurs affichés sont données dans l'annexe Structure des données du journal de bord du moteur.
2.1.11.2.1. Exemple d'alerte Beacon detect dans Kibana
`Alert details`
est disponible dans la Fenêtre `Alert details`.2.1.11.2.2. Structure des données des logs Beacon detect
Les logs sont composés de différentes parties :
la partie en-tête
la partie source définie par "_source"
la partie champs définie par "_fields"
Ces informations sont affichées dans l'écran `Expanded document`
de Kibana.
2.1.11.2.2.1. La partie en-tête des logs Beacon detect
La partie en-tête contient :
"_index": "engines_alerts-,
"_id": "-a9H1JMBe7Sz",
"_version": 1,
"_score": 0,
Les informations détaillées sont données dans le tableau (Compteurs de la partie en-tête des journaux).
2.1.11.2.2.2. La partie source des logs Beacon detect
La partie source est définie par "_source" dans les logs.
Note
L'exemple donné ici est un exemple de Kibana.
"tls": {
"client": {
"server_name": "cisco-update.com"
}
},
"@version": "1",
"event": {
"created": "2024-09-09T13:02:34.254441+00:00",
"end": "2024-09-09T11:52:25.666000+00:00",
"severity": 3,
"module": "beacon_detect",
"start": "2024-09-09T11:47:44.012000+00:00",
"category": [
"network",
"intrusion_detection"
],
"kind": "alert",
"id": "5e7bb104-6493-43b2-be4d-f7c28ce79e85",
"dataset": "alert"
},
"source": {
"ip": "10.0.0.60",
"mac": "60:57:18:e9:4f:5d"
},
"beacon": {
"mean_time_interval": 1,
"active": true,
"possible_cnc": "not_recognized",
"session_count": 260,
"type": "constant",
"id": "c4c886b4ad",
"hostname_resolution": "not_analyzed"
},
"destination": {
"ip": "157.230.93.100",
"port": 443
},
"observer": {
"product": "gcenter",
"uuid": "78f4fed1-c9ad-52b9-b509-6b87767f501f",
"log_format_version": "1.0.0",
"hostname": "gcenter-clelyo-01.gatewatcher.com",
"gcap": {
"hostname": "gcap-clement-l.gatewatcher.fr",
"version": "2.5.4.0-rc1"
},
"version": "2.5.3.103",
"vendor": "gatewatcher"
},
"ecs": {
"version": "8.6.0"
},
"@timestamp": "2024-09-09T13:02:59.354490664Z",
"url": {
"domain": "cisco-update.com"
},
"network": {
"protocol": "tls",
"timestamp": "2024-09-09T11:47:44.012000+00:00",
"transport": "tcp"
}
2.1.11.2.2.3. Liste des compteurs de l'alerte Malcore
Note
Les compteurs de l'alerte sont visibles :
dans l'écran
`Alert details`
de la WebUIdans l'écran
`Expanded document`
de Kibanadans l'export vers le SIEM
Les informations détaillées sont données dans le tableau (Compteurs de la partie source des journaux).
2.1.11.3. Gestion du moteur
2.1.11.3.1. Visualisation de l'état du moteur
2.1.11.3.2. Mise à jour du moteur
2.1.11.3.3. Configuration du moteur Beacon detect et gestion de la liste des destinations ignorées
L'interface de gestion est utilisée :
pour filtrer les événements (entrées du moteur), soit pour activer les protocoles, soit pour filtrer les événements :
voir la description de l'écran, voir l'Ecran `Metadata rate limiter`
voir la procédure, voir la Configuration des limiteurs de taux de métadonnées
pour activer le moteur ou modifier ses paramètres (sensibilité ou limiteur de taux d'alerte) :
voir la description de l'écran, voir l'Ecran `Beacon detect` (commande Beacon)
voir la procédure, voir la Configuration du moteur beacon detect
Pour gérer l'
`Ignore list`
utilisée pour filtrer explicitement les destinations saines (définies par nom de domaine ou IP) :voir la description de l'écran, voir l'Ecran `Beacon detect` (commande Beacon)
voir la procédure, voir la Configuration du moteur beacon detect