Uploaded by Bharath Reddy

(WEF), Splunk, LogPoint ( PDFDrive )

advertisement
2018
HANDBOOK
Amélioration des capacités de détection
Mise en place d’un système de centralisation de journaux
Windows Event Forwarding (WEF), Splunk, LogPoint
Site internet
www.intrinsec.com
Blog
securite.intrinsec.com
Twitter
@Intrinsec
Handbook – Amélioration des capacités de détection version 1
Le présent document est une production du CERT-Intrinsec, et est la propriété exclusive d’Intrinsec Sécurité S.A.S.
Les contenus cités restent la propriété de leurs auteurs respectifs. Les éléments créés par Intrinsec Sécurité sont
diffusés sous licence Creative Commons-Non Commercial-Attribution-Share-Alike version 4 : toute utilisation
(hors fins commerciales), modification ou distribution sont autorisées, sous réserve que le présent document, ses
versions modifiées ou l’œuvre dérivée soient soumis aux mêmes conditions de licence, et qu’Intrinsec Sécurité
soit expressément citée en tant que source.
Historique des modifications :
Version
Date
Action
Auteur
1
16/03/2018
Publication du document
Luc ROUDE
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 2 / 50
Handbook – Amélioration des capacités de détection version 1
TABLE DES MATIERES
1 INTRODUCTION
5
1.1 Contexte ______________________________________________________________________________ 5
1.2 Périmètre d’application __________________________________________________________________ 6
2 MESURES DE PREMIER NIVEAU
7
2.1 Généralités et prérequis__________________________________________________________________ 7
2.2 Configurer WEF ________________________________________________________________________ 9
2.2.1 Déployer le collecteur ________________________________________________________________ 9
2.2.2 Configurer WEF sur les terminaux via stratégies de groupe __________________________________ 10
2.2.3 Configurer les abonnements sur le collecteur ____________________________________________ 11
2.3 Ajouter des canaux d’événements _________________________________________________________ 14
2.4 Configurer un agent Splunk ______________________________________________________________ 15
2.5 Configurer un agent LogPoint ____________________________________________________________ 17
2.6 Motifs de recherche (SIEM) ______________________________________________________________ 20
2.6.1 Splunk ___________________________________________________________________________ 20
2.6.2 LogPoint__________________________________________________________________________ 22
3 MESURES ETENDUES
24
3.1 Stratégie d’audit _______________________________________________________________________ 24
3.2 Paramétrage des journaux opérationnels d’applications ________________________________________ 26
3.3 Journalisation PowerShell _______________________________________________________________ 27
3.4 Sysmon ______________________________________________________________________________ 28
3.5 AppLocker____________________________________________________________________________ 29
3.6 Canaux d’événements personnalisés _______________________________________________________ 31
3.7 Catalogue d’abonnements WEF ___________________________________________________________ 32
3.7.1 Journaux « Sécurité » _______________________________________________________________ 32
3.7.2 PowerShell________________________________________________________________________ 33
3.7.3 Sysmon __________________________________________________________________________ 34
3.7.4 AppLocker ________________________________________________________________________ 34
3.7.5 Automatisation ____________________________________________________________________ 35
3.7.6 Aller plus loin______________________________________________________________________ 36
4 ANNEXES
37
4.1 Ressources et fichiers ___________________________________________________________________ 37
4.2 Référence des paramètres de stratégies de groupe ___________________________________________ 37
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 3 / 50
Handbook – Amélioration des capacités de détection version 1
4.2.1 Français __________________________________________________________________________ 37
4.2.2 Anglais ___________________________________________________________________________ 40
4.3 Dépannage ___________________________________________________________________________ 46
4.3.1 Codes d’événements et situations fréquentes ____________________________________________ 46
4.3.2 Structures XML et limites des abonnements WEF _________________________________________ 46
4.3.3 Permissions sur les journaux – descripteurs de sécurité ____________________________________ 46
4.4 Remerciements et Bibliographie __________________________________________________________ 48
5 À PROPOS D’INTRINSEC
50
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 4 / 50
Handbook – Amélioration des capacités de détection version 1
1 INTRODUCTION
1.1 CONTEXTE
Problématique
Les cyberattaques sont généralement modélisables autour d’une « kill chain », qui va des étapes de reconnaissances
jusqu’à l’exfiltration de données. Les premières & dernières étapes de ce schéma peuvent être détectées par des
éléments de défense périmétriques (ex. IDS réseau / Web). Une partie de ce cycle repose toutefois sur une séquence
d’actions en interne, focalisée sur des équipements terminaux (postes de travail, serveurs). Le MITRE a classé ces
familles d’actions en dix catégories, comprenant notamment la propagation latérale et la récupération d’identifiants :
Limites actuelles
Dans les déploiements courants de SIEM, les événements touchant ces équipements terminaux ne sont pas
centralisés pour des raisons de volumétrie. Les informations liées à ces terminaux sont alors fragmentaires (ex.
journaux antivirus, actions touchant Active Directory). Elles permettent la détection de menaces connues ou très
visibles (ex. exécution de versions « brutes » de Mimikatz), mais présentent des lacunes sur les opérations plus
discrètes, comme un attaquant exploitant des fonctionnalités d’administration légitimes pour se propager de système
en système.
Projet
L’objet de ce document est le déploiement d’un système de collecte et centralisation de journaux issus des
équipements terminaux, avec le cahier des charges suivant :

S’appuyer au maximum sur des fonctionnalités natives de Windows ;

Minimiser l’impact sur l’infrastructure : mise en place d’une machine de collecte de journaux, déploiement des
règles par GPO ;

Limiter la croissance des données injectées dans le SIEM : collecte ciblée sur un nombre réduit d’événements.
Cette démarche comporte ses propres limites : en sélectionnant précisément les événements à surveiller, nous
laissons des zones d’ombre apparaître sur tous les scénarios n’étant pas explicitement anticipés. Dans la même veine,
le modèle proposé par le MITRE se concentre sur des points précis et n’a pas vocation à être exhaustif.
Le système décrit dans ce guide a donc pour vocation d’être transitoire. Une fois en place, il devra être entretenu et
étendu jusqu’à atteindre une couverture globale, tenant compte des aspects techniques et métier.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 5 / 50
Handbook – Amélioration des capacités de détection version 1
1.2 PERIMETRE D’APPLICATION
Ce document a vocation à s’appliquer dans un environnement Active Directory, appuyé par un SIEM (Splunk et LogPoint
sont documentés ici, mais le raisonnement peut être étendu à toute solution de gestion de journaux, comme Graylog1
pour citer un exemple open-source).
Le bon fonctionnement de l’infrastructure de centralisation de journaux nécessite au préalable que les politiques
d’audit (journalisation) des systèmes Windows soient correctement configurées. Pour un premier jet de centralisation
d’événements « standards », les politiques par défaut sont suffisantes.
Le schéma ci-dessous résume de manière très simplifiée les opérations classiques d’un attaquant s’étant introduit sur
le réseau (étape 0 : intrus physique, accès via un réseau Wi-Fi mal protégé, utilisateur légitime victime de phishing ou
de water holing, compromission d’un logiciel de confiance, etc.) :
1. Persistance, élévation de privilèges locale, découverte du réseau ;
2. Propagation latérale ;
3. Acquisition d’identifiants privilégiés ;
4. Accès aux serveurs métier, recherche d’informations exploitables.
Le système proposé permettra une plus grande visibilité sur les phases initiales de l’attaque.
1
Page d’accueil du projet : https://www.graylog.org
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 6 / 50
Handbook – Amélioration des capacités de détection version 1
2 MESURES DE PREMIER NIVEAU
2.1 GENERALITES ET PREREQUIS
La stratégie de centralisation s’articule principalement autour du système Windows Event Forwarding (WEF) et fait
intervenir les composants suivants :

Un collecteur chargé de récupérer les journaux provenant des terminaux (postes de travail, serveurs) ;

Le service WinRM (Windows Remote Management) configuré sur les terminaux par stratégie de groupe ;

Des abonnements configurés sur le collecteur, définissant les groupes de sécurité concernés et les types
d’événements demandés ;

Des stratégies de groupe définissant les politiques d’audit (journalisation) sur les terminaux ;

Un agent (forwarder Splunk ou LogPoint) déployé sur le collecteur afin d’acheminer les journaux dans le SIEM.
Ce guide fait le choix d’un mode de collecte en push : les terminaux se connectent au collecteur pour transférer leurs
journaux. Nous estimons que ce modèle est plus sûr, ne nécessitant pas l’ouverture d’un service réseau en écoute sur
tous les postes de travail. Le schéma ci-dessous représente une vision simplifiée de l’architecture :
Note sur la confidentialité & l’intégrité : par défaut, les communications sont effectuées en HTTP. WEF exploite
toutefois Kerberos pour authentifier les terminaux et chiffrer les données échangées. Seul le collecteur peut les
déchiffrer. Ce mécanisme est également exploité pour authentifier les connexions entre terminaux et collecteur.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 7 / 50
Handbook – Amélioration des capacités de détection version 1
Le raisonnement à l’origine de ce guide est d’exploiter au maximum les fonctionnalités natives d’un environnement
Windows ; il reste tout de même nécessaire de remplir certains prérequis techniques et organisationnels, décrits cidessous.
Versions minimales de Windows requises pour les composants WEF :
 Intégré par défaut depuis Windows Vista et Windows Server 2008 ;

Nécessite une installation pour Windows XP SP2 et Windows Server 2003 SP1 ;

Non supporté pour les versions antérieures.
Ressources minimales pour le collecteur :
 Système d’exploitation : Windows, de préférence en déclinaison « serveur », intégré au domaine

Processeur : 4 cœurs @ 2 GHz

Mémoire : 16 Go

Espace disque : 40 Go pour le système, 60 Go de partition de données
Cette configuration supporte la charge pour un déploiement sur 3000 postes avec un nombre restreint d’abonnements.
Organisation du Domaine Windows et du réseau sous-jacent :
 Pour l’application des stratégies de groupe : unités d’organisation regroupant les terminaux concernés par la
collecte de manière générale (ex. tous les systèmes du domaine) ;

Pour la définition des abonnements : groupes de sécurité regroupant les types de terminaux concernés par
les différents types de collecte (ex. postes de travail, serveurs) ;

Politique de filtrage autorisant les terminaux, le collecteur et le SIEM à communiquer entre eux.
Ressources annexes :
Lorsque le guide fait référence à des dossiers annexes, il s’agit du contenu accessible en ligne à l’adresse suivante :

