• 8 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 14/08/2024

Identifiez des scénarios d’attaque

Dans le chapitre précédent, nous avons vu comment utiliser la matrice ATT&CK. Pour définir et mettre en place des scénarios d'attaque pratiques, nous allons ici simuler certaines attaques.

Dans le but de simuler certaines attaques, nous allons utiliser le framework Atomic Red Team qui permet d'exécuter des commandes connues pour étudier le comportement des solutions de sécurité.

Simulez une attaque sur Windows

Dans ce premier exemple, nous allons simuler plusieurs techniques sur un système Windows, et mettre en place les règles de détection.

Une tactique couramment utilisée lors d'une attaque est le téléchargement de fichiers supplémentaires avec des outils légitimes du système. En l'occurrence, l'outil Windows Defender MpCmdRun.exe peut être utilisé pour ce besoin. On appelle également ce type de programmes des LOLbins.

Qu'est ce qu'un LOLbin ?

LOLbin (Living Off the Land Binaries) est un terme utilisé pour définir l'utilisation d'outils légitimes et natifs sur Windows. Alors que ces outils sont signés par Microsoft, ils peuvent être utilisés pour effectuer des actions malveillantes sur un système. Vous pouvez trouver une liste sur le projet LOLBAS.

L'utilisation de MpCmdRun.exe peut également être détournée pour désactiver l'antivirus sur la machine cible. Cette technique est référencée dans la matrice avec l'id TA0011.

Un utilisateur gère des alertes SIEM sur son ordinateur
Mettons notre SIEM à l'épreuve - c'est parti !

Commençons par l’installation du framework Atomic Red Team. Nous allons ici utiliser le module PowerShell, qui nous permettra d'effectuer les différents tests.

Les instructions d'installation sont disponibles sur le Wiki d’Atomic Red Team.

Avec ce framework, nous pouvons à présent facilement mettre en place des tests pour vérifier notre système de détection.

Pour notre exemple, nous allons mettre en place un test de téléchargement de fichier. Vous pouvez également retrouver plus d'informations sur cette technique avec :

Avant de lancer notre test, nous allons donc activer la règle "Remote File Download via MpCmdRun", nécessaire à la détection dans votre SIEM.

Activez la règle sur la page “Detections” dans ELK SIEM
Activez la règle sur la page “Detections” dans ELK SIEM

Une fois la règle activée, il est possible d'effectuer notre test avec la commande suivante dans un cmd en administrateur :

cd "%ProgramData%\Microsoft\Windows 
Defender\platform\4.18*"

.\MpCmdRun.exe -DownloadFile -url 
"https://raw.githubusercontent.com/redcanaryco/atomic-red-t
eam/master/LICENSE.txt"-path "%temp%\Atomic-license.txt"

Après avoir exécuté la commande, vous devriez voir l'alerte dans votre écran de contrôle au bout de quelques instants :

L’alerte déclenchée par MpCmdRun.exe s’affiche sur “Detection alerts”
L’alerte déclenchée par MpCmdRun.exe s’affiche sur “Detection alerts”

Il sera ensuite possible d'analyser avec plus de détails les commandes détectées. Dans l'écran ci-dessous, nous retrouvons la commande précédemment rentrée dans notre environnement de test. Plutôt utile pour investiguer un incident.

Plus d'informations sur la commande
Plus d'informations sur la commande

Simulez l’élévation de privilèges sur Windows

Une autre tactique couramment utilisée lors d'une attaque est l'élévation de privilèges pour pouvoir effectuer des mouvements latéraux. Pour observer l’obtention des droits administrateurs, l'outil Mimikatz est souvent utilisé. Il permet d'extraire les credentials de la machine compromise.

