
Default Detections for EDR
Détections par défaut pour l'EDR
Les détections détaillées ci-dessous sont celles que je tente de mettre en place sur tout produit EDR que je déploie ou sur lequel je travaille. Prenez vos propres considérations en compte pour la criticité et les jeux de données.
Consultez cet article pour savoir comment procéder pour obtenir des détections https://www.goblinloot.net/2023/02/writing-detections-when-stuck-with-edr.html?m=1
Dressez la liste de tous les systèmes que vous utilisez sur les endpoints dans le cadre de votre programme de sécurité. Cela peut être la gestion des actifs, l'audit ou le contrôle d'accès, etc. Une fois votre liste établie, cherchez à comprendre comment ils interagissent avec vos endpoints et quels composants sont nécessaires, qu'il s'agisse de WMI, du client GPO ou des agents installés. Rédigez une détection qui surveille l'altération de ces composants, comme la désactivation de services ou la modification de clés de registre.
Les scripts s'exécutent parfois dans des répertoires temporaires à des fins légitimes, mais vous voulez créer une détection pour savoir quand cela se produit. Utilisez cette détection comme contexte pour d'autres. Les répertoires à surveiller sont :
%userprofile%\AppData\Local\Temp
%systemroot%\Temp
%systemroot%\Windows\Temp
%systemroot%\Documents and Settings%username%\Local Settings\Temp
%systemroot%\Documents and Settings\Default User\Local Settings\Temp
%systemroot%\Documents and Settings\All Users\Local Settings\Temp
Récupérez la liste depuis (https://github.com/eclypsium/Screwed-Drivers/blob/master/DRIVERS.md) et faites simplement une recherche de hash. Facile !
Ici, nous voulons détecter les fichiers natifs du système d'exploitation qui sont renommés pour échapper aux détections. Rédigez votre détection pour capturer les hashs des fichiers présents sur https://lolbas-project.github.io/ et identifier ceux qui ne correspondent pas aux noms appropriés.
Créez une détection qui identifie la désactivation des services 'Windows Defender Firewall Service' ou 'Base Filtering Engine'. En outre, cherchez à détecter toute ligne de commande tentant de définir des règles extrêmement permissives. Vous pouvez étendre cette détection pour repérer également les entrées de règles de pare-feu ajoutées rapidement.
Créez une détection qui identifie les données copiées ou déplacées depuis les répertoires suivants :
\Google\Chrome\User Data\Default\Login Data
\Opera Software\Opera Stable\Login Data
\Mozilla\Firefox\Profiles\
\Microsoft\Edge\User Data\
Surveillez les modifications de la clé de registre ci-dessous, car elles peuvent suggérer que l'UAC a été désactivé.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
Il existe de nombreuses façons d'exécuter des fichiers avec WMI et, d'après mon expérience, cela arrive rarement de manière légitime. Vous devez identifier l'utilisation de wmic, Invoke-WmiMethod ou Win32_Process, en particulier lorsqu'un répertoire est inclus dans le script ou que 'create' est utilisé.
La suppression des volumes fantômes est désormais une technique par défaut pour la plupart des variantes de ransomware, c'est donc un excellent moyen de déclencher des alertes. Voici des exemples de commandes :
vssadmin delete shadows /all /quiet
Get-WmiObject -Namespace root\cimv2 -Class Win32_ShadowCopy | Where-Object { $.VolumeName -eq "C:" } | ForEach-Object { $.Delete() }
wbadmin delete systemstatebackup -keepversions:0
Cherchez à détecter l'exécution de la commande ci-dessous, qui permet aux acteurs malveillants de désactiver facilement les outils de sécurité et de s'assurer que seuls leurs binaires s'exécutent :
bcdedit /set safeboot {"Minimal", "AlternateShell", "Network"}
Énumérez les outils RMM autorisés dans votre environnement et créez une détection pour signaler toute autre variation. J'en maintiens une liste ici : https://github.com/QueenSquishy/Zombie/blob/main/Lists/RMM%20Tools
Ici, vous voulez établir une liste de vos processus et de ce qu'ils invoquent, puis exclure ceux qui utilisent des interpréteurs de scripts comme powershell ou wscript dans votre jeu de données existant. Tout processus invoquant nouvellement des interpréteurs de scripts est signalé.
Par défaut, l'expérience utilisateur standard pour le téléchargement de fichiers est :
Lorsque vous êtes dans un navigateur, le dossier Downloads dans le répertoire de l'utilisateur qui exécute est présenté ou téléchargé automatiquement aussi
Lorsque vous utilisez des services ou applications liés à SMB, la racine du profil utilisateur est affichée
Avec ces facteurs courants, nous pouvons dire avec une certaine vraisemblance qu'un utilisateur ne téléchargerait pas de fichiers PE dans des répertoires tels que Pictures, Videos ou Public. Cependant, les adversaires ne fonctionnent pas dans ces conditions, nous pouvons donc écrire une détection qui capture le moment où un fichier PE est vu dans ces répertoires.