https://github.com/Intrinsec/WEF-handbook-appendix
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 8 / 50
Handbook – Amélioration des capacités de détection version 1
2.2 CONFIGURER WEF
2.2.1 Déployer le collecteur
La machine servant de collecteur devrait être déployée dans un emplacement réseau où elle sera accessible depuis les
terminaux et où elle pourra contacter une instance Splunk ou LogPoint. En supposant l’utilisation des ports par défaut,
la matrice de flux ci-dessous doit être appliquée (lignes : sources – colonnes : destinations) :
Source \ Destination
Terminaux
Terminaux
Collecteur
Instance Splunk
Instance LogPoint
TCP/8089
TCP/9997
TCP/7796
TCP/7797
TCP/7798
TCP/7799
TCP/5985
Collecteur
Instance Splunk
Instance LogPoint
TCP/7794
TCP/7795
Comme indiqué dans les prérequis, voici la configuration matérielle et logicielle minimum du collecteur :




Système d’exploitation : Windows, de préférence en déclinaison « serveur », intégré au domaine
Processeur : 4 cœurs @ 2 GHz
Mémoire : 16 Go
Espace disque : 40 Go pour le système, 60 Go de partition de données
Cette configuration supporte la charge pour un déploiement sur 3000 postes avec un nombre restreint d’abonnements.
Microsoft recommande par ailleurs de ne pas dépasser les limites suivantes pour un collecteur unique :
 10 000 terminaux abonnés actifs simultanément
 10 000 événements par seconde en moyenne
Note importante : les journaux rapatriés via WEF sont localisés dans la langue du système d’exploitation du collecteur.
Dans le cas d’un déploiement de plusieurs collecteurs, nous recommandons de systématiquement utiliser les mêmes
paramètres de langue afin d’assurer une homogénéité des informations déversées dans le SIEM.
Une fois la machine déployée, il ne reste qu’à activer les services « WinRM » et « collecteur d’événements ». Pour ce
faire, ouvrir une invite de commandes en tant qu’Administrateur, et exécuter les commandes suivantes :


winrm qc
o Répondre « y » aux deux propositions
wecutil qc
o Répondre « o » à la proposition
Ces actions auront pour effet de lancer les services, d’activer leur démarrage automatique, ainsi que de configurer les
exceptions nécessaires à leur fonctionnement dans le pare-feu Windows.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 9 / 50
Handbook – Amélioration des capacités de détection version 1
2.2.2 Configurer WEF sur les terminaux via stratégies de groupe
Pour activer l’envoi de journaux depuis les terminaux, il est nécessaire de paramétrer trois points :

Définir le collecteur souhaité ;

Autoriser le compte « Service Réseau » à accéder aux journaux « Sécurité » ;

Activer le service WinRM.
L’ensemble de ces paramètres peut être configuré par stratégies de groupe, en suivant depuis l’éditeur d’objet
stratégies de groupe les instructions pour chaque point.
Note : le document référence ici les démarches pas à pas pour la mise en place de stratégies sur des versions françaises
de Windows. Un résumé des paramètres et leurs équivalents anglais sont présentés en section 4.2 Référence des
paramètres de stratégies de groupe - page 37.
Collecteur :

Arborescence : Ordinateur > Stratégies > Modèles d'administration > Composants Windows > Transfert
d’événements

Activer le paramètre « Configurer le Gestionnaire d’abonnements cible »

Modifier l’option « SubscriptionManagers »

Inscrire la chaîne ci-dessous, qui définit le collecteur qui sera interrogé ainsi que l’intervalle de rafraîchissement
(en secondes) des données. Une valeur de 60 peut être appliquée en phase de test, elle pourra être poussée
à 180 voire 300 en production :
Server=http://<FQDN du collecteur, ex. machine.domaine.local>:5985/wsman/SubscriptionManager/WEC,Refresh=60
Permissions sur le journal « sécurité » :

Arborescence : Ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Groupes restreints

Dans le panneau latéral, clic droit puis « Ajouter un groupe… »

Cliquer sur « Parcourir », entrer « Lecteurs des journaux » dans le champ de recherche, cliquer sur « Vérifier
les noms ». Le champ devrait se transformer en « Lecteurs des journaux d’événements » :

Valider en cliquant sur « OK » dans les deux fenêtres ouvertes

La fenêtre de propriétés du groupe « Lecteurs des journaux d’événements » va s’ouvrir, suivre le bouton
« Ajouter… » du cadre « Membres de ce groupe »
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 10 / 50
Handbook – Amélioration des capacités de détection version 1

De la même manière que ci-dessus, cliquer sur parcourir, entrer « SERVICE R » dans le champ de recherche
puis cliquer sur « Vérifier les noms » pour étendre la valeur en « SERVICE RÉSEAU » avant de valider les choix :

Note importante : la prise en compte de ce paramètre peut nécessiter un redémarrage du système concerné,
au-delà de l’application de la stratégie de groupe. Pour ajuster les permissions sur les journaux d’événements
sans nécessiter de redémarrage, une procédure alternative basée sur les descripteurs de sécurité est présentée
en section 4.3.3 Permissions sur les journaux – descripteurs de sécurité - page 46.
Service WinRM :

Arborescence : Ordinateur > Préférences > Paramètres du Panneau de configuration > Services

Dans le panneau latéral droit, clic droit puis Nouveau > Service

Paramétrer les valeurs suivantes :
o
Démarrage : Automatique
o
Nom du service : WinRM
o
Action du service : Démarrer le service
Ces paramètres sont suffisants pour activer le service de centralisation des événements sur les terminaux. À ce stade
de la configuration, aucun abonnement d’événements n’est défini. Les postes concernés par cette stratégie se
contenteront d’interroger le serveur de collecte régulièrement et, sans abonnement configuré, ne transfèreront aucun
événement au collecteur. La stratégie peut donc être appliquée à un large groupe de terminaux, peu importe leur type
(poste de travail, serveur), du moment qu’ils peuvent joindre le collecteur.
2.2.3 Configurer les abonnements sur le collecteur
La stratégie activant le transfert de journaux étant appliquée, l’objectif est désormais de sélectionner les événements
qui seront concernés. C’est pour cette étape qu’il faut avoir défini des groupes de sécurité (au sens Windows du terme)
comprenant les terminaux classés par types (ex. postes de travail, serveurs).
L’exemple ci-dessous présente la création d’un abonnement collectant les événements d’accès distants au poste
(connexion réseau type partage de fichiers, PsExec ou RDP). Une liste étendue d’abonnements est décrite plus loin, en
section 3.7 Catalogue d’abonnements WEF - page 32.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 11 / 50
Handbook – Amélioration des capacités de détection version 1
Le déploiement des abonnements par l’interface graphique est accessible et exploitable pour des déploiements à
petite échelle. Afin de minimiser les opérations manuelles, il est possible de définir l’ensemble des propriétés d’un
abonnement dans un fichier XML directement absorbable par le service de WEF. Cette méthode est détaillée au
paragraphe 3.7.5 Automatisation - page 35. Le reste de la présente section décrit l’opération manuelle.
Sur le collecteur, ouvrir l’observateur d’événements en tant qu’Administrateur, puis sélectionner la catégorie
« Abonnements » dans le panneau latéral de gauche. Effectuer un clic droit sur cette catégorie, puis sélectionner
l’option « Créer un abonnement… ». Une nouvelle fenêtre s’affiche ; la remplir avec les valeurs suivantes :

Nom d’abonnement : champ libre, par exemple « Postes - accès distants »

Journal de destination : vérifier qu’il s’agit bien d’« Événements transférés »

Type d’abonnement et ordinateurs sources : sélectionner « Initialisation par l'ordinateur source »
o
Accéder à « Sélectionner des groupes d'ordinateurs… »
o
Cliquer sur « Ajouter des ordi. du domaine… »
o
Choisir un groupe du domaine correspondant au type de terminaux souhaités, pour suivre l’exemple
ici : les postes de travail

Dans la partie « Événements à recueillir », suivre « Sélectionner des événements… »
o
Dans la nouvelle fenêtre, naviguer vers l’onglet « XML »
o
Cocher la case « Modifier la requête ». Un avertissement concernant la non-réversibilité de l’opération
apparaîtra, sélectionner « Oui »
o
Le champ libre peut désormais être rempli par une structure XML décrivant les filtres à appliquer sur
la collecte
o
Afin de poursuivre sur l’exemple des postes de travail, copier-coller les données XML ci-dessous dans
le champ de texte libre :
Abonnement – Accès distants
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[(EventID=4624)]]</Select>
<Suppress Path="Security">
*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Level=4 or Level=0) and
(EventID=4624)]]
and
*[EventData[
(
(Data[@Name='LogonType']='0' or Data[@Name='LogonType']='2' or
Data[@Name='LogonType']='4' or Data[@Name='LogonType']='5' or Data[@Name='LogonType']='7' or
Data[@Name='LogonType']='11' or Data[@Name='LogonType']='13')
or
Data[@Name='TargetUserName']='ANONYMOUS LOGON'
or
(Data[@Name='TargetUserSID']='S-1-5-18' or Data[@Name='TargetUserSID']='S-1-5-19'
or Data[@Name='TargetUserSID']='S-1-5-20')
)
]]
</Suppress>
</Query>
</QueryList>
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 12 / 50
Handbook – Amélioration des capacités de détection version 1
o


Valider la requête en cliquant sur « OK »
Suivre l’option « Avancé… », qui ouvrira une nouvelle boîte de dialogue
o
Dans la section « Optimisation de la livraison d’événements », choisir « Minimiser la latence »
o
Laisser les autres options par défaut
Validez les choix en suivant les boutons « OK » jusqu’à fermer la fenêtre de propriétés de l’abonnement
Une nouvelle ligne dans l’observateur d’événements va apparaître, correspondant à l’abonnement :
Le nombre sous « Ordinateurs sources » devrait augmenter naturellement, en fonction des terminaux concernés par
la stratégie de groupe précédemment définie et des groupes d’ordinateurs sélectionnés pour l’abonnement. En cas de
problème lié à l’activation des abonnements, les solutions aux causes les plus fréquentes sont référencées en section
annexe 4.3.1 Codes d’événements et situations fréquentes - page 46.
La dernière étape est alors de configurer le journal « Événements transférés » du collecteur. Depuis l’observateur
d’événements, effectuer un clic droit sur ce journal, puis sélectionner dans les propriétés :

Journaux : sélectionner un emplacement sur la partition de données

Journal max. : 4194304 (représente 4 Go)

Lorsque la taille maximale… est atteinte : « Remplacer les événements si nécessaire »
Note : il est possible de sélectionner « Archiver le journal lorsqu’il est plein, ne pas effacer d’évènements » pour assurer
une meilleure conservation des journaux ; il faut alors prévoir un processus régulier de compression et d’export des
événements archivés.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 13 / 50
Handbook – Amélioration des capacités de détection version 1
2.3 AJOUTER DES CANAUX D’EVENEMENTS
À terme, le but de la centralisation est de collecter des événements issus de différentes sources (journaux Sécurité,
AppLocker, Sysmon, etc.). Regrouper l’intégralité de ces traces dans le seul journal « Evénements transférés » du
collecteur peut compliquer leur traitement. Afin de gérer le déversement des journaux dans le SIEM de manière plus
flexible, il est possible de définir des journaux personnalisés.
Pour cela, il est nécessaire d’enregistrer un fournisseur d’événements, qui s’appuie sur deux éléments : un fichier de
manifeste et une DLL. Nous avons préparé une configuration correspondant aux différentes sources décrites dans ce
guide, qui peut être utilisée telle quelle. Si vous souhaitez définir vos propres journaux, reportez-vous à la section 3.6
Canaux d’événements personnalisés - page 31.
Le fichier de manifeste et la DLL prêts à l’emploi sont inclus dans le dossier annexe event-channels :

