Aller au contenu

Architecture Windows Avancée, Administration et Surveillance pour CyberOps

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.

Architecture du Système de Fichiers : NTFS vs. FAT32

Section intitulée « Architecture du Système de Fichiers : NTFS vs. FAT32 »

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.

Technique de dissimulation (NTFS uniquement)

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.

Pour détecter la présence d’ADS, l’analyste doit utiliser des commutateurs spécifiques :

CommandeAction
dir /rLe commutateur indispensable. Affiche tous les flux de données alternatifs attachés aux fichiers.
expandPeut être utilisé pour extraire un flux caché vers un fichier autonome.
streams.exeOutil de la suite Sysinternals dédié à l’énumération et la suppression des ADS.

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.

LettreTermeDéfinition Technique
MModifiedDernière fois que le contenu brut (données) du fichier a été altéré.
AAccessedDernière fois que le fichier a été lu ou ouvert (souvent peu fiable dû aux optimisations de l’OS).
CCreatedDate à laquelle le fichier a été instancié pour la première fois sur le volume actuel.
EEntry ModifiedDerniè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é : C’est l’attribut du “User-Space”. Il est utilisé par l’Explorateur Windows et la commande dir.
  • Vulnérabilité : Cible privilégiée du Timestomping. Les APIs standards (comme SetFileTime) permettent de modifier ces valeurs facilement.
  • 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.

Un analyste identifie un malware dont la date de Création (C) remonte à 2021, mais la date Entry Modified (E) est celle d’aujourd’hui.

  • Raison : L’attaquant a copié les timestamps $SI d’un fichier légitime mais n’a pas pu modifier l’attribut “E” ou l’attribut $FN.
  • Règle d’or : Si $SI [Modified] < $FN [Modified], il y a une forte probabilité de manipulation frauduleuse.

Comportement des timestamps lors des opérations de fichiers (sur un même volume) :

OpérationMACE
Déplacement (Move)InchangéInchangéInchangéMis à jour
Copie (Copy)InchangéMis à jourMis à jourMis à 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”

Section intitulée « 4. Configuration Système : L’exception du “Accessed” »

Pour optimiser les performances, Windows désactive souvent la mise à jour en temps réel du timestamp Accessed (A).

  • Clé de Registre : HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate.
  • Valeur 1 : Les mises à jour sont désactivées.
  • Impact CyberOps : Une date d’accès ancienne ne prouve pas l’inactivité du fichier si ce paramètre est actif.

  1. istat (Sleuth Kit) : Affiche les timestamps $SI et $FN à partir d’une image disque.
  2. fls -m : Génère un “Bodyfile” pour créer une timeline MACtime.
  3. 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

Domaine : Analyse Forensique / Détection d’Intrusions Certification : Cisco CyberOps Associate 2026

###. Winload.exe (The OS Loader)

  • Couche : Boot Loader (Mode Réel/Protégé)
  • 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.
  • Couche : Mode Noyau (Kernel Mode)
  • ntoskrnl.exe : Exécute l’initialisation des sous-systèmes exécutifs (Gestionnaire d’E/S, Mémoire, Objets).
  • 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.
  • Couche : Mode Utilisateur (User Mode) - Premier processus
  • Fonction : Responsable de la création des sessions (Session 0 pour les services, Session 1 pour l’utilisateur interactif).
  • Rôle Critique : Lance lsass.exe et winlogon.exe.
  • Indicateur de Compromission (IoC) : * Un seul processus smss.exe doit exister dans la session 0.
    • Le parent doit être le noyau (System).
    • Toute instance supplémentaire est suspecte (Technique de “Process Masquerading”).
  • Couche : 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.

OrdreComposantNiveauPoint de vigilance Cyber
1winload.exeBootSignature des drivers (Bootkits)
2ntoskrnl.exeNoyauIntégrité du Kernel (Rootkits)
3hal.dllMatérielAbstraction et accès direct hardware
4smss.exeUserIsolation des sessions / Persistance
5winlogon.exeUserVol d’identifiants / Injection LSASS
  • 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.

Ces outils sont essentiels pour corréler les événements système avec des violations potentielles de la sécurité.

OutilCommande d’AccèsFonction de Sécurité Principale
Windows Defender Firewallwf.mscApplique une politique restrictive pour refuser ou autoriser le trafic.
PowerShellpowershell.exeEnvironnement CLI objet utilisé pour les scripts et l’automatisation.
Observateur d’Événementseventvwr.mscGère les journaux (Sécurité, Système, Application) pour l’audit.
Éditeur du Registreregedit.exeBase de données hiérarchique des configurations système et utilisateurs.

