2.1.4. Moteur malicious Powershell detect
2.1.4.1. Introduction
2.1.4.1.1. Pour quels types de menaces ce moteur est-il conçu ?
il s'agit d'un outil très courant dans les fermes de PC ou de serveurs Windows
il ne passe pas nécessairement par un fichier
souvent offusqué pour éviter la détection de la signature
des utilisations légitimes de PowerShell peuvent être considérées comme des comportements malveillants.
2.1.4.1.2. Comment ce moteur détecte-t-il les menaces ?
La détection des scripts powershell malveillants s'effectue en plusieurs étapes :
- La première étape consiste à analyser le format, en recherchant un obscurcissement du script powershell.Les scripts malveillants sont généralement obscurcis et les scripts légitimes ne sont pas censés l'être ; cette étape permet d'éviter les faux positifs.
- La deuxième étape consiste à scanner le contenu du script powershell à la recherche de commandes potentiellement malveillantes.Cette étape permet de neutraliser les techniques d'obscurcissement les plus courantes pour caractériser la menace.
2.1.4.1.3. Comment fonctionne le moteur Malicious Powershell detect dans le GCenter?
Le moteur :
récupère les évènements envoyés par le GCap (pour plus de détails, voir le paragraphe Données saisies du moteur Malicious Powershell 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 le paragraphe Événements générés)
2.1.4.1.3.1. Données saisies du moteur Malicious Powershell detect
2.1.4.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 ne visualiser que les alertes, sélectionner le filtre moteur
`Malicious Powershell`
puis valider.Voir la présentation de l'Ecran `Alerts` de la WebUI. - Cliquer sur l'alerte sélectionnée.La fenêtre
`Alert details`
est affichée.Les informations détaillées de cette alerte sont affichées dans l'Exemple d'alerte Malicious Powershell detect dans la WebUI.Les compteurs affichés sont indiqués dans l'annexe Structure des données du journal de bord du moteur. - Si le mode
`Group by name`
est activé, le nom des alertes agrégées et leur nombre sont affichés.Cliquer sur un groupe d'alertes pour en afficher la liste. - Lorsque le mode
`Group by name`
est désactivé, des informations différentes sur la source et la destination sont affichées pour chaque alerte.`Tags`
et`Notes`
sont également visibles et modifiables.Les différentes`Actions`
d'accès rapide sont disponibles pour chaque alerte.
- Dans l'interface nommée Kibana UI :
- Dans l'écran
`Alerts`
de la WebUI, sélectionner le filtre moteur`Malicious Powershell`
puis valider.Voir la présentation de l'Ecran `Alerts` de la WebUI. - Après avoir sélectionné l'alerte, cliquer sur la commande
`Open powershell engine analytics`
du menu`Actions`
.Kibana est ouvert dans la catégorie`Malicious Powershell`
de la section`Alerts `
: dans l'onglet`Overview`
, la base de données affiche toutes les alertes.L'interface affichée est l'interface nommée Kibana UI (décrite dans l'Interface graphique Kibana). Cliquer sur l'onglet
`Messages`
(1).
Pour consulter des informations sur une alerte spécifique :
- 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 Malicious Powershell).Les compteurs affichés sont donnés dans l'annexe Structure des données du journal de bord du moteur.
Note
L'interface KibanaUI est également accessible sans filtre via l'icône
`Hunting`
sur la barre de menu de gauche dans la WebUI.
2.1.4.2.1. Exemple d'alerte Malicious Powershell detect dans la WebUI
`Alert details`
est disponible dans la Fenêtre `Alert details`.2.1.4.2.2. Structure des données des logs Malicious Powershell
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.4.2.2.1. La partie en-tête des logs Malicious Powershell
La partie en-tête contient :
"_index": "engines_alerts-2024.12.04-000030",
"_id": "0KIEkpMBe7GX5B2fI_RU",
"_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.4.2.2.2. La partie source des logs Malicious Powershell
La partie source est définie par "_source" dans les logs.
Note
L'exemple donné ici est un exemple de Kibana.
"malicious_powershell": {
"sample_id": "12-04-2024T14:12:40_03afe38854c8443db03807bcc51cf935_gcap.gatewatcher.com",
"score_details": {
"InvokeRestMethod": 0,
"StreamWriter": 0,
"CharInt": 6,
"AddContent": 0,
"InvokeExpression": 100,
"StrCat": 4,
"StreamReader": 0,
"SystemIOFile": 0,
"InvokeWebRequest": 0,
"StrJoin": 6,
"WebClientInvokation": 20,
"StrReplace": 0,
"SetContent": 0,
"GetContent": 0,
"FmtStr": 8,
"StartBitsTransfer": 0,
"Base64": 188
},
"proba_obfuscated": 0.6,
"score": 332,
"id": "b5c38e2159f80a5a3076a353360cb5f1"
},
"event": {
"created": "2024-12-04T14:12:44.750657+0000",
"dataset": "alert",
"module": "malicious_powershell_detect",
"severity": 1,
"kind": "alert",
"category": [
"network",
"intrusion_detection"
],
"id": "081d78f9-81f2-4408-84bf-2c8d6a8e5939"
},
"@version": "1",
"source": {
"port": 33698,
"ip": "x.y.z.A",
},
"ecs": {
"version": "8.6.0"
},
"observer": {
"log_format_version": "1.0.0",
"hostname": "gcenter.domain",
"vendor": "gatewatcher",
"gcap": {
"ingress": {
"interface": {
"name": "monvirt"
}
},
"hostname": "gcap",
"version": "2.5.x."
},
"product": "gcenter",
"uuid": "fc1e66e3-a397-5eb4-9277-754be778f317",
"version": "2.5.x"
},
"destination": {
"port": 9999,
"ip": "x.A.V.X"
},
"@timestamp": "2024-12-04T14:12:44.750Z",
"network": {
"protocol": "unknown",
"transport": "tcp",
"timestamp": "2024-12-04T14:11:36.408774+0000",
"flow_id": 2227663757209674
2.1.4.2.2.3. Liste des compteurs de l'alerte
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.4.3. Gestion du moteur
2.1.4.3.1. Visualisation de l'état du moteur
L'état du moteur est affiché dans l' Ecran `Health checks`.
2.1.4.3.3. Configuration du moteur
L'interface de configuration permet d'activer le moteur :
voir la description de l'Ecran `Malicious Powershell detect` (commande Malicious Powershell)
voir la procédure Réglage du moteur Malicious Powershell detect