EventChannelsFWD.man

EventChannelsFWD.dll2
Copier ces deux fichiers dans le dossier C:\Windows\System32 du collecteur, puis exécuter la commande suivante
depuis une invite disposant de privilèges Administrateur :
wevtutil im C:\Windows\System32\EventChannelsFWD.man
La commande ne doit produire aucune sortie sur la console. Une fois l’opération terminée, ouvrir ou relancer
l’observateur d’événements. Dans la section « Journaux des Applications et des services », un nouveau dossier « FWD »
doit avoir fait son apparition, avec les quatre journaux montrés dans la capture ci-dessous.
Ces nouveaux journaux ont les mêmes propriétés que les autres : ils sont enregistrés dans des fichiers .evtx avec des
tailles de stockage et des types d’archivage modifiables. Nous recommandons d’augmenter leur taille maximale pour
disposer d’un tampon confortable. Par exemple, la commande ci-dessous (à exécuter depuis une invite PowerShell
lancée en mode Administrateur) portera la taille maximale de chaque journal à 2 Go :
wevtutil el | Select-String -Pattern "^FWD" | %{wevtutil sl $_ /maxsize:2147483648}
2
La DLL incluse a été compilée dans un environnement Windows 7 64 bits en anglais ; nous n’avons rencontré aucun
problème en l’utilisant sur des versions plus récentes de Windows configurées avec des langues différentes.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 14 / 50
Handbook – Amélioration des capacités de détection version 1
2.4 CONFIGURER UN AGENT SPLUNK
Au préalable des opérations, télécharger les éléments suivants :

Agent Universal Forwarder : https://www.splunk.com/en_us/download/universal-forwarder.html

TA Windows : https://splunkbase.splunk.com/app/742/

TA Sysmon : https://splunkbase.splunk.com/app/1914/
Préparer l’instance Splunk
Depuis l’interface Web d’administration de l’instance Splunk, effectuer les manipulations suivantes :

Settings > Index > « New Index » : valeur libre (ex. « WEF »)

Settings > Forwarding and receiving > Configure receiving > New > « Listen on… » : sélectionner 9997 (valeur
par défaut)

Apps > Manage Apps > « Install app from file » : déployer les TA Windows et Sysmon
Installer le forwarder
Sur le collecteur, installer l’agent Splunk Universal Forwarder :

Au démarrage du setup, cocher la case « accept the License Agreement », laisser la case « on premises »
cochée, puis cliquer sur « Customize Options »

« Install UniversalForwarder to… » : valeur libre

« SSL certificate » : paramétrer en fonction de l’instance Splunk

« Install UniversalForwarder as » : choisir « Local System »

À l’écran de choix des journaux à transférer : ne rien sélectionner

« Deployment server » : indiquer l’adresse IP ou le FQDN de l’instance Splunk, sur le port de l’interface de
gestion (par défaut 8089)

« Receiving indexer » : indiquer l’adresse IP ou le FQDN de l’instance Splunk, sur le port choisi pour
réceptionner les journaux (par défaut 9997)

Valider l’installation en choisissant « Install », puis « Finish »
Copier le dossier annexe Inputs_WEF vers le dossier C:\SplunkUniversalForwarder\etc\apps et contrôler les
points suivants du fichier inputs.conf :