Pour effectuer ce test, nous allons récupérer la dernière version de Mimikatz disponible sur GitHub (votre navigateur vous préviendra que le site web contient des programmes dangereux, mais n'ayez pas peur - la règle que nous allons créer protègera votre SI).

Avant de lancer notre test, nous allons créer notre règle dans ELK. Sélectionnez “Custom query” et l’index pattern "winlogbeat*".

Sélectionnez “Custom query” pour créer une nouvelle règle
Sélectionnez “Custom query” pour créer une nouvelle règle

Vous pouvez ensuite ajouter la commande KQL suivante :

process.name:"mimikatz.exe"
Notre règle pour détecter Mimikatz
Notre règle pour détecter Mimikatz

Une fois votre règle créée et activée, nous pouvons à présent lancer notre test. Rentrez la commande suivante dans votre console :

mimikatz.exe
privilege::debug
log mimilsa.log
sekurlsa::logonpasswords
Mimikatz se lance
Mimikatz se lance

Une fois le logiciel activé, vous devriez voir apparaître l'alerte de détection de Mimikatz dans votre écran de contrôle.

Mimikatz a bien été détecté par notre SIEM
Mimikatz a bien été détecté par notre SIEM

Félicitations ! Votre règle marche contre l'utilisation de Mimikatz. Cette règle étant relativement basique, libre à vous de la tester sur votre environnement et de l'adapter. Dans une utilisation en production, il faudra bien entendu affiner cette règle.

Vous pouvez continuer à explorer et expérimenter les différentes règles de détection pour vérifier que vous identifiez les attaques les plus communes ou pertinentes pour votre SI.

Faites un test de détection sur Linux

Dans ce troisième exemple, nous allons voir comment effectuer des tests de détection sur notre serveur Linux.

Nous allons ici mettre en place une attaque SQL et faire remonter l'information à notre SIEM.

La première étape est d'ajouter les logs Apache. Pour notre test, nous allons utiliser l'application DVWA, installée dans le cours sur les tests d'intrusion d'OC. 

Sur votre serveur Linux, entrez les lignes suivantes :

sudo filebeat modules enable apache
sudo filebeat setup
sudo filebeat -e

Vérifiez que les données remontent bien dans la page "Add data" > "Apache log" :

Les données sont bien remontées
Les données sont bien remontées

Vous pourrez ensuite visualiser les logs remontés dans le dashboard Filebeat Apache.

Le dashboard Filebeat Apache vous montre les logs remontés
Le dashboard Filebeat Apache vous montre les logs remontés

Nous allons ici mettre en place un test de détection de l'outil sqlmap utilisé pour l'exploitation d'injection SQL.

La première chose à faire est de créer notre règle.

En ajoutant la ligne suivante :

user_agent.original:"sqlmap/1.3.11#stable (http://sqlmap.org)"
Notre règle pour détecter sqlmap
Notre règle pour détecter sqlmap

Nous effectuons ensuite un test basique sur notre serveur Apache à l'adresse utilisée pour l'injection SQL. Pensez à ajouter l'adresse IP de votre serveur et à modifier le cookie de session.

sqlmap --headers="User-Agent:sqlmap/1.3.11#stable 
(http://sqlmap.org)" -u 
"http://IP-Address/DVWA/vulnerabilities/sqli_blind/?id=1&Subm
it=Submit#" --cookie="PHPSESSID=uqd3mc1v74t3v8qci3lcamjnbv; 
security=low"

Une fois le test effectué, une nouvelle alerte liée à la détection du user agent sqlmap devrait apparaître dans votre écran de contrôle.

User agent sqlmap a bien été détecté
User agent sqlmap a bien été détecté

Vous pouvez également ajouter vos propres règles et en activer d'autres pour effectuer d'autres tests.

En résumé

Nous venons de voir comment mettre en place des scénarios d'attaque pour tester notre SIEM ainsi que notre monitoring de la sécurité. Mettre en place des situations réelles constitue un bon test pour éprouver votre sécurité.

Vous êtes presque à la fin de ce cours sur la cybersécurité – bravo ! Il ne vous reste que le dernier quiz sur cette partie.

Nous avons exploré l'utilisation de la suite Elastic avec les fonctionnalités de SIEM. D'autres fonctionnalités sont également disponibles, telles que l'utilisation du machine learning pour la détection dynamique de comportements malveillants, qui n'est toutefois pas disponible dans la version gratuite.

Pour approfondir votre utilisation, n'hésitez pas à expérimenter et tester dans votre environnement.

Exemple de certificat de réussite
Exemple de certificat de réussite