Référence de l’Interface de Ligne de Commande (CLI)

Section intitulée « Référence de l’Interface de Ligne de Commande (CLI) »

Les analystes doivent maîtriser l’invite de commande Windows pour l’interrogation rapide des hôtes.

CommandeRésultat Opérationnel
dirListe les fichiers et sous-répertoires du répertoire courant.
cdModifie le répertoire de travail actuel.
renRenomme un fichier ou un répertoire spécifié.
mkdirCrée un nouveau répertoire.
nslookupInterroge les serveurs DNS pour vérifier la résolution de noms.
pingTeste la connectivité et la résolution DNS via des requêtes ICMP Echo.

netsh (Network Shell) — Configuration Réseau Avancée

Section intitulée « netsh (Network Shell) — Configuration Réseau Avancée »

À 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).

ContexteFonctionValeur pour l’analyse CyberOps
advfirewallGestion du Pare-feu WindowsDétection de désactivation des profils ou d’injection de règles permissives.
interfaceConfiguration IP/IPv6Identification de modifications DNS statiques (Hijacking) ou d’IP secondaires.
wlanGestion des interfaces Wi-FiExtraction des profils SSID et récupération des clés PSK en clair.
portproxyRedirection de flux (Proxying)Critique : Détection de pivotement (mouvement latéral) via redirection de port.
traceCapture de trafic réseauSniffing 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

📌 Commande net — Référence rapide (Windows CLI)

Section intitulée « 📌 Commande net — Référence rapide (Windows CLI) »

La commande net est un outil fondamental pour l’administration réseau Windows en ligne de commande.

Sous-commandeFonction
net accountsDéfinit les politiques de mot de passe et de connexion des utilisateurs
net sessionListe ou déconnecte les sessions actives entre machines du réseau
net shareCrée, supprime ou gère les ressources partagées locales
net startDémarre un service réseau ou liste les services en cours d’exécution
net stopArrête un service réseau
net useConnecte, déconnecte et affiche les ressources réseau partagées distantes
net viewAffiche les ordinateurs et périphériques réseau disponibles sur le réseau

⚠️établir une connexion à un répertoire partagé sur un serveur distant, la commande correcte est net use.

Exemple :

Fenêtre de terminal
net use Z: \\serveur\partage

Monte le dossier distant comme un lecteur local Z:.

Ne pas confondre avec :

  • net share → gère les partages locaux (ce que tu partages)
  • net session → liste les connexions actives vers ta machine
  • net start → concerne les services, pas les partages

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 :

  1. L’utilisateur doit effectuer un clic droit sur l’exécutable.
  2. 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.

Pour empêcher une application d’exfiltrer des données, on utilise le Pare-feu Windows Defender avec fonctions avancées de sécurité.

  • Règles Entrantes : Contrôlent le trafic provenant du réseau vers l’hôte.
  • Règles Sortantes : Contrôlent le trafic émis par l’hôte vers le réseau (crucial pour bloquer les communications C2).
  • Vérification : La commande netstat -abno permet d’identifier le PID d’une application et de vérifier l’état des connexions (ESTABLISHED, LISTENING).

Si un utilitaire tiers ne démarre pas automatiquement au démarrage du système :

  • L’analyste doit inspecter la console des services (services.msc) pour vérifier que le Type de démarrage est défini sur “Automatique”.
  • Dans le registre, la clé HKLM\SYSTEM\CurrentControlSet\Services\[NomDuService] dicte les paramètres d’initialisation du service au niveau du noyau.

Pour vérifier si la résolution de noms DNS fonctionne correctement, les deux méthodes principales sont :

  1. nslookup [domaine] : Interroge directement le serveur DNS configuré.
  2. ping [domaine] : Tente une résolution de nom avant l’envoi de paquets ICMP ; si l’adresse IP s’affiche, la résolution est fonctionnelle.

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

Section intitulée « 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

Section intitulée « 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.
  • Attributs critiques : * PID (Process ID) : Identifiant unique.
    • 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é.

3. Thread (Thread / Fil d’exécution) : L’Unité d’Exécution

Section intitulée « 3. Thread (Thread / Fil d’exécution) : L’Unité d’Exécution »
  • 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.

TermeDéfinition TechniqueFocus Analyste SOC
ProcessInstance de programme + RessourcesAnalyse comportementale et hiérarchie
ServiceApplication d’arrière-plan (SCM)Mécanisme de persistance et privilèges
ThreadUnité d’ordonnancement CPUDétection d’injection de code en mémoire