Adapter les journaux ciblés (éléments associés aux entrées WinEventLog://) à l’environnement ; les valeurs
par défaut correspondent à celles proposées en section 2.3 Ajouter des canaux d’événements - page 14

Adapter l’index « FIXME_WEF » à l’environnement

Positionner « disabled » à 0 pour les sources voulues
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 15 / 50
Handbook – Amélioration des capacités de détection version 1
Redémarrer le forwarder pour prendre en compte la nouvelle configuration (commande à exécuter depuis une invite
de commandes lancée en mode Administrateur) :
C:\SplunkUniversalForwarder\bin\splunk.exe restart
Configurer l’instance Splunk
Nous présentons ici la procédure pour une infrastructure simple, avec une instance regroupant l’ensemble des rôles
« Search Head » et « Indexer ». Pour les cas d’environnements plus complexes, vous pouvez prendre contact avec nos
équipes pour prévoir une procédure adaptée à votre contexte.
Depuis l’interface d’administration Web de l’instance Splunk, vérifier que le forwarder est bien enregistré :

Settings > « Forwarder Management »
L’hôte hébergeant le forwarder doit apparaître sur cette page page.
Enfin, copier le dossier annexe TA_WEF dans le dossier etc\apps du répertoire d’installation de l’instance. Chemin
précis vers les fichiers concernés :

Cas d’une instance Windows : <répertoire d’installation>\etc\apps

Cas d’une instance Linux : /opt/splunk/etc/apps
Pour prendre les changements en compte, l’instance peut nécessiter un redémarrage. Depuis l’interface Web :

Settings > Server controls > bouton « Restart Splunk »
Une fois cette opération achevée, les journaux devraient commencer à être déversés dans l’instance Splunk.
Valider la configuration du système
Le bon fonctionnement de l’ensemble peut être vérifié en suivant les étapes suivantes :

Générer un événement concerné par les abonnements (par exemple : une connexion réseau) sur une
machine du périmètre ;

Inspecter les journaux Windows du collecteur et vérifier que l’événement a bien été transféré ;

Vérifier la présence de l’événement dans l’index concerné de l’instance Splunk.
Depuis l’instance Splunk, les recherches suivantes permettent d’étudier l’état du système de centralisation :
index="_*" host="<nom d’hôte du collecteur>"
index="_telemetry" "<nom d’un journal, ex. forwardedevents>"
Du côté du forwarder déployé sur le collecteur, des journaux de maintenance sont stockés dans le fichier suivant :
C:\SplunkUniversalForwarder\var\log\splunk\splunkd.log
Des situations d’erreur habituellement rencontrées sont également présentées en section 4.3 Dépannage - page 46.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 16 / 50
Handbook – Amélioration des capacités de détection version 1
2.5 CONFIGURER UN AGENT LOGPOINT
Au préalable des opérations, télécharger les composants suivants de l’agent LogPoint depuis le portail client3 :

Agent LogPoint pour Windows

Application « LogPoint Agent Collector »

Application « LPA Windows »

Application « Integrity Scanner »
La procédure ci-dessous décrit les étapes à suivre pour LogPoint 6, mais reste similaire pour LogPoint 5.
Installer l’agent
Sur le collecteur, installer l’agent LogPoint_Agent_<version>.msi. Il n’y a aucune configuration à faire à ce niveau ;
l’agent s’installe automatiquement dans « C:\Program Files (x86)\lpagent » et instancie un service « lpagent ».
Préparer et configurer l’instance LogPoint
Depuis l’interface Web d’administration de l’instance LogPoint, effectuer les manipulations suivantes :
Installer les applications

Settings > SYSTEM > Applications > « Import »

Installer via cet écran les applications LogPoint_Agent_Collector_<version>.pak,
LPA_Windows_<version>.pak et Integrity_Scanner_<version>.pak
Préparer l’extraction des champs

Settings > CONFIGURATION > Normalization Policies > « Add »

« Name » : champ libre (ex. « Windows_Forwarded_Events »)

Pour « Compiled Normalizer » : sélectionner LPA_Windows

Pour « Normalization Packages » : sélectionner LP_Integrity Scanner

Valider (submit)
Préparer un repo pour les journaux (optionnel)

Settings > CONFIGURATION > Repos > « Add »

« Repo Name » : champ libre (ex. « wef »)

« Retention » : 365
Préparer une routing policy (optionnel)
3

Settings > CONFIGURATION > Routing Policies > « Add Policy »

« Name » : champ libre (ex. « wef »)

« Catch All » : repo précédemment défini (ex. « wef »)
https://customer.logpoint.com/
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 17 / 50
Handbook – Amélioration des capacités de détection version 1
Préparer une processing policy (optionnel)

Settings > CONFIGURATION > Processing Policies > « Add »

« Policy Name » : champ libre (ex. « WEF_ProcessingPolicy »

« Normalization Policy » : instance créée précédemment (ex. « Windows_Forwarded_Events »)

« Enrichment Policy » : None

« Routing Policy » : policy définie précédemment (ex. « wef »)
Ajouter un agent

Settings > CONFIGURATION > Devices > « Add »

« Name » : champ libre (ex. « WinEvtCollector01 »)

« IP address » : adresse IP du collecteur

« Device Groups » : windows

« Log Collection Policy » : peut rester vide, adapter en fonction de votre contexte

« Distributed Collector » : peut rester vide, adapter en fonction de votre contexte

« Risk values » : nous recommandons par défaut C : Minimal / I : Critical / A : Minimal ; adapter en fonction
de votre contexte

Valider (submit)
Définir le type d’agent

L’étape précédente doit faire apparaître une grille de sélection du type d’agent. Si ce n’est pas le cas, utiliser
le bouton « Add collectors/fetchers » associé à la ligne nouvellement créée :

Sélectionner « LogPoint Agent Collector »

« Charset » : conserver « utf_8 »

« Processing Policy » : policy définie précédemment (ex. « WEF_ProcessingPolicy »)

« Template » : « None »

Valider (submit)
Configurer l’agent

L’étape précédente doit faire apparaître une boîte de dialogue demandant « Do you want to configure LogPoint
Agent? ». Choisir « Yes ». Si ce n’est pas le cas, l’écran de configuration se trouve dans l’arborescence Settings
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 18 / 50
Handbook – Amélioration des capacités de détection version 1
> SYSTEM > Plugins, filtrer l’affichage en inscrivant « LPA » dans le champ de recherche et cliquer sur le bouton
« Manage » associé au plugin « LogPoint Agent Collector » :

Onglet « Certificates » : choisir « Generate »

Onglet « Global Settings »


o
Cocher les cases « Enable Batching » et « Enable Buffering »
o
Laisser les valeurs par défaut et inscrire 768 dans « Warn Limit »
o
Valider (submit)
Onglet « Templates » : choisir « Add »
o
« Name » : champ libre (ex. WEF)
o
« Hostname » : optionnel ; nom DNS associé à l’instance LogPoint
o
« Encryption » : Enabled
o
« Windows Eventlog Collection »

Décocher System, Application et Security

Ajouter les catégories personnalisées suivantes (respecter la casse et l’absence d’espace) :

 ForwardedEvents
 FWD-AppLocker
 FWD-PowerShell
 FWD-Security
 FWD-Sysmon
« Levels » : laisser toutes les cases cochées
o
Supprimer File Collection, File Integrity Scanner et Windows Registry Scanner
o
Valider (Save)
Onglet « Agents »
o
Sélectionner le collecteur précédemment créé (ex. « WinEvtCollector01 »)
o
Choisir le template qui vient d’être défini et valider (Save)
o
Déployer la nouvelle configuration sur l’agent via le bouton « Push » :
Cette dernière étape achève la configuration de l’environnement. Le collecteur devrait commencer à envoyer les
événements reçus dans les journaux définis vers l’instance LogPoint.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 19 / 50
Handbook – Amélioration des capacités de détection version 1
Valider la configuration du système
Le bon fonctionnement de l’ensemble peut être vérifié en suivant les étapes suivantes :

Générer un événement concerné par les abonnements (par exemple : une connexion réseau) sur une
machine du périmètre ;

Inspecter les journaux Windows du collecteur et vérifier que l’événement a bien été transféré ;

Vérifier la présence de l’événement dans le repo concerné de l’instance LogPoint.
Du côté de l’instance LogPoint, la présence de journaux peut être vérifiée en effectuant la recherche suivante :
col_type = LPAgent and module_type = event_log
Du côté de l’agent déployé sur le collecteur, des journaux de maintenance sont stockés dans le fichier suivant :
C:\Program Files (x86)\lpagent\data\lpagent.log
Des situations d’erreur habituellement rencontrées sont également présentées en section 4.3 Dépannage - page 46.
2.6 MOTIFS DE RECHERCHE (SIEM)
Cette section décrit les motifs à rechercher dans les SIEM. Ils prennent en compte les dispositifs décrits dans le chapitre
3 Mesures étendues (page 24) ; nous recommandons donc d’étudier l’ensemble du document et d’adapter les mesures
à vos besoins. À noter que les motifs de recherche présentés ici tiennent compte des stratégies de collecte. Si celles-ci
venaient à être élargies, les recherches devront être affinées en conséquence.
Enfin, les informations regroupées dans les tableaux permettent d’identifier les cas d’usage généraux. L’extraction des
champs pertinents, la définition de motifs d’alertes ou de tableaux de bord devront être réalisées ultérieurement.
2.6.1 Splunk
Chaque type d’événement comporte des champs spécifiques. Dans le contexte des journaux transférés, le
champ Computer est systématiquement présent et désigne l’hôte source d’un événement transféré. Les requêtes
présentées ici sont reproduites dans le fichier README.md du dossier annexe splunk.
Authentification réseau
Typologie de risque
Limites
Propagation latérale

Une authentification réseau vers un poste de travail peut être un indicateur de
compromission fort, il peut s’agir en revanche d’une action légitime pour un serveur.
Recherche(s)
index="WEF" sourcetype="WinEventLog:ForwardedEvents:Security" EventCode=4624 |
table _time, Computer, EventCode, Logon_Type, TargetDomainName,
Target_User_Name, Source_Workstation, WorkstationName | sort -_time
Corrélations possibles
n/a
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 20 / 50
Handbook – Amélioration des capacités de détection version 1
Altération de comptes utilisateurs
Typologie de risque
Récupération d’identifiants
Limites

Recherche(s)
index="WEF" sourcetype="WinEventLog:ForwardedEvents:Security" EventCode IN
(4720, 4740, 4728, 4732, 4756) | table _time, Computer, EventCode, name,
SubjectDomainName, SubjectUserName, TargetDomainName, Target_User_Name | sort _time
Corrélations possibles
n/a
Ne couvre pas l’utilisation illégitime d’un compte privilégié.
Exécution de programmes suspects
Typologie de risque
Exécution, Propagation latérale
Limites

Recherche(s)
index="WEF" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=1 | table _time, Computer, user, LogonId, cmdline, Image,
CurrentDirectory, SHA256, parent_process | sort -_time
Corrélations possibles
n/a
Collecte effectuée de manière ciblée sur une liste restreinte de processus et
d’emplacements.
Connexions réseau suspectes
Typologie de risque
Exécution, Propagation latérale
Limites

Recherche(s)
index="WEF" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=3 | table _time, Computer, SourceIp, User, DestinationIp,
DestinationHostname, DestinationPort, Image | sort -_time
Corrélations possibles
n/a
Collecte effectuée de manière ciblée sur une liste restreinte de processus et
d’emplacements.
Exécution automatique de programmes au démarrage
Typologie de risque
Persistance
Limites

Recherche(s)
index="WEF" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=11 | table _time, Computer, Image, TargetFilename | sort -_time
Collecte et recherches ciblées sur une liste restreinte de clés de registre et
d’emplacements.
index="WEF" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode IN (12, 13, 14) | table _time, Computer, EventCode, EventType, UserID,
Image, TargetObject, object, Details | sort -_time
Corrélations possibles
n/a
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 21 / 50
Handbook – Amélioration des capacités de détection version 1
Utilisation de PsExec
Typologie de risque
Propagation latérale
Limites


Collecte et recherches concentrées exclusivement sur l’outil PsExec.
Efficacité limitée du fait du contrôle de l’attaquant sur le nom des binaires et des
services PsExec.
index="WEF" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=1 Image="*psexe*"
Recherche(s)
index="WEF" sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"
EventCode=12 TargetObject="*\\Software\\SysInternals\\PsExec*"
Corrélations possibles
Authentification réseau : identifier l’adresse IP source et le compte utilisé pour exécuter
PsExec.
2.6.2 LogPoint
Chaque type d’événement comporte des champs spécifiques. Dans le contexte des journaux transférés, le champ
« host » est systématiquement présent et désigne l’hôte source d’un événement transféré.
Les requêtes présentées ici sont reproduites dans le fichier README.md du dossier annexe logpoint.
Authentification réseau
Typologie de risque
Limites
Propagation latérale

Une authentification réseau vers un poste de travail peut être un indicateur de
compromission fort, il peut s’agir en revanche d’une action légitime pour un serveur.
Recherche(s)
repo_name = "wef" event_source = "Microsoft-Windows-Security-Auditing" channel =
"Security" event_id = 4624 | fields log_ts, host, target_domain, target_user,
source_address, workstation
Corrélations possibles
n/a
Altération de comptes utilisateurs
Typologie de risque
Récupération d’identifiants
Limites

Recherche(s)
repo_name = "wef" event_source = "Microsoft-Windows-Security-Auditing" channel =
"Security" (event_id = 4720 OR event_id = 4740 OR event_id = 4728 OR event_id =
4732 OR event_id = 4756) | fields log_ts, host, event_id, group_name, domain,
user, target_domain, target_user
Corrélations possibles
n/a
Ne couvre pas l’utilisation illégitime d’un compte privilégié.
Exécution de programmes suspects
Typologie de risque
Exécution, Propagation latérale
Limites

Collecte effectuée de manière ciblée sur une liste restreinte de processus et
d’emplacements.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 22 / 50
Handbook – Amélioration des capacités de détection version 1
Recherche(s)
repo_name = "wef" event_source = "Microsoft-Windows-Sysmon" channel =
"Microsoft-Windows-Sysmon/Operational" event_id = 1 | fields log_ts, host,
user_id, logonid, commandline, image, currentdirectory, parentimage
Corrélations possibles n/a
Connexions réseau suspectes
Typologie de risque
Exécution, Propagation latérale
Limites

Recherche(s)
repo_name = "wef" event_source = "Microsoft-Windows-Sysmon" channel =
"Microsoft-Windows-Sysmon/Operational" event_id = 3 | fields log_ts, host,
sourceip, domain, user, destinationip, destinationport, image
Corrélations possibles
n/a
Collecte effectuée de manière ciblée sur une liste restreinte de processus et
d’emplacements.
Exécution automatique de programmes au démarrage
Typologie de risque
Persistance
Limites

Recherche(s)
repo_name = "wef" event_source = "Microsoft-Windows-Sysmon" channel =
"Microsoft-Windows-Sysmon/Operational" event_id = 11 | fields log_ts, host,
domain, user, image, targetfilename
Collecte et recherches ciblées sur une liste restreinte de clés de registre et
d’emplacements.
repo_name = "wef" event_source = "Microsoft-Windows-Sysmon" channel =
"Microsoft-Windows-Sysmon/Operational" (event_id = 12 OR event_id = 13 OR
event_id = 14) | fields log_ts, host, event_id, message, domain, user, image,
targetobject, details
Corrélations possibles
n/a
Utilisation de PsExec
Typologie de risque
Propagation latérale
Limites


Collecte et recherches concentrées exclusivement sur l’outil PsExec.
Efficacité limitée du fait du contrôle de l’attaquant sur le nom des binaires et des
services PsExec.
repo_name = "wef" event_source = "Microsoft-Windows-Sysmon" channel =
"Microsoft-Windows-Sysmon/Operational" event_id = 1 image = "*psexe*"
Recherche(s)
Corrélations possibles
repo_name = "wef" event_source = "Microsoft-Windows-Sysmon" channel =
"Microsoft-Windows-Sysmon/Operational" event_id = 12 targetobject =
"*\Software\SysInternals\PsExec*"
Authentification réseau : identifier l’adresse IP source et le compte utilisé pour exécuter
PsExec.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 23 / 50
Handbook – Amélioration des capacités de détection version 1
3 MESURES ETENDUES
3.1 STRATEGIE D’AUDIT
Au-delà de la centralisation des événements, paramétrer une stratégie d’audit et de rétention des journaux sur un
système en local permet d’accéder à des informations supplémentaires si une investigation se concentre sur un hôte
spécifique. Ces journaux locaux peuvent bien entendu être effacés par un attaquant, mais la stratégie nous semble
pertinente si on considère les deux points suivants :

Les attaquants doivent obtenir des privilèges d’Administrateur du système pour supprimer des journaux ;

L’action d’effacer les journaux peut elle-même être considérée comme un indicateur de compromission.
La stratégie décrite ci-dessous augmente la taille de stockage par défaut des journaux « Sécurité » et spécifie un
ensemble de paramètres pertinent pour les opérations de réponse à incident.
Depuis l’éditeur de stratégies de groupe, suivre l’arborescence suivante : Ordinateur > Stratégies > Paramètres
Windows > Paramètres de sécurité > Journal des événements
Paramétrer les éléments suivants :

Méthode de stockage du journal de sécurité : Activer et paramétrer Remplacer les événements si nécessaire

Taille maximale du journal de sécurité : Activer et paramétrer 1048576 (1Go)
Depuis l’arborescence Ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Stratégies locales
> Options de Sécurité
Paramétrer l’élément suivant :

Audit : force les paramètres de sous-catégorie de stratégie d’audit (Windows Vista ou version ultérieure) à se
substituer aux paramètres de catégorie de stratégie d’audit : Activé
Depuis l’arborescence Ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Configuration
avancée de la stratégie d’audit > Stratégies d’audit
Paramétrer les sous-catégories en suivant le tableau ci-dessous :
Stratégie d’audit système
Catégorie/Sous-catégorie
Système
Extension système de sécurité
Intégrité du système
Pilote IPSEC
Autres événements système
Modification de l’état de la sécurité
Ouverture/Fermeture de session
Ouvrir la session
Fermer la session
Verrouillage du compte
Mode principal IPsec
Mode rapide IPsec
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Paramètre
Opération réussie
Succès et échec
Aucun audit
Succès et échec
Opération réussie
Succès et échec
Opération réussie
Succès et échec
Aucun audit
Aucun audit
Page 24 / 50
Handbook – Amélioration des capacités de détection version 1
Stratégie d’audit système
Catégorie/Sous-catégorie
Mode étendu IPsec
Ouverture de session spéciale
Autres événements d’ouverture/fermeture de session
Serveur NPS
Accès aux objets
Système de fichiers
Registre
Objet de noyau
SAM
Services de certification
Généré par application
Manipulation de handle
Partage de fichiers
Rejet de paquet par la plateforme de filtrage
Connexion de la plateforme de filtrage
Autres événements d’accès à l’objet
Partage de fichiers détaillé
Utilisation de privilège
Utilisation de privilèges sensibles
Utilisation de privilèges non sensibles
Autres événements d’utilisation de privilèges
Suivi détaillé
Fin du processus
Activité DPAPI
Événements RPC
Création du processus
Changement de stratégie
Modification de la stratégie d’audit
Modification de la stratégie d’authentification
Modification de la stratégie d’autorisation
Modification de la stratégie de niveau règle MPSSVC
Modification de la stratégie de plateforme de filtrage
Autres événements de modification de stratégie
Gestion des comptes
Gestion des comptes d’utilisateur
Gestion des comptes d’ordinateur
Gestion des groupes de sécurité
Gestion des groupes de distribution
Gestion des groupes d’applications
Autres événements de gestion des comptes
Accès DS
Modification du service d’annuaire
Réplication du service d’annuaire
Réplication du service d’annuaire détaillé
Accès au service d’annuaire
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Paramètre
Aucun audit
Succès et échec
Succès et échec
Succès et échec
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Succès et échec
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Aucun audit
Succès et échec
Succès et échec
Aucun audit
Succès et échec
Succès et échec
Succès et échec
Succès et échec
Succès et échec
Aucun audit
Succès et échec
Succès et échec
Succès et échec
Succès et échec
Succès et échec
Succès et échec
Aucun audit
Succès et échec
Aucun audit
Succès et échec
Page 25 / 50
Handbook – Amélioration des capacités de détection version 1
Stratégie d’audit système
Catégorie/Sous-catégorie
Connexion de compte
Opérations de ticket du service Kerberos
Autres événements d’ouverture de session
Service d’authentification Kerberos
Validation des informations d’identification
Paramètre
Succès et échec
Succès et échec
Succès et échec
Succès et échec
3.2 PARAMETRAGE DES JOURNAUX OPERATIONNELS D’APPLICATIONS
Les paramètres de stratégies de groupe permettent d’agir directement sur les tailles maximales et les modes de
conservation des journaux Sécurité, Système et Applications. Pour les journaux opérationnels (situés dans
l’arborescence « journaux des applications et des services » de l’observateur d’événements), il est nécessaire d’éditer
la base de registre directement. L’opération reste possible via les stratégies de groupe.
Depuis l’éditeur de stratégies de groupe, suivre l’arborescence suivante : Ordinateur > Préférences > Paramètres
Windows > Registre, puis dans le panneau : Clic droit > Nouveau > Élément Registre
Paramétrer les éléments suivants :

Action : Mettre à jour

Ruche : HKEY_LOCAL_MACHINE

Chemin d’accès de la clé : dépendant du journal souhaité. Exemple ci-dessous pour PowerShell
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-PowerShell/Operational

Nom de valeur : MaxSize

Type de valeur : REG_DWORD

Base : Décimal

Données de valeur : à définir, inscrire par exemple 524288000 pour obtenir 500 Mo
Note : pour référence, nous incluons ci-dessous d’autres journaux à considérer :

AppLocker
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-AppLocker/EXE and DLL
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-AppLocker/MSI and Script
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-AppLocker/Packaged app-Deployment
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-AppLocker/Packaged app-Execution

Sysmon
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Sysmon/Operational
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 26 / 50
Handbook – Amélioration des capacités de détection version 1
3.3 JOURNALISATION POWERSHELL
PowerShell (aussi appelé Windows Management Framework ou WMF) permet d’interagir en profondeur avec un
environnement Windows, et offre des capacités telles que des outils d’attaque entiers sont développés dans ce
langage4. Les dernières versions du framework fournissent des capacités de journalisation intéressantes pour des
problématiques de réponse à incident.
Pour profiter de ces capacités, il faut donc d’abord déployer la dernière version de l’outil (à date : 5.1) :
 Page d’accueil du projet : https://msdn.microsoft.com/en-us/powershell/mt173057.aspx
 Page de téléchargement : https://www.microsoft.com/en-us/download/details.aspx?id=54616
En fonction des versions de Windows déployées sur vos contrôleurs de domaine, il est possible que les modèles
d’administration de Windows Server 2016 soient nécessaires pour accéder à l’ensemble des options proposées par les
stratégies de groupe :


Page de téléchargement : https://www.microsoft.com/fr-FR/download/details.aspx?id=53430
Fichiers concernés : PowerShellExecutionPolicy.admx et .adml associés
Une des options de journalisation PowerShell offertes par les stratégies de groupe est de retranscrire les commandes
et leurs sorties dans des fichiers textes. Par défaut, ces retranscriptions se font dans le dossier de profil de l’utilisateur.
Il est possible – et nous recommandons fortement cette approche – de spécifier un emplacement réseau où ces fichiers
seront déposés. Nous recommandons donc de prévoir un dossier sur un serveur de fichiers qui sera accessible aux
utilisateurs du domaine en écriture seule. Les journaux sont naturellement stockés de manière ordonnée : un dossier
est créé par jour, et chaque fichier de journal comprend le nom de la machine source des journaux.
Il faut donc prévoir pour ce cas d’usage :

Une politique de filtrage autorisant les flux réseau des postes de travail vers le serveur de fichiers (TCP/445)

Un dossier qui sera dédié au stockage des journaux PowerShell

Des permissions restrictives sur ce dossier, afin de ne pas exposer les journaux aux accès non autorisés. La
démarche peut être effectuée par l’intermédiaire des options de sécurité (clic droit sur le dossier > Propriétés
> onglet Sécurité > Avancé > Modifier les autorisations) :
o
Désactiver l’héritage des permissions et choisir de supprimer les permissions héritées
o
Pour les groupes concernés par la journalisation (ex. « Utilisateurs authentifiés »), définir
« Autoriser » sur les permissions suivantes :
o
 Parcours du dossier / exécuter le fichier
 Création de fichier / écriture de données
 Création de dossier / ajout de données
 Attributs d’écriture
 Écriture d’attributs étendus
Pour l’utilisateur spécial « CREATEUR PROPRIETAIRE », définir « Refuser » sur « Contrôle total »
4
Exemple : PowerSploit, un framework comprenant des modules de reconnaissance, d’élévation de privilèges, de
récupération d’identifiants, de persistance, et encore d’autres : https://github.com/PowerShellMafia/PowerSploit
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 27 / 50
Handbook – Amélioration des capacités de détection version 1

Si le dossier n’est pas déjà situé dans une arborescence partagée sur le réseau, définir un partage et définir les
droits d’accès suivants (clic droit sur le dossier > Propriétés > Partage > Partage avancé > Partager ce dossier
> Autorisations) : pour « Tout le monde », appliquer l’autorisation « Modifier » (les permissions sur le dossier
sont prioritaires sur les permissions « réseau »).
Nous fournissons également dans le dossier annexe powershell un script PrepareTranscriptFolder.ps1 à exécuter
sur le serveur de fichiers destiné à accueillir les journaux, qui crée un dossier et lui associe automatiquement un modèle
de permissions similaire à celui décrit ci-dessus.
Une fois les ces éléments préparés, l’ensemble des paramètres de journalisation se configure via des stratégies de
groupe. Depuis l’éditeur de stratégies de groupe, suivre l’arborescence suivante : Ordinateur > Stratégies > Modèles
d’administration > Composants Windows > Windows PowerShell
Paramétrer les éléments suivants :
Activer l’enregistrement des modules

Activé

Afficher « noms des modules » ; paramétrer en valeur : *
Activer la journalisation de blocs de scripts PowerShell

Activé

Décocher la case « Consigner les événements… »
Activer la transcription PowerShell

Activé

Cocher la case « Inclure les en-têtes de l’appel »

« Répertoire de sortie… » : chemin réseau vers le partage décrit plus haut, format type :
\\server.domain.tld\shared-folder\
3.4 SYSMON
Sysmon est un outil de la suite SysInternals, permettant de journaliser des événements système (notamment
l’exécution de programmes) de manière beaucoup plus fine et flexible que les stratégies d’audit standard. L’utilitaire
présente les points forts suivants :

Composants standalone : un exécutable et un fichier de configuration, sans dépendances externes

Impact négligeable sur les performances des systèmes

Configuration sous forme de fichier XML éditable « à la volée »

Déploiement et maintenance intégralement opérables par stratégies de groupe
Pour déployer Sysmon, nous proposons la procédure suivante :

Afin de rendre l’utilitaire accessible aux terminaux, créer un dossier « sysmon » dans un emplacement réseau
accessible à tous les postes du domaine (ex. le partage \\domain.tld\ ou \\domain.tld\SYSVOL\domain.tld)
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 28 / 50
Handbook – Amélioration des capacités de détection version 1

Copier le contenu de l'archive sysmon-setup.zip jointe en annexe dans ce dossier

Télécharger et copier l’exécutable Sysmon dans ce dossier5

Vérifier les permissions sur les fichiers : pas d'accès en modification pour les utilisateurs du domaine

Créer un objet stratégie de groupe
o
Arborescence Ordinateur > Stratégies > Paramètres Windows > Scripts (démarrage/arrêt)
o
Double-cliquer sur démarrage, puis Ajouter… et insérer le chemin vers le fichier sysmon-setup.bat
(ex. \\domain.tld\sysmon\sysmon-setup.bat)

Appliquer la stratégie aux UO souhaitées
Le script « sysmon-setup.bat » sera exécuté à chaque démarrage de poste et aura pour effet d’installer Sysmon s’il est
absent du système ou de mettre à jour son exécutable et son fichier de configuration. Il est également possible de
définir une tâche planifiée exécutant le script à intervalles réguliers pour éliminer la nécessité de redémarrer le poste
pour qu’il se mette à jour.
Note : nous décrivons ici une méthode générique, qui peut être adaptée en fonction de vos préférences (ex.
déploiement par GPO en transformant l’exécutable en .msi). À noter qu’afin de conserver un déploiement homogène,
la procédure devra au minimum prévoir les cas suivants : mise à jour du binaire Sysmon, mise à jour du fichier de
configuration.
3.5 APPLOCKER
AppLocker est un composant intégré à Windows permettant de restreindre l’exécution des programmes sur un système
à une liste blanche d’éléments de confiance. Afin d’établir des règles pertinentes sans perturber le bon fonctionnement
du S.I., les stratégies peuvent être appliquées en mode audit, où les instances d’applications qui auraient été bloquées
sont simplement consignées dans un journal.
La fonctionnalité n’est disponible que sur les éditions Enterprise de Windows, et requiert au minimum Windows 7 ou
Windows Server 2008R2.
La configuration d’AppLocker se fait intégralement par l’intermédiaire de stratégies de groupe. Dans un premier temps,
il faut activer le service associé à la fonctionnalité. Depuis l’éditeur de stratégies de groupe, suivre l’arborescence
suivante : Ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Services système

5
Éditer le service Identité de l’application, paramétrer Automatique
Page de téléchargement de Sysmon : https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 29 / 50
Handbook – Amélioration des capacités de détection version 1
Pour configurer les stratégies, suivre l’arborescence suivante : Ordinateur > Stratégies > Paramètres Windows >
Paramètres de sécurité > Stratégies de contrôle de l’application > AppLocker. Ce panneau comporte les différents
composants pouvant être contrôlés :

Application : applications universelles (anciennement appelées « Metro ») introduites par Windows 8 (.appx)

Exécutable : fichiers exécutables (ex. .exe, .com)

Windows Installer : fichiers d’installation (ex. .msi)

Script : fichiers de script divers (ex. .bat, .ps1, .vbs, .js)
L’étape suivante consiste à activer le mode audit : Clic droit > Propriétés sur l’élément AppLocker du panneau latéral,
ou clic sur Configurer la mise en application des règles de la fenêtre principale. Dans la nouvelle fenêtre, cocher la
case Configuré et choisir l’option Auditer uniquement pour chaque catégorie disponible.
Enfin, il s’agit de créer les règles à proprement parler. Pour chacun des composants, effectuer un clic droit sur son
intitulé et sélectionner Créer des règles par défaut :
Pour affiner les règles, nous recommandons de créer des exceptions ciblées sur les éventuelles applications légitimes
en infraction des règles définies. Certains binaires légitimes se trouvent par exemple dans les dossiers « AppData » des
utilisateurs. Nous recommandons fortement de ne pas autoriser toutes les exécutions depuis cette arborescence, mais
de définir explicitement les applications autorisées. Par exemple, pour OneDrive :



Action : Autoriser (Tout le monde)
Chemin d’accès : %OSDRIVE%\users\*\appdata\local\microsoft\onedrive\onedrive.exe
Aucune exception
Les règles venant d’être définies autorisent de manière générale les éléments situés dans les répertoires « privilégiés »
de Windows (C:\Windows et C:\Program Files). Il s’agit d’un bon point de départ pour la mise en place d’une stratégie
AppLocker, qui pourra suivre les étapes suivantes :





Application de la stratégie en mode audit à un échantillon représentatif de systèmes ;
Collecte des informations pendant plusieurs jours ;
Analyse des journaux & affinage des règles ;
Répétition des étapes précédentes jusqu’à obtenir un taux satisfaisant de faux-positifs ;
Basculement des règles de Auditer uniquement vers Appliquer les règles.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 30 / 50
Handbook – Amélioration des capacités de détection version 1
3.6 CANAUX D’EVENEMENTS PERSONNALISES
Si les journaux additionnels fournis par la DLL incluse avec ce guide ne conviennent pas, il est tout à fait possible de
recompiler une nouvelle DLL présentant une autre convention de nommage. Afin de créer une DLL personnalisée, il
faut un fichier de manifeste (inclus dans le dossier annexe event-channels) et le SDK Windows. Nous recommandons
de l’installer sur une machine virtuelle jetable portant la même version de Windows que celle du collecteur. Pour
télécharger le SDK, suivre les liens ci-dessous en fonction de l’environnement utilisé :

Windows 7 / 2008 : https://www.microsoft.com/en-us/download/details.aspx?id=8279

Windows 8.1 / 2012 : https://developer.microsoft.com/fr-fr/windows/downloads/windows-8-1-sdk

Windows 10 / 2016 : https://developer.microsoft.com/fr-fr/windows/downloads/windows-10-sdk
Une fois le framework installé, nous recommandons d’utiliser l’invite de commandes Windows SDK (Windows SDK
Command Prompt) pour la suite des manipulations de cette section ; les chemins vers les différents exécutables sont
déjà enregistrés. En cas de problème, les exécutables se trouvent dans les dossiers ci-dessous :

MC.exe, RC.exe, ecmangen.exe : C:\Program Files\Microsoft SDKs\Windows\<version>\Bin\<architecture>\

csc.exe : C:\Windows\Microsoft.NET\<architecture>\<version>
Pour personnaliser la structure des journaux publiés par la DLL, lancer le générateur de manifeste (ecmangen.exe), et
ouvrir le fichier EventChannelsFWD.man :
Le nom du fournisseur (FWD) apparaît en haut de l’arborescence, il est possible de le modifier. Les quatre canaux
correspondent à ceux que nous avons prédéfinis ; ils peuvent être modifiés ou supprimés à loisir. Il est également
possible d’en ajouter, dans la limite de huit canaux par fournisseur.
Une fois le contenu prêt, exécuter les commandes suivantes :
MC.exe C:\<chemin_manifest>\EventChannelsFWD.man
MC.exe -css C:\<chemin_manifest>\EventChannelsFWD.DummyEvent C:\<chemin_manifest>\EventChannelsFWD.man
RC.exe C:\<chemin_manifest>\EventChannelsFWD.rc
csc.exe /win32res:C:\<chemin_manifest>\EventChannelsFWD.res /unsafe /target:library
/out:C:\<chemin_manifest>\EventChannelsFWD.dll C:\<chemin_manifest>\EventChannelsFWD.cs
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 31 / 50
Handbook – Amélioration des capacités de détection version 1
Après la compilation de la DLL, transférer les fichiers EventChannelsFWD.man et EventChannelsFWD.dll sur le
collecteur et les déposer dans le dossier \Windows\System32. Pour achever l’opération, ouvrir une invite de
commandes en mode Administrateur et exécuter la ligne suivante :
wevtutil im C:\Windows\System32\EventChannelsFWD.man
Si l’import s’est bien passé, la commande ne doit produire aucune sortie dans la console. Pour vérifier le bon
fonctionnement du mécanisme, se reporter à la section 2.3 Ajouter des canaux d’événements - page 14.
3.7 CATALOGUE D’ABONNEMENTS WEF
La section 2.2.3 Configurer les abonnements sur le collecteur (page 11) indique la méthodologie pour mettre en place
une stratégie de journaux par le système d’abonnements WEF. Ci-dessous, nous présentons des schémas XML
correspondant à de nouveaux abonnements pour étendre le périmètre des événements centralisés. Nous
recommandons d’associer à chaque abonnement une ou plusieurs catégories de terminaux cibles (postes de travail,
serveurs, etc.) afin de conserver une granularité dans les informations collectées.
Il est possible d’automatiser cette démarche. Ce point est traité plus loin, en section 3.7.5 Automatisation - page 35.
3.7.1 Journaux « Sécurité »
Authentifications réseau
Intérêt : Repérer la propagation latérale d’un attaquant
Périmètre d’application : Postes de travail
<QueryList>
<Query Id="0" Path="Security">
<!-- 4624: An account has logged on -->
<Select Path="Security">*[System[(EventID=4624)]]</Select>
<!-- Excludes logons that are not network-related -->
<!-- Excludes anonymous logons -->
<!-- Excludes "Local System", "NT Authority (local)", "NT Authority (network)" accounts ->
<Suppress Path="Security">
*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Level=4 or Level=0)
and (EventID=4624)]]
and
*[EventData[
(
(Data[@Name='LogonType']='0'
or
Data[@Name='LogonType']='2'
or
Data[@Name='LogonType']='4' or Data[@Name='LogonType']='5' or Data[@Name='LogonType']='7' or
Data[@Name='LogonType']='11' or Data[@Name='LogonType']='13')
or
Data[@Name='TargetUserName']='ANONYMOUS LOGON'
or
(Data[@Name='TargetUserSID']='S-1-5-18' or Data[@Name='TargetUserSID']='S-1-5-19' or
Data[@Name='TargetUserSID']='S-1-5-20')
)]]
</Suppress>
</Query>
</QueryList>
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 32 / 50
Handbook – Amélioration des capacités de détection version 1
Manipulation de comptes
Intérêt : Détecter certaines catégories d’élévation de privilèges
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Security">
<!-- 4720: User account was created -->
<!-- 4740: User account locked out -->
<!-- 4728: User account was added to security-enabled global group -->
<!-- 4732: User account was added to security-enabled local group -->
<!-- 4756: User account was added to security-enabled universal group -->
<Select Path="Security">*[System[(EventID=4720 or EventID=4740 or EventID=4728 or
EventID=4732 or EventID=4756)]]</Select>
</Query>
</QueryList>
Effacement des journaux
Intérêt : Détecter des tentatives de suppression des traces d’un attaquant
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
<!-- 110: Security event log cleared (XP/2003) -->
<!-- 1102: Security event log cleared (2008+) -->
*[System[Provider[@Name='Microsoft-Windows-EventLog'] and (EventID=110 or
EventID=1102)]]
</Select>
</Query>
</QueryList>
3.7.2 PowerShell
PowerShell – activité suspecte
Intérêt : Repérer l’utilisation de motifs considérés comme suspects par Windows
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Microsoft-Windows-PowerShell/Operational">
<Select Path="Microsoft-Windows-PowerShell/Operational">*[System[(Level=3)]]</Select>
</Query>
</QueryList>
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 33 / 50
Handbook – Amélioration des capacités de détection version 1
PowerShell – Script Blocks & Modules
Intérêt : Assurer la traçabilité des commandes PowerShell
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Microsoft-Windows-PowerShell/Operational">
<Select Path="Microsoft-Windows-PowerShell/Operational">*[System[(Level=4 or Level=0 or
Level=5) and (EventID=4103 or EventID=4104)]]</Select>
</Query>
</QueryList>
3.7.3 Sysmon
Sysmon – activité
Intérêt : Détecter les motifs définis dans la configuration Sysmon
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Microsoft-Windows-Sysmon/Operational">
<Select Path="Microsoft-Windows-Sysmon/Operational">*[System[((EventID >= 1 and
EventID <= 21))]]</Select>
<Suppress Path="Microsoft-Windows-Sysmon/Operational">*[System[(EventID=4 or EventID=16
or EventID=255)]]</Suppress>
</Query>
</QueryList>
Sysmon – maintenance
Intérêt : Superviser l’état du déploiement de Sysmon, repérer d’éventuelles tentatives d’altération du service
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Microsoft-Windows-Sysmon/Operational">
<Select Path="Microsoft-Windows-Sysmon/Operational">*[System[(EventID=4 or EventID=16 or
EventID=255)]]</Select>
</Query>
</QueryList>
3.7.4 AppLocker
AppLocker – Infractions aux règles
Intérêt : Identifier l’exécution d’applications en infraction de la stratégie
Périmètre d’application : Postes de travail, Serveurs
<QueryList>
<Query Id="0" Path="Microsoft-Windows-AppLocker/EXE and DLL">
<Select Path="Microsoft-Windows-AppLocker/EXE and
DLL">*[System[(EventID=8003)]]</Select>
<Select Path="Microsoft-Windows-AppLocker/MSI and
Script">*[System[(EventID=8003)]]</Select>
</Query>
</QueryList>
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 34 / 50
Handbook – Amélioration des capacités de détection version 1
3.7.5 Automatisation
L’ensemble des opérations manuelles décrites en section 2.2.3 Configurer les abonnements sur le collecteur (page 11)
peut être accéléré avec les ressources incluses dans le dossier annexe subscriptions. Il contient :

