Investigation CSIRT
Pour installer un outil sur votre VM, utilisez cette commande.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/securitylab-repository/scripts/refs/heads/main/script_name)" -s arg1 arg2 ...
Exercice 1
Vous faites partie de l’équipe CSIRT de l’entreprise SecurityLab. Une alerte a été déclenchée par plusieurs EDRs, signalant une activité suspecte.
L’équipe SOC Niveau 1 (Tier 1) a identifié deux fichiers suspects :
- lab01-01.exe
- lab01-01.dll
Après vérification, il est confirmé qu’il ne s’agit pas d’un faux positif.
De plus, un premier indicateur de compromission (IoC) a été remonté suite à l’analyse des logs des IDS et SIEM.
Il s’agit de l’adresse IP : 127.26.152.13
lors d’une tentatives de connexions suspectes vers cette adresse IP.
- Décrire l’architecture classique d’un SOC et expliquer le rôle de chaque entité.
- Définir les responsabilités des différentes équipes SOC (Niveau - Tier 1, 2 et 3).
- Expliquer ce qu’est un
IoC
et la différence avec unartefact
. - Clarifier la distinction entre un faux positif et un faux négatif.
Mission des équipes SOC Niveau 2 et 3
En tant que membres des équipes SOC Niveau 2 et 3, vous êtes chargés de mener une analyse approfondie et avancée des fichiers détectés afin d’identifier la menace et d’évaluer son impact.
Votre rôle est d’évaluer l’ampleur de la compromission et de recommander des mesures de remédiation adaptées.
Actions à entreprendre :
Effectuer une analyse statique et dynamique des fichiers suspects pour identifier leur charge utile, leur signature et leur comportement en environnement contrôlé (sandboxing).
Collecter et enrichir les IoC et IoA en recherchant des éléments supplémentaires dans les `artefact`` (fichiers créés, clés de registre modifiées, processus anormaux, connexions suspectes, …) en analysant les fichiers suspects.
Corréler les IoA avec le framework MITRE ATT&CK pour cartographier l’attaque et en déduire les tactiques et techniques adverses.
Créer des règles YARA pour détecter d’éventuelles variantes du malware et améliorer la protection des systèmes.
Élaborer des règles Sigma pour renforcer la détection proactive via le SIEM et identifier des comportements suspects similaires à l’avenir.
Préparer un rapport d’incident détaillé incluant les conclusions de l’analyse, les IoC/IoA trouvés, le mapping MITRE ATT&CK et les recommandations d’atténuation. Voir des exemples Ici.
- Expliquer ce qu’est un
IoA
et la différence avec unIoC
. - Allez sur le site de MITRE ATT&CK et identifier son rôle dans la prévention des menaces cybersécurité.
Dans la VM Linux AVL
- Importez le LAB virtuel AVL-LAB.ova. Il est possible de lancer l’interface graphique avec
startx
- Pour configurer l’interface réseau (
sudo ifup enpXsX
) - Décompressez avec
unzip
le fichier~/malware_samples/fichiers_cours_malwares.zip
- Mettez à jour la VM :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/securitylab-repository/scripts/refs/heads/main/install_mfa)" -s user_name
Taches d’analyse communes aux deux fichiers (lab01-01.exe
et lab01-01.dll
)
- Générer leurs empreintes (le hash). Vous pouvez utiliser les commandes linux (
md5sum
etsha256sum
). - Calculer le leur fuzzy hash
- Quel est son intérêt ?
- Verifier si les deux fichiers sont “packed”. ::: {.callout-note} On peut déterminer si un fichier est “packed” manuellement en analysant le code du fichier PE ou en utilisant un outil automatique comme
PEiD
Dans le cas où le fichier est “packed”, Vous pouvez utiliserupx
pour décompressez le fichier:
$ upx -o packed.exe -d unpacked.exe
- Qu'en est il pour celui-là : `lab01-02.exe` ?
Tester les hashs dans
VirusTotal
ou un équivalent.A l’aide de la commande
radare2 -A fihier_à_analyser
, analysez les deux fichiers. (cf. https://rada.re/r/docs.html):- Quelle est la date/heure de compilation de chaque fichier ? Donnez votre conclusion (
iI | grep --color=auto compiled
) - Relevez les APIs utilisées (
ii
ou bienfs imports ; f
) - Quelle est la taille de chaque section sur disque et en mémoire, les noms des sections, leur nombre et leur contenu (
iS
). - le fichier est-il compressé “packed” ?
- Quelle est la date/heure de compilation de chaque fichier ? Donnez votre conclusion (
Analyse du fichier lab01-01.exe
- Identifiez les IoCs obtenues en analysant ces artefacts :
- les fonctions importées de la DLL
kernel32.dll
(ii~KERNEL32
) - les chaînes de caractères retrouvées par la commande
strings
ou la commandeizz
de radare2 ?
- les fonctions importées de la DLL
Analyse du fichier lab01-01.dll
- A l’aide de radare2, analysez le fichier
lab01-01.dll
en suivant les mêmes étapes et en utlisant les mêmes outils que précédement. - Identifiez les IoCs obtenues.
Ecrivez un rapport d’incident détaillé
- Déterminer les
IoA
après analyse des deux fichiers - Faites le mapping avec la base MITRE ATT&CK
- Constuire les nouvelles règles SIGMA (À intégrer dans le SIEM) et YARA (à intégrer dans l’IDS).
Exercice 2 (cf. Analyse Dynamique)
Créer un snapshot avant toute modification sur la VM windows. Même finalité que l’exercice 1, mais en réalisant également l’analyse dynamique.
Le fichier concerné par l’analyse est
Lab02-01.exe
Pour configurer l’interface réseau (
sudo ifup enpXsX
)Décompresser avec
unzip
le fichier~/malware_samples/fichiers_cours_malwares.zip
Mettez à jour la VM Linux AVL :
Lancer la VM XP à partir de ce snapshot
- Lancez
ProcessExplorer
- Lancez
Procmon
avec les filtres suivants :Process Name
Operation
RegSetValue
WriteFile
- Lancez
- Réaliser une première capture de la base de registre à l’aide de
Regshot
- Lancer dans la VM linux
INetSim
(C’est un simulateur de services) :
sudo systemctl stop systemd-resolved
sudo inetsim --data /home/debian/.inetsim_data/data/inetsim --conf /home/debian/.inetsim_data/inetsim.conf
- Vous pouvez également lancer
tcpdump -n -i interface_réseau
(ou installezwireshark
) pour capturer et analyser le trafic entre la VM XP et la VM linux - Lancer maintenant le programme à analyser dans la VM XP :
Analyser les caractéristiques du processus avec
ProcessExplorer
, notamment : - Les handles ouverts par le processus (View --> Lower Pane View --> Handles
) - Les DLLs qui sont chargées dynamiquement par le processus (View --> Lower Pane View --> DLLs
)
Analyser le résultat de Procmon - Y a-t-il des fichiers créés par le programme ? Relevez leurs noms et Comparez leurs caractéristiques avec ceux du programme analysé - Y a-t-il des clefs ou des valeurs de registre modifiées ? Si oui, dans quel but le programme fait-il cela ? Confirmez ces résultats avec
RegShot
Analyser le résultat des logs de
INetSim
ou les tramesWireshark
- Le programme a-t-il une activité réseau ? si oui, Laquelle ? - Récupérez les données envoyées ou reçues par la programme (Vous pouvez utiliserwireshark
si vous l’avez installé ounetcat
:sudo nc -l -p port_ecoute
)
Ecrivez un rapport d’incident détaillé
- Déterminer les
IoA
après analyse des deux fichiers - Faites le mapping avec la base MITRE ATT&CK
- Constuire les nouvelles règles SIGMA (À intégrer dans le SIEM) et YARA (à intégrer dans l’IDS).
Exerice 3
- Récupérer le fichier à analyser :
\bash{/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/securitylab-repository/scripts/refs/heads/main/install_projet_malware)" -s user_name}. \end{boxwithtitle}
Identifiez les
IoCs
obtenues. En plus de l’analyse statique, réalisez une analyse dynamique, en utilisant la sandbox cloudAny.Run
Préparer un rapport d’incident détaillé incluant les conclusions de l’analyse, les IoC/IoA trouvés, le mapping MITRE ATT&CK et les recommandations d’atténuation.
Faites le mapping avec la base MITRE ATT&CK
Constuire les nouvelles règles SIGMA (À intégrer dans le SIEM) et YARA (à intégrer dans l’IDS).