La maîtrise de l’environnement Windows est une exigence fondamentale pour un analyste en sécurité au sein d’un centre d’opérations de sécurité (SOC). Ce module analyse l’architecture sous-jacente qui régit l’exécution des processus, les communications réseau et les mécanismes de persistance. En comprenant l’interaction entre le Registre Windows, le système de fichiers NTFS et le processus de démarrage, les analystes peuvent identifier efficacement les modifications non autorisées et maintenir l’intégrité du système hôte.
Le système NTFS (New Technology File System) est la norme pour les environnements Windows modernes, offrant des avantages significatifs en termes de sécurité et de fiabilité par rapport à l’ancien système FAT32.
Fonctionnalités de Sécurité : NTFS prend en charge les listes de contrôle d’accès (ACL), permettant des autorisations granulaires sur les fichiers et les dossiers.
Fiabilité : Il intègre la journalisation transactionnelle (Journaling) et la détection automatique des secteurs défectueux, garantissant l’intégrité des données en cas de défaillance matérielle.
Évolutivité : NTFS supporte des fichiers et des partitions de tailles nettement plus importantes que la limite de 4 Go imposée par le FAT32.
Les Alternate Data Streams permettent à un fichier de contenir plusieurs flux de données. Alors que le flux principal contient le contenu visible (ex: le texte d’un .txt), d’autres flux peuvent être “cachés” derrière le même nom de fichier.
Risque Cyber : Les attaquants utilisent les ADS pour masquer des malwares, des scripts ou des outils d’exfiltration. Le fichier semble avoir une taille normale (0 octets ou quelques Ko) alors qu’il cache un exécutable volumineux dans un flux secondaire.
Visibilité : Ces flux ne sont pas visibles via l’Explorateur de fichiers standard ni via une commande dir classique.
Dans un contexte CyberOps, MACE est un acronyme représentant les quatre métadonnées temporelles critiques stockées dans le système de fichiers NTFS. Leur compréhension est vitale pour établir une chronologie des événements (Timeline) lors d’un incident.
Lettre
Terme
Définition Technique
M
Modified
Dernière fois que le contenu brut (données) du fichier a été altéré.
A
Accessed
Dernière fois que le fichier a été lu ou ouvert (souvent peu fiable dû aux optimisations de l’OS).
C
Created
Date à laquelle le fichier a été instancié pour la première fois sur le volume actuel.
E
Entry Modified
Dernière fois que l’enregistrement MFT/métadonnées (permissions, nom, etc.) a été modifié.
Le NTFS ne stocke pas les valeurs MACE à un seul endroit. Pour chaque fichier, les horodatages sont présents dans deux attributs distincts de son enregistrement MFT.
Visibilité : Invisible pour les outils système standards ; nécessite des outils forensiques (ex: Sleuth Kit, FTK Imager).
Fiabilité : Seul le Noyau (Kernel) peut mettre à jour ces valeurs. La plupart des outils de timestomping ne modifient pas le $FN, créant une “divergence temporelle” qui trahit l’attaque.
Comportement des timestamps lors des opérations de fichiers (sur un même volume) :
Opération
M
A
C
E
Déplacement (Move)
Inchangé
Inchangé
Inchangé
Mis à jour
Copie (Copy)
Inchangé
Mis à jour
Mis à jour
Mis à jour
[!IMPORTANT]
Si Created (C) > Modified (M), cela indique généralement que le fichier a été copié depuis une source externe (le contenu existait avant sa création sur ce disque local).
4. Configuration Système : L’exception du “Accessed”
istat (Sleuth Kit) : Affiche les timestamps $SI et $FN à partir d’une image disque.
fls -m : Génère un “Bodyfile” pour créer une timeline MACtime.
MFTECmd.exe (Eric Zimmerman) : Parseur MFT ultra-rapide pour extraire les valeurs MACE en CSV pour analyse globale.
Exemple de lecture d’un flux caché :
Si un fichier se nomme readme.txt et possède un flux caché malware.exe, la syntaxe pour l’identifier sera :
readme.txt:malware.exe:$DATA
Fonction : Premier composant logiciel après le passage de relais par le Boot Manager (bootmgr.exe). Il utilise les services UEFI pour l’accès disque.
Rôle Critique : Chargement de la ruche SYSTEM et des pilotes de type Boot-Start.
Focus Sécurité : C’est le rempart contre les Bootkits. Il vérifie les signatures numériques des composants chargés. Si le Secure Boot est actif, winload.exe lui-même est vérifié par le firmware.
hal.dll : Couche d’abstraction matérielle. Assure la portabilité du noyau sur différentes architectures physiques.
Focus Sécurité : Initialise le Security Reference Monitor (SRM). C’est à ce stade que les Rootkits Kernel tentent de s’injecter pour devenir invisibles aux outils du mode utilisateur.
Fonction : Gère l’authentification et l’ouverture de session.
Action : Capture la séquence CTRL+ALT+DEL.
Focus Sécurité : Communique avec lsass.exe (Local Security Authority) pour valider les jetons d’accès (Access Tokens). Si vous voyez un winlogon.exe avec un parent autre que smss.exe, il s’agit probablement d’un malware.
Server Message Block (SMB) : Protocole de communication client-serveur utilisé pour le partage de ressources réseau telles que les fichiers et les imprimantes. C’est une cible fréquente pour les mouvements latéraux.
Netsh : Utilitaire de ligne de commande permettant de configurer les paramètres réseau de l’ordinateur local ou distant, y compris les interfaces et le pare-feu.
À la différence de la commande net, netsh est un utilitaire contextuel permettant d’interagir directement avec la pile TCP/IP et les composants de sécurité de bas niveau via des “helpers” (DLL).
Contexte
Fonction
Valeur pour l’analyse CyberOps
advfirewall
Gestion du Pare-feu Windows
Détection de désactivation des profils ou d’injection de règles permissives.
interface
Configuration IP/IPv6
Identification de modifications DNS statiques (Hijacking) ou d’IP secondaires.
wlan
Gestion des interfaces Wi-Fi
Extraction des profils SSID et récupération des clés PSK en clair.
portproxy
Redirection de flux (Proxying)
Critique : Détection de pivotement (mouvement latéral) via redirection de port.
trace
Capture de trafic réseau
Sniffing natif pour analyse post-incident (génère des fichiers .etl).
Cas d’usage Forensique & Réponse aux incidents :
Blocage immédiat d’une IP :netsh advfirewall firewall add rule name="BLOCK_C2" dir=in action=block remoteip=185.x.x.x
Vérification de redirection de port (Pivot) :netsh interface portproxy show all
Extraction des secrets Wi-Fi :netsh wlan show profile name="SSID_Cible" key=clear
PowerShell utilise des cmdlets, qui sont des classes .NET spécialisées effectuant des actions spécifiques. Contrairement aux shells textuels (comme Bash ou CMD), les cmdlets retournent des objets à la commande suivante dans le pipeline. Les scripts PowerShell utilisent l’extension de fichier .ps1.
Windows fonctionne sur le principe du moindre privilège. Si une application nécessite des droits élevés :
L’utilisateur doit effectuer un clic droit sur l’exécutable.
Sélectionner l’option Exécuter en tant qu’administrateur.
Note technique : Contrairement à Linux, les termes “root” ou “superuser” ne sont pas utilisés nativement dans la terminologie administrative de Windows.
La présence de la valeur HKCU\Software\Sysinternals\PsExec\EulaAccepted réglée sur 0x1 indique que l’utilisateur a accepté les conditions d’utilisation, soit manuellement via la fenêtre contextuelle, soit automatiquement via l’argument -accepteula. Bien que cet artefact suggère une intention ou une préparation à l’utilisation de PsExec, il ne constitue pas une preuve d’exécution du binaire. Cette valeur peut en effet être injectée à distance ou localement dans le registre par un script ou un fichier .reg avant tout lancement effectif, précisément pour contourner l’affichage de la licence.
Synthèse Technique : Architecture Windows pour l’Analyste CyberOps
Dans l’écosystème Windows, la distinction entre ces trois entités est fondamentale pour la détection d’anomalies et l’analyse de la persistance lors d’une investigation numérique.
1. Process (Processus) : Le Conteneur de Ressources
Définition EXPERT : Un processus est un objet de gestion du noyau qui représente une instance d’un programme en cours d’exécution. Il ne s’exécute pas en soi, mais sert de conteneur pour les ressources nécessaires à l’exécution.
Espace d’adressage virtuel : Isolation de la mémoire par rapport aux autres processus.
Access Token : Définit le contexte de sécurité (SID utilisateur, privilèges).
Note CyberOps : L’analyse de la hiérarchie (Parent-Child) est cruciale. Un processus lsass.exe dont le parent n’est pas wininit.exe est une anomalie majeure indiquant une injection ou une imitation de processus système.
Définition EXPERT : Un service est une application s’exécutant dans une session non-interactive, gérée par le Service Control Manager (SCM). Ils démarrent souvent avant l’ouverture de session utilisateur.
Composants : * S’exécutent généralement via svchost.exe (processus hôte de services).
Possèdent des types de démarrage (Automatique, Manuel, Désactivé).
Note CyberOps : Les attaquants utilisent les services pour la Persistance (Tactique MITRE ATT&CK T1543.003). Un analyste doit surveiller la création de nouveaux services ou la modification de la ImagePath d’un service existant pointant vers un binaire non signé.
Définition EXPERT : Le thread est l’entité au sein d’un processus à laquelle le noyau alloue du temps processeur (Quantum). C’est l’unité de base de l’ordonnancement (Scheduling).
Fonctionnement : Un processus possède au moins un thread (Primary Thread). Tous les threads d’un même processus partagent la même mémoire virtuelle et les mêmes descripteurs d’objets (Handles).
Note CyberOps : La technique d’Injection de Code cible souvent les threads. En injectant du code dans un thread suspendu d’un processus légitime, un malware peut s’exécuter sous l’identité d’un processus sûr pour contourner les pare-feux applicatifs.