Un script setup-subscriptions.ps1 permettant l’ajout et l’activation automatique d’abonnements, qui
pourra être utilisé directement sur le collecteur ;

Des modèles reprenant les abonnements décrits dans ce chapitre avec des propriétés prédéfinies :
o
Nom d’abonnement : explicite et référence son journal de destination ;
o
Journal de destination : fournisseur personnalisé avec les valeurs prédéfinies détaillées en section 3.6
Canaux d’événements personnalisés - page 31.
o
Type d’abonnement : initialisé par l’ordinateur source ;
o
Ordinateurs sources : définis avec le script setup-subscriptions.ps1 (détaillé plus bas) ;
o
Événements à recueillir : définition XML comme présentée dans la section précédente ;
o
Organisation de la livraison : minimiser la latence.
Note : le script setup-subscriptions.ps1 nécessite le module Active Directory pour PowerShell, intégré dans les
fonctionnalités « outils d’administration de serveur distant ». Sur les versions « serveur » de Windows, il est
simplement nécessaire d’activer le module, mais il faut télécharger le composant au préalable pour les versions « poste
de travail » :

Windows 7 : https://www.microsoft.com/fr-FR/download/details.aspx?id=7887 (KB958830)

Windows 10 : https://www.microsoft.com/fr-FR/download/details.aspx?id=45520 (KB2693643)
Pour activer le module à proprement parler, ouvrir le composant « Ajouter des fonctionnalités » du Gestionnaire de
Serveur ou « Activer ou désactiver des fonctionnalités Windows » du panneau de configuration. Dans la liste proposée,
activer le module en suivant l’arborescence suivante : Outils d’administration de serveur distant > Outils
d’administration de rôles > Outils AD DS et AD LDS > Module Active Directory pour Windows PowerShell.
Pour activer les abonnements, copier le contenu du dossier subscriptions sur le collecteur, puis préparer un ou
plusieurs fichiers texte contenant la description des groupes d’ordinateurs sources souhaités : un par ligne, sans préfixe
de domaine, en respectant la langue originale de l’Active Directory. Pour l’exemple :
Ordinateurs du domaine
Contrôleurs de domaine
Une fois le fichier de groupes finalisé, ouvrir une invite de commandes PowerShell en mode Administrateur dans le
dossier du script setup-subscriptions.ps1 pour l’exploiter. Son mode d’utilisation le plus simple :
.\setup-subscriptions.ps1 -TargetGroupsFile <.\fichier_groupes.txt> -Import
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 35 / 50
Handbook – Amélioration des capacités de détection version 1
Le script va commencer par obtenir les SID des groupes décrits dans le fichier désigné par TargetGroupsFile, puis
charger les modèles d’abonnements (situés par défaut dans le sous-dossier subscription_templates), puis injecter
ces SID dans des fichiers d’abonnement complets, créés dans le sous-dossier subscription_files. L’argument
Import entraîne l’activation dans la foulée de ces nouveaux abonnements.
Seul l’argument Import nécessite les privilèges d’Administrateur. Il est tout à fait possible de préparer les fichiers à
part, puis d’activer les abonnements créés dans le dossier subscription_files ultérieurement, par exemple via la
commande PowerShell suivante :
Get-ChildItem -Filter "*.xml" | %{ wecutil cs $_.FullName }
Il est par ailleurs possible de préparer plusieurs fichiers de groupes cibles et de répartir les modèles d’abonnement
dans plusieurs dossiers sources pour définir des périmètres d’abonnements plus granulaires. Exemple d’utilisation :
>
>
>
>
.\setup-subscriptions.ps1 -TargetGroupsFile .\all_computers.txt -TemplatesFilesPath .\subs_all
.\setup-subscriptions.ps1 -TargetGroupsFile .\sub_group_1.txt -TemplatesFilesPath .\subs_custom_1
.\setup-subscriptions.ps1 -TargetGroupsFile .\sub_group_2.txt -TemplatesFilesPath .\subs_custom_2
Get-ChildItem .\subscription_files -Filter "*.xml" | %{ wecutil cs $_.FullName }
Un dossier complémentaire de modèles d’abonnements subscription_templates-2_month_history est inclus en
annexe. Il limite la récupération des événements aux deux derniers mois, permettant de ne pas saturer le collecteur
lors du déploiement des abonnements sur des systèmes existants.
La limite des deux mois est fixée par la condition « TimeCreated » et une valeur en secondes ; qui peut être modulée
en fonction des besoins :
(TimeCreated[timediff(@SystemTime) <= 5256000000])
3.7.6 Aller plus loin
Les abonnements décrits dans ce document sont prévus pour se concentrer sur un nombre restreint de motifs de
malveillance. Comme indiqué en introduction, le système a pour vocation d’être entretenu et développé. Des
ressources présentant des abonnements WEF étendus sont par exemple inclus en section 4.4 Remerciements et
Bibliographie - page 48.
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 36 / 50
Handbook – Amélioration des capacités de détection version 1
4 ANNEXES
4.1 RESSOURCES ET FICHIERS
L’ensemble des données annexes référencées dans ce guide est accessible en ligne à l’adresse suivante :

