Architecture WindowsWINDOWS INTERNALS · KERNEL / USER MODE
Concept
Windows sépare l'exécution en deux espaces : User Mode et Kernel Mode. Cette séparation est fondamentale en SOC - les malwares cherchent à passer du User au Kernel pour gagner en persistance et contourner les détections.
- User Mode : chaque processus a sa propre mémoire (VAS). Un crash ne plante pas le système.
- Kernel Mode : mémoire partagée, accès direct au hardware. Un crash = BSOD.
Angle SOC
Les rootkits et drivers malveillants s'exécutent en Kernel Mode. Les indicateurs à surveiller :
- Chargement de drivers non signés (Event ID 7045)
- BSOD répétés : possible crashdump à analyser (
WinPmem) - Processus système sans parent légitime (ex:
svchost.exesansservices.exe)
svchost.exe lancé depuis explorer.exe (au lieu de services.exe) est un signal fort d'injection de processus ou de process hollowing.Utilisateurs & GroupesSID · COMPTES SYSTÈME · PRIVILÈGES
Concept
Chaque utilisateur et groupe est identifié par un SID (Security Identifier). C'est lui qui est réellement utilisé pour les permissions, pas le nom. En SOC, les comptes système sont des cibles privilégiées par les attaquants.
| Compte | Niveau de privilège | Risque SOC |
|---|---|---|
| NT AUTHORITY\SYSTEM | Maximum | Cible finale de tout mouvement latéral |
| NT AUTHORITY\LocalService | Limité | Utilisé pour services réseau exposés |
| Administrateur local | Élevé | Souvent réactivé par des attaquants |
| Invité | Minimal | Réactivation = accès anonyme potentiel |
LastLogon = null mais Enabled = True peut être un compte de backdoor jamais utilisé ou un compte prépositionné. À creuser avec les Event Logs.PowerShellSCRIPTING · .NET · CLM · JEA
Concept
PowerShell est bâti sur le framework .NET. Il donne accès à toute la Win32 API, ce qui en fait un outil de choix pour les attaquants (living off the land). La structure d'un cmdlet est Verb-Noun -Param "Valeur".
Angle SOC
PowerShell est massivement utilisé dans les attaques fileless. Activer Script Block Logging et Module Logging est non-négociable. Event ID 4104 = contenu du script exécuté.
CLM - Constrained Language Mode
Le CLM restreint l'accès à la Win32 API depuis PowerShell. Un attaquant peut le contourner si la chaîne "System32" est présente dans la commande exécutée (vulnérabilité dans wldpNativeMethods.cs). Activé via clé de registre __PSLockDownPolicy = 4.
JEA - Just Enough Administration
JEA crée un environnement restreint (sandbox) pour les utilisateurs : seuls les cmdlets autorisés sont disponibles. Bypass connu : utiliser les librairies .NET directement ([System.Diagnostics.Process]::Start("calc.exe")) ou des fonctions inline (&{cmd_interdit}).
Get-LocalUser). 3. Retrouver l'Event ID 4104 correspondant dans les logs et lire son contenu.
Registre WindowsHKLM · HKCU · PERSISTANCE
Concept
Le registre est une base de données hiérarchique contenant la configuration de l'OS et des applications. En sécurité, il est au cœur de la persistance : les malwares s'y inscrivent pour survivre aux redémarrages. Les deux hives principales sont HKLM (système, tous utilisateurs) et HKCU (utilisateur courant).
| Clé | Usage | Intérêt SOC |
|---|---|---|
| HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Démarrage auto (tous utilisateurs) | Persistance malware classique |
| HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Démarrage auto (user courant) | Persistance sans droits admin |
| HKLM\SYSTEM\CurrentControlSet\Services | Services Windows | Création de services malveillants |
| HKLM\SAM | Hashes des mots de passe | Cible pour dump de credentials |
| HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment | Variables d'environnement | Bypass CLM via __PSLockDownPolicy |
Système de FichiersNTFS · ACL/ACE · ADS · MOTW
ACL / ACE
Une ACL (Access Control List) est la liste complète des permissions d'un objet. Une ACE (Access Control Entry) est une entrée de cette liste. En SOC, des ACEs mal configurées sur des dossiers système = escalade de privilèges possible.
ADS - Alternate Data Streams
NTFS permet à un fichier d'avoir plusieurs flux de données. L'ADS Zone.Identifier (MOTW) indique qu'un fichier vient d'internet. Les attaquants peuvent cacher du code dans un ADS non standard pour échapper aux scans basiques.
.txt avec un ADS contenant du code exécutable est une technique de dissimulation connue. Tout ADS avec un nom autre que ::$DATA ou Zone.Identifier mérite investigation.SMB & Partages RéseauPORTS 139/445 · UNC · RELAY ATTACKS
Concept
SMB (Server Message Block) est le protocole de partage de fichiers Windows. Il est historiquement l'un des vecteurs d'attaque les plus exploités (EternalBlue/WannaCry, NTLM relay). Les partages accessibles déterminent la surface d'attaque du mouvement latéral.
FullAccess EVERYONE, accès à C$ / ADMIN$ par des comptes non-admin, Event ID 5140 (accès à un partage), 5145 (accès à un fichier dans un partage). Trafic SMB vers l'extérieur = suspect.Services WindowsPERSISTENCE · WEAK PERMS · UNQUOTED PATH
Concept
Un service est un programme en arrière-plan. Par défaut, ils s'exécutent sous NT AUTHORITY\SYSTEM. C'est une cible de choix pour la persistance et l'escalade de privilèges. Les clés de registre des services sont dans HKLM\SYSTEM\CurrentControlSet\Services.
Weak Binary Permissions
Si un utilisateur non-privilégié peut modifier l'exécutable d'un service tournant sous SYSTEM, il peut remplacer le binaire par un malware. Vérifier avec icacls.exe sur le BinaryPathName du service.
Unquoted Service Path
Si le chemin du service contient des espaces et n'est pas entre guillemets, Windows essaie d'exécuter des variantes du chemin. Ex : C:\Program Files\Mon Service\app.exe → Windows tente d'abord C:\Program.exe.
Credentials & HashesSAM · SYSTEM · SECURITY · DPAPI
| Fichier | Contenu | Emplacement |
|---|---|---|
| SAM | Hashes NT des utilisateurs locaux | C:\Windows\System32\config\SAM - HKLM\SAM |
| SYSTEM | Clé de déchiffrement de SAM (SYSKEY) | C:\Windows\System32\config\SYSTEM |
| SECURITY | Creds en clair, DCC1/DCC2, clés Kerberos | C:\Windows\System32\config\SECURITY |
| DPAPI | Credentials applicatifs (browsers, etc.) | C:\Users\%user%\AppData\Roaming\Microsoft\CREDENTIALS |
HKLM\SAM ou HKLM\SECURITY (Event 4663), processus comme reg.exe ou mimikatz.exe accédant aux hives système, création de VSS (Volume Shadow Copy) pour contourner les verrous fichiers.LSA / LSASSCREDENTIAL DUMPING · MIMIKATZ · PPL
Concept
lsass.exe (Local Security Authority Subsystem Service) est le processus qui gère l'authentification Windows. Il conserve en mémoire les credentials des utilisateurs connectés : hashes NT, tickets Kerberos, parfois mots de passe en clair (WDigest). C'est la cible n°1 du credential dumping.
Techniques d'attaque courantes
- Mimikatz :
sekurlsa::logonpasswords - Task Manager dump : dump manuel du processus lsass
- ProcDump :
procdump.exe -ma lsass.exe - Comsvcs.dll :
rundll32 comsvcs.dll, MiniDump
Protections
- PPL (Protected Process Light) : empêche l'accès mémoire à lsass
- Credential Guard : isole lsass dans un VSM (Virtual Secure Mode)
- WDigest disabled :
HKLM\...\WDigest UseLogonCredential = 0 - ASR Rules : bloquer l'accès à lsass via Defender
procdump.exe, comsvcs.dll dans des chemins inhabituels, ou lsass.dmp sur le filesystem.Vecteurs d'AttaqueSCF · LNK · NTLM RELAY · HASH CAPTURE
Concept - NTLM Hash Capture
Les attaques SCF et LNK exploitent le fait que Windows s'authentifie automatiquement sur les ressources UNC (chemin réseau \\serveur\partage). En plaçant un fichier malveillant qui pointe vers un serveur SMB contrôlé par l'attaquant, on capture le challenge NTLM de la victime. Ce hash peut être cracké offline ou utilisé en NTLM relay.
Attaque SCF
Un fichier .scf spécifie une icône via un chemin UNC. Quand l'explorateur Windows affiche le dossier, il tente de récupérer l'icône → auth automatique. Patchée sur Windows 10 récent mais fonctionnel sur anciennes builds.
Attaque LNK
Un raccourci .lnk pointant vers un chemin UNC distant. Déposé dans un partage SMB : tout utilisateur parcourant le dossier déclenche une auth NTLM vers le serveur de l'attaquant. Toujours fonctionnel.
.lnk ou .scf dans des partages réseau, trafic NTLM vers des IPs non-contrôleurs de domaine. Mitigation : bloquer SMB outbound sauf vers les serveurs autorisés.LmCompatibilityLevel = 5), activer SMB Signing, bloquer le port 445 en sortie sur les postes de travail, utiliser Responder en mode détection (passif) sur le réseau interne pour identifier les hashes circulant.