Les concepts fondamentaux de Microsoft Windows
Introduction
Ce chapitre est dédié aux concepts fondamentaux propres à Microsoft Windows 32 et 64 bits pour l’architecture x86. Ils sont nécessaires à la compréhension des études de cas qui seront détaillées dans le chapitre Microsoft Windows : études de cas. Les concepts présentés ne sont qu’une partie de l’étendue des connaissances existantes pour ce système, mais apportent, selon nous, les bases nécessaires pour utiliser au mieux les outils et exploiter correctement les résultats obtenus. Nous ferons également référence à de nombreux ouvrages pour compléter ou préciser certaines des notions abordées.
Concepts fondamentaux
Le site https://gs.statcounter.com/, au moment de l’écriture de cet ouvrage, estime la proportion de Windows 10 pour le marché des ordinateurs de bureau à 71,89 %, celle de Windows 11 à 13,07 % et enfin celle Windows 7 à 11,06 %. La domination de Windows 10 et la montée de Windows 11 indiquent clairement que les connaissances attendues par les analystes au travers d’une investigation numérique sont sur ces deux versions. Il est également vrai que de nombreux systèmes d’information continuent et vont continuer de s’appuyer sur des versions antérieures à celles citées, aussi nous invitons le lecteur à compléter ce qui sera abordé via une littérature existante plus que généreuse.
1. Les processus
Le fonctionnement des processus fait partie des notions fondamentales que l’analyste doit connaître. Lors de l’identification de binaires intéressants, les équipes d’investigation numérique peuvent réaliser une primo-analyse en s’appuyant sur des outils d’analyse statique et dynamique simples ainsi que sur des plates-formes antivirales. Lorsque le binaire est caractérisé comme malveillant, un environnement technique d’analyse et des compétences de rétro-ingénierie sont alors nécessaires. Dans bien des cas, cette charge incombe à d’autres acteurs. Nous allons volontairement pousser le contenu de ce chapitre à la croisée de ces chemins.
De nombreux termes et notions abordés dans cette section trouveront un complément d’information au sein de la sous-section La mémoire vive présente dans ce chapitre. Il est donc essentiel de considérer ces deux sections comme complémentaires.
Microsoft Windows utilise le format PE (Portable Executable) pour décrire la structure de ses exécutables (.EXE, .EFI, .SYS) et de ses bibliothèques (DLL) (https://learn.microsoft.com/fr-fr/windows/win32/debug/pe-format).
Cette spécification s’appuie sur la structure COFF (Common Object File Format) lors du processus de compilation.
Lorsqu’un programme est exécuté, il devient un processus avec les valeurs du compteur ordinal des registres et des variables. Il va alors se positionner...
Artefacts
Les artefacts correspondent aux traces inhérentes à l’activité d’un utilisateur sur un système. Ils sont les éléments clés d’une investigation numérique, car ils proposent une vision factuelle des événements.
1. Journaux d’événements
Les journaux d’événements (event logs ou logs) sont des éléments importants et ont souvent été mis de côté lors d’une investigation numérique. Ils sont générés nativement par le système d’exploitation et peuvent être complétés par des outils tiers, exemple avec Sysmon. Par simplicité, le terme « logs » sera utilisé pour la suite du présent ouvrage.
Deux formats sont à prendre en compte :
-
Windows XML EventLog (EVTX) : format utilisé par Microsoft Windows pour stocker des événements. Il s’agit d’un format XML binaire ; cela nécessite donc un outil spécifique pour les lire et les transformer en CSV ou bien JSON. Le format EVT, utilisé par les systèmes d’exploitation antérieurs à Windows VISTA, est obsolète et ne sera pas présenté dans ce support.
-
Event Tracing for Windows (ETW) : il s’agit d’un mécanisme de suivi et de journalisation des événements déclenchés par les applications en mode utilisateur et par les pilotes en mode noyau.
a. Fichiers EVTX
Les fichiers EVTX sont situés dans le répertoire C:\Windows\System32\winevt\Logs\. L’observateur d’événements, accessible en tapant la commande eventvwr.exe, permet d’accéder à la liste des événements.
Figure 14 : observateur d’événements
La liste des journaux disponibles est volumineuse. Nous présenterons les plus connus et utilisés, mais, selon les cas, il est intéressant de compléter avec les autres fichiers présents. Pour plus de détails sur le format EVTX, rendez-vous sur ce site : https://github.com/libyal/libevtx/blob/main/documentation/Windows%20XML%20Event%20Log%20(EVTX).asciidoc.
Les journaux sont divisés en deux groupes : Windows Logs et Application...
Références
[1] HALDERMAN, J. Alex, SCHOEN, Seth D., HENINGER, Nadia, et al. Lest we remember: cold-boot attacks on encryption keys. Communications of the ACM, 2009, vol. 52, no 5, p. 91-98.
[2] GEORGES, Lucas. DLL shell game and other misdirections: the Windows’s native loader is a magician.
[3]
-
Windows Internals 7e édition part 1 Pavel Yosifovich, Mark E.Russinovich, David A. Salomon, Alex Ionesxu ;
-
Windows Internals 7e édition part 2 Andrea Allievi, Mark E.Russinovich, David A. Salomon, Alex Ionesxu ;
-
Windows 10 System Programming part 1 et 2 Pavel Yosifovich.
[4] HEEGER, Julian, YANNIKOS, York, et STEINEBACH, Martin. An Introduction to the exFAT File System and How to Hide Data Within. Journal of Cyber Security and Mobility, 2022, p. 239-264-239-264
[5]
-
https://www.sstic.org/media/SSTIC2011/SSTIC-actes/bitlocker/SSTIC2011-Slides-bitlocker-bordes.pdf ;
-
https://blog.elcomsoft.com/2020/05/unlocking-bitlocker-can-you-break-that-password/ ;
-
https://www.forensicfocus.com/articles/how-to-decrypt-bitlocker-volumes-with-passware/ ;
-
https://dolosgroup.io/blog/2021/7/9/from-stolen-laptop-to-inside-the-company-network ;
[6] BOIGNER, Philipp et LUH, Robert. WSL2 Forensics: Detection, Analysis & Revirtualization. In : Proceedings of the 17th International Conference on Availability, Reliability and Security. 2022. p. 1-7.
[7] KOCHBERGER, Patrick...