Sherlocks Unit42 : Décryptage Cyberattaque WindowsSysmon.
Présentation
Dans cet article, nous allons résoudre l’un des challenges d’investigation numérique/forensic nommés Sherlocks et mis à disposition par la plateforme Hack The Box. Le Sherlocks Unit42 est un challenge très simple fait pour les débutants en cybersécurité et qui vise à démystifier le forensic au travers un cas d’usage assez simple, mais tout de même réaliste.
Cet article sera notamment l’occasion de comprendre comment peut se dérouler concrètement une cyberattaque et une investigation numérique, et quels sont les modes opératoires des attaquants et analystes en cybersécurité. Nous allons plus précisément étudier des journaux d’évènement Windows (.evtx) contenant les traces d’une cyberattaque.
Découverte de l’archive et des journaux
Dans le cadre de l’investigation, un contexte et une archive sont mis à disposition :
Scénario du Sherlocks Unit42.
Nous obtenons ici des premières informations concernant la cyberattaque sur laquelle nous devons mener notre investigation. Il s’agit d’une campagne d’attaque ciblée autour du service UltraVNC (service d’accès à distance), une version “backdoorée” de ce service aurait été utilisée par les attaquants afin de maintenir un accès à l’un de nos systèmes.
Investigation numérique : le cas Unit42
Repérer un eventID dans les logs
Énoncé – Task 1 : How many Event logs are there with Event ID 11?
Nous disposons ici d’un fichier “.evtx”, format de fichier des journaux Windows difficilement lisible depuis Linux. Heureusement, nous sommes armés de Zircolite qui permet de parser des fichiers “.evtx” et d’y appliquer des règles Yara.
Cette première étape nous demande combien d’eventID 11 sont présents dans le journal à étudier. J’ai ici choisi de créer une règle Yara filtrant les eventID 11 :
title: EventID 11
id: 558eebe5-f2ba-4104-b339-36f7902bcc1a
…etc.
J’utilise ensuite Zircolite pour appliquer cette règle sur le fichier de log “.evtx” fourni.
Identifier un processus malveillant
Énoncé – Task 2 : Whenever a process is created in memory, an event with Event ID 1 is recorded with details such as command line, hashes, process path, parent process path, etc. This information is very useful for an analyst because it allows us to see all programs executed on a system, which means we can spot any malicious processes being executed. What is the malicious process that infected the victim’s system?
…etc.
Pour aller plus loin : la timeline Zircolite
Nous avons notamment un peu détourné l’usage classique de Zircolite en l’utilisant comme simple outil de conversion “.evtx” vers “.json”. Comme mentionné au début de l’article, il existe plusieurs solutions à ce challenge. Nous aurions pu, par exemple, utiliser uniquement l’Observateur d’évènements Windows pour investiguer sur le fichier “.evtx”, utiliser Zircolite sous Windows en complément, écrire des règles Yara pour chacune de notre recherche plutôt que des filtres “jq”, ou enfin envoyer tous nos logs sur un ELK pour réaliser nos recherches avec des requêtes KQL, bref :).
Pour aller au-delà des questions de l’exercice, nous pouvons aussi utiliser Zircolite et effectuer une investigation rapide afin de comprendre le déroulement exacte de la cyberattaque. Nous allons pour cela nous baser sur les jeux de règles par défaut de Zircolite concernant les évènements Sysmon et l’option “–package” de l’outil qui permet d’avoir une vue graphique, utile pour une analyse rapide :
…etc.
J’espère que cet article vous a plu ! Au-delà de la résolution du challenge. N’hésitez pas à utiliser les commentaires et le Discord pour partager votre avis ! 🙂
Enfin, si vous voulez accéder à des cours et des modules dédiés aux techniques offensives ou défensives et améliorer vos compétences en cybersécurité, je vous oriente vers Hack The Box Academy, utilisez ce lien d’inscription (je gagnerai quelques points 🙂) : Tester Hack the Box Academy
Source : www.it-connect.fr