https://github.com/Intrinsec/WEF-handbook-appendix
4.2 REFERENCE DES PARAMETRES DE STRATEGIES DE GROUPE
4.2.1 Français

Configurer WEF sur les terminaux
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 37 / 50
Handbook – Amélioration des capacités de détection version 1

Stratégie d’audit
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 38 / 50
Handbook – Amélioration des capacités de détection version 1

Paramétrage des journaux opérationnels
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 39 / 50
Handbook – Amélioration des capacités de détection version 1

Journalisation PowerShell
4.2.2 Anglais

Paramètres d’audit
System audit policy
Category/Subcategory
System
Security System Extension
System Integrity
IPsec Driver
Other System Events
Security State Change
Logon/Logoff
Logon
Logoff
Account Lockout
IPsec Main Mode
IPsec Quick Mode
IPsec Extended Mode
Special Logon
Other Logon/Logoff Events
Network Policy Server
Object Access
File System
Registry
Kernel Object
SAM
Certification Services
Application Generated
Handle Manipulation
File Share
Filtering Platform Packet Drop
Setting
Success
Success and Failure
No Auditing
Success and Failure
Success
Success and Failure
Success
Success and Failure
No Auditing
No Auditing
No Auditing
Success and Failure
Success and Failure
Success and Failure
No Auditing
No Auditing
No Auditing
No Auditing
No Auditing
No Auditing
No Auditing
No Auditing
No Auditing
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 40 / 50
Handbook – Amélioration des capacités de détection version 1
System audit policy
Category/Subcategory
Filtering Platform Connection
Other Object Access Events
Detailed File Share
Privilege Use
Sensitive Privilege Use
Non Sensitive Privilege Use
Other Privilege Use Events
Detailed Tracking
Process Termination
DPAPI Activity
RPC Events
Process Creation
Policy Change
Audit Policy Change
Authentication Policy Change
Authorization Policy Change
MPSSVC Rule-Level Policy Change
Filtering Platform Policy Change
Other Policy Change Events
Account Management
User Account Management
Computer Account Management
Security Group Management
Distribution Group Management
Application Group Management
Other Account Management Events
DS Access
Directory Service Changes
Directory Service Replication
Detailed Directory Service Replication
Directory Service Access
Account Logon
Kerberos Service Ticket Operations
Other Account Logon Events
Kerberos Authentication Service
Credential Validation

Setting
No Auditing
Success and Failure
No Auditing
No Auditing
No Auditing
No Auditing
No Auditing
Success and Failure
Success and Failure
No Auditing
Success and Failure
Success and Failure
Success and Failure
Success and Failure
Success and Failure
No Auditing
Success and Failure
Success and Failure
Success and Failure
Success and Failure
Success and Failure
Success and Failure
No Auditing
Success and Failure
No Auditing
Success and Failure
Success and Failure
Success and Failure
Success and Failure
Success and Failure
Groupes et utilisateurs
o
Lecteurs des journaux d’événements : Event Log Readers
o
Service réseau : Network Service
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 41 / 50
Handbook – Amélioration des capacités de détection version 1

Composants PowerShell
o
Outils d’administration du serveur distant : Remote Server Administration Tools (RSAT)
o
Activer ou désactiver des fonctionnalités Windows : Turn Windows features on or off
o
Chemin pour le module PowerShell : Remote Server Administration Tools > Role Administration Tools
> AD DS and AD LDS Tools > Active Directory Module for Windows PowerShell

Configurer WEF sur les terminaux
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 42 / 50
Handbook – Amélioration des capacités de détection version 1

Stratégie d’audit
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 43 / 50
Handbook – Amélioration des capacités de détection version 1
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 44 / 50
Handbook – Amélioration des capacités de détection version 1

Paramétrage des journaux opérationnels

Journalisation PowerShell
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 45 / 50
Handbook – Amélioration des capacités de détection version 1
4.3 DEPANNAGE
4.3.1 Codes d’événements et situations fréquentes
Sur le collecteur, dans le journal « Evénements transférés » :

ID 111 : l’ordinateur source s’est correctement enregistré auprès du collecteur.
Sur les terminaux, dans l’arborescence Journaux des applications […] > Microsoft > Windows >
EventLog-
ForwardingPlugin :

ID 102, code d’erreur 5004 : le journal concerné par l’abonnement ne peut pas être lu ; la cause probable est
le manque de permissions du compte « Service Réseau » (voir sections 2.2.2 Configurer WEF sur les terminaux
via stratégies de groupe - page 10 et 4.3.3 Permissions sur les journaux – descripteurs de sécurité - page 46.

ID 105, message « Accès refusé » : peut se produire lors de l’utilisation de sources hors-domaine ou lorsque le
collecteur s’appuie sur Windows 7/2008. Un correctif Microsoft est disponible6.
4.3.2 Structures XML et limites des abonnements WEF
Le système d’abonnement WEF utilise XPath 1.0 pour interpréter les données XML. Cette version du langage est limitée
à 15 opérateurs « OR » au sein d’une même paire de balises. Cette limite se contourne en répartissant la requête dans
plusieurs balises <query>.
4.3.3 Permissions sur les journaux – descripteurs de sécurité
La section 2.2.2 Configurer WEF sur les terminaux via stratégies de groupe (page 10) indique comment paramétrer
l’export des journaux en ajoutant le compte « Service Réseau » au groupe « Lecteurs des journaux d’événements ».
Dans certaines conditions, ce mode peut occasionner des dysfonctionnements sans raison apparente. Il est alors
possible de configurer les permissions de manière plus fine, comme indiqué ci-dessous.
Tous les journaux Windows sont associés à un descripteur de sécurité représentant les groupes et leurs permissions
sur ce journal. Ce descripteur de sécurité peut être obtenu depuis un terminal quelconque joint au domaine. Il suffit
d’exécuter la commande suivante depuis une invite de commandes ouverte en mode Administrateur :
wevtutil gl <journal>
Exemple pour le journal « Sécurité » : wevtutil gl security
La sortie de la commande doit comporter une ligne intitulée « channelAccess », suivie d’une chaîne de caractères
commençant par « O:BAG:SYD:». La chaîne doit contenir la valeur (A;;0x1;;;NS), qui correspond aux permissions
suivantes :

6
Type d’accès : « A » correspond à « ACCESS_ALLOWED » ;
Article Microsoft détaillant les symptômes et le correctif :
EN : https://support.microsoft.com/en-us/help/2884172/fix-access-is-denied-error-occurs-on-some-source-initiated-subscriptio
FR : https://support.microsoft.com/fr-fr/help/2884172/fix-access-is-denied-error-occurs-on-some-source-initiated-subscriptio
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 46 / 50
Handbook – Amélioration des capacités de détection version 1

Permissions : « 0x1 » correspond à « GENERIC_ALL » ;

Compte concerné : « NS » correspond à « Network Service ».
Si ce n’est pas le cas, il est possible de configurer manuellement le descripteur de sécurité par stratégie de groupe. Par
exemple, pour le journal « Sécurité », créer un objet Stratégie de groupe avec les paramètres suivants :

Arborescence : Ordinateur > Stratégies > Modèles d'administration > Composants Windows > Service
Journal des événements > Sécurité

Activer le paramètre « Configurer l’accès au journal »

Dans le champ « Accès au journal », inscrire la chaîne de caractères correspondant au descripteur de sécurité
du journal, et y concaténer la valeur (A;;0x1;;;NS). Par exemple, pour un journal « Sécurité » :
O:BAG:SYD:(A;;0xf0005;;;SY)<...valeurs intermédiaires...>(A;;0x1;;;NS)
Pour les journaux « opérationnels », ce paramètre ne peut pas être modifié par la méthode décrite ci-dessus. Il est
nécessaire d’effectuer des manipulations au niveau du registre, qui peuvent toujours être appliquées par stratégie de
groupe. Dans un premier temps, il s’agit de vérifier si le journal en question nécessite une autorisation particulière. Les
journaux suivants nécessitent un traitement ; nous recommandons de vérifier manuellement en cas d’ajout d’autres
sources de données :

Sysmon (journal Microsoft-Windows-Sysmon/Operational)
La procédure suivante prend pour exemple Sysmon. Depuis une invite de commandes privilégiée exécutée sur un hôte
du domaine, exécuter les commandes suivantes :

Si nécessaire, pour identifier le journal souhaité : wevtutil el | findstr /I sysmon

Obtenir les propriétés du journal souhaité : wevtutil gl Microsoft-Windows-Sysmon/Operational

Noter la valeur de la ligne « channelAccess » (chaîne de caractères O:BAG:SYD:<…>)

Ajouter à cette chaîne le suffixe suivant : (A;;0x1;;;NS)

Conserver cette nouvelle chaîne pour utilisation ultérieure
Depuis l’éditeur de stratégies de groupe, suivre l’arborescence suivante : Ordinateur > Préférences > Paramètres
Windows > Registre, puis dans le panneau : Clic droit > Nouveau > Élément Registre
Paramétrer les éléments suivants :



Action : Mettre à jour
Ruche : HKEY_LOCAL_MACHINE
Chemin d’accès de la clé : dépendant du journal souhaité. Exemple ci-dessous pour Sysmon :
SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Sysmon/Operational



Nom de valeur : ChannelAccess
Type de valeur : REG_SZ
Données de valeur : chaîne de l’étape précédente :
O:BAG:SYD:<...valeurs intermédiaires...>(A;;0x1;;;NS)
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 47 / 50
Handbook – Amélioration des capacités de détection version 1
4.4 REMERCIEMENTS ET BIBLIOGRAPHIE
Merci à Emmanuel Mocquet, Arthur Chagnier, Thomas Millochau, Aurélien Marteau et Quentin Lemaire pour leur aide
et leurs contributions.
Un grand merci aux autrices et auteurs des articles référencés ici pour le partage et la diffusion de leurs connaissances.
Microsoft. Windows Event Forwarding. 2016.

https://aka.ms/WEF - page d’agrégation de ressources ; référence plusieurs des articles présentés ci-dessous.
Jessica Payne. Monitoring what matters – Windows Event Forwarding for everyone (even if you already have a SIEM.).
2015.

https://blogs.technet.microsoft.com/jepayne/2015/11/23/monitoring-what-matters-windows-event-forwarding-for-everyone-even-if-you-already-have-a-siem/
Ted Hardy, Brian Lich. Use Windows Event Forwarding to help with intrusion detection. 2017.

https://docs.microsoft.com/en-us/windows/threat-protection/use-windows-event-forwarding-to-assist-in-instrusion-detection
Chris L., Dane S., Joshua B. Windows Event Forwarding for Network Defense. 2017.

https://medium.com/@palantir/windows-event-forwarding-for-network-defense-cb208d5ff86f

https://github.com/palantir/windows-event-forwarding
Russel Tomkins. Creating Custom Windows Event Forwarding Logs. 2016.

https://blogs.technet.microsoft.com/russellt/2016/05/18/creating-custom-windows-event-forwarding-logs/
Russel Tomkins. Introducing Project Sauron – Centralised Storage of Windows Events – Domain Controller Edition. 2017.

https://blogs.technet.microsoft.com/russellt/2017/05/09/project-sauron-introduction/

https://github.com/russelltomkins/Project-Sauron
Andrei Miroshnikov. Windows 10 and Windows Server 2016 security auditing and monitoring reference. 2016.

https://www.microsoft.com/en-us/download/details.aspx?id=52630
ANSSI. Recommandations de sécurité relatives à Active Directory. 2014.

https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-active-directory/
Malware Archaeology. Windows Logging Cheat Sheet. 2016.

https://www.malwarearchaeology.com/cheat-sheets/
Mark Russinovich. Tracking Hackers on Your Network with Sysinternals Sysmon. 2016.

https://www.rsaconference.com/writable/presentations/file_upload/hta-w05-tracking_hackers_on_your_network_with_sysinternals_sysmon.pdf
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 48 / 50
Handbook – Amélioration des capacités de détection version 1
@SwiftOnSecurity. sysmon-config | A Sysmon configuration file for everybody to fork. 2017.

https://github.com/SwiftOnSecurity/sysmon-config
@ionstorm. Advanced Threat detection Configurations for Graylog. 2017.

https://github.com/ion-storm/Graylog_Sysmon
Tom Ueltschi. Advanced Incident Detection and Threat Hunting using Sysmon (and Splunk). 2016.

https://www.botconf.eu/wp-content/uploads/2016/11/PR12-Sysmon-UELTSCHI.pdf
Alec Randazzo, Thomas Aneiro, James Espinosa. Splunkmon — Taking Sysmon to the Next Level. 2016.

http://www.crypsisgroup.com/images/site/CG_WhitePaper_Splunkmon_1216.pdf

https://github.com/crypsisgroup/Splunkmon/blob/master/sysmon.cfg
Lee Holmes. Advances in Scripting Security and Protection in Windows 10. 2015.

https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.
WeblogFiles/00/00/00/63/74/5483.Scripting%20Security%20and%20Protection%20Advances%20in%20Windows%2010.docx

Version en ligne : PowerShell♥ the Blue Team. 2015.
https://blogs.msdn.microsoft.com/powershell/2015/06/09/powershell-the-blue-team/
MITRE. Adversarial Tactics, Techniques & Common Knowledge. 2015.

https://attack.mitre.org
David J. Bianco. Threat Hunting Project. 2016.

http://www.threathunting.net/

https://github.com/ThreatHuntingProject/ThreatHunting/tree/master/hunts
JPCERT/CC. Detecting Lateral Movement through Tracking Event Logs. 2017.

Version 1 : https://www.jpcert.or.jp/english/pub/sr/20170612ac-ir_research_en.pdf

Version 2 : https://jpcertcc.github.io/ToolAnalysisResultSheet/
Jonathon Poling. Windows RDP-Related Event Logs: Identification, Tracking, and Investigation. 2018.

https://ponderthebits.com/2018/02/windows-rdp-related-event-logs-identification-tracking-and-investigation/
Intrinsec Sécurité – Licence : CC-BY-SA-NC
Page 49 / 50
Handbook – Amélioration des capacités de détection version 1
5 À PROPOS D’INTRINSEC
Intrinsec est une société spécialisée en cybersécurité, appartenant au groupe Neurones, et proposant des services
d’accompagnement et d’expertise autour de tous les enjeux de cybersécurité : protection du patrimoine
informationnel et de l’image de marque, continuité d’activité, lutte contre la cybercriminalité et cyberdéfense.
Labélisée par l’ANSSI pour ses activités d’audit, Intrinsec est un acteur de confiance appuyant son positionnement sur
l’expertise et le développement d’une relation partenariale avec ses clients. Quatre pôles d’activités sont développés
au sein de la structure :

Évaluation de la sécurité (test d’intrusion & audit de sécurité)

Maîtrise des risques numériques (accompagnement RSSI, management SSI & sensibilisation)

Services managés (services de détection des incidents, réponse aux incidents, cyber threat intelligence)

Innovation
contact@intrinsec.com
01 41 91 77 77
https://www.intrinsec.com
Intrinsec Sécurité – Licence : CC-BY-SA-NC
@Intrinsec
Page 50 / 50
Download