Expert Cybersécurité & IAv9.0
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident

Techniques de Hacking

31 articles
ETW Tampering : Évasion et Détection sur Windows en 2026 TPM et BitLocker : Cold Boot et Bypass Chiffrement Covert Channels Réseau : Stéganographie et Exfiltration Avancée Type Confusion V8 : Exploitation Avancée Navigateurs eBPF Offensif : Rootkits, Évasion et Détection Kernel-Level DMA Attacks : Exploitation Thunderbolt, PCIe et FireWire 2026 Type Confusion V8 : Exploitation Avancée Navigateurs Vol de Mots de Passe Chrome : DPAPI, Exploits et Outils Extraction Credentials Firefox : NSS, Key4.db et Exploits Hacking Password Managers Navigateurs : Attaques Expert EvilGinx : Phishing AiTM, Bypass MFA et Défense 2026 Persistance Windows Server 2025 : Techniques Complètes Escalade de Privilèges Windows 2025 : Scénarios Réels Buffer Overflow et Corruption Mémoire : Stack, Heap et Escalade de Privilèges Linux : Techniques Offensives et Escalade de Privilèges Windows : Du User au SYSTEM Hacking WordPress Expert : Red Team, Supply Chain et Hacking WordPress : Fondamentaux, Vulnérabilités : Guide Hacking WordPress Intermédiaire : Exploitation Avancée Infostealers : La Menace Silencieuse qui Alimente le Injection SQL Avancée : De la Détection à l'Exploitation MITRE ATT&CK : Les 10 Techniques les Plus Utilisées en OSINT et Reconnaissance Offensive : Du Renseignement Password Attacks : Cracking, Spraying et Credential Stuffing Ransomware : Anatomie d'une Attaque, Kill Chain et Reverse Engineering et Analyse de Malware : Guide Pratique Red Team vs Pentest vs Bug Bounty : Comparatif Complet Bug Bounty : Créer et Gérer un Programme de Sécurité Zero Trust Architecture : Implémentation Complète et Mouvement Latéral : Techniques d'Attaque, Détection et Attack Surface Management (ASM) : Gestion Continue de la

Attaques Active Directory

43 articles
Mouvement Latéral Windows AD 2026 : Techniques Expert Impacket : Guide complet exploitation Active Directory 2026 Pentest Active Directory : Guide Méthodologique Complet 2026 BloodHound : Cartographie des Chemins d'Attaque Active NTDS.dit : Extraction, Analyse et Protection des Secrets LAPS : Gestion Sécurisée des Mots de Passe : Guide Complet Tiering Model Active Directory : Segmentation des : Guide GPO Sécurisation Active Directory : Hardening par : Guide Forum InCyber 2026 : Securite AD en Vedette : Guide Complet Conditional Access Entra ID : Nouveautes Mars 2026 ADCS 2026 : Bilan ESC1 a ESC15 et Remediation en 2026 BloodHound 5 : Nouveaux Chemins d'Attaque Detectes Audit AD Automatise PowerShell : Scripts 2026 en 2026 NTLM Relay 2026 : Techniques et Defenses Actuelles Tiering Model AD 2026 : Adapter Face aux Menaces en 2026 Passwordless AD : Bilan des Risques et Opportunites Entra ID : Fin des Service Principals Legacy : Guide Complet BadSuccessor DMSA : Compromettre Active Directory en 2026 AD FS et SAML : Methodologie et Recommandations de Securite RBCD Abuse Active Directory | Active Directory 2026 Computer Account Takeover Active : Analyse Technique Active Directory Certificate Services : Guide Complet Forest Trust Abuse Active | Defence Active Directory ACL Abuse Active Directory | Active Directory 2026 AS-REP Roasting : Exploitation : Analyse Technique Kerberoasting : Guide Complet | Active Directory 2026 Password Filter DLL : Guide Pratique Cybersecurite Pass-the-Hash (PtH) : Comprendre, : Analyse Technique AdminSDHolder : Persistance via : Analyse Technique Pass-the-Ticket Active Directory : : Guide Complet NTFS Tampering et Anti-Forensics : Analyse Technique GPO Abuse Active Directory | Active Directory 2026 SIDHistory Injection Active Directory : Guide Complet Skeleton Key Malware Active | Active Directory 2026 Silver Ticket Active Directory : Analyse Technique DCSync Attack : Exfiltration | Active Directory 2026 DCShadow : Attaque Furtive | Active Directory 2026 Golden Ticket Attack : Guide Pratique Cybersecurite Migration MFA Entra : Revoquer les Sessions Legacy Attaques AD 2025 : Bilan et Tendances Emergentes en 2026 Entra Connect SyncJacking : Bloquer l'Attaque en 2026 CVE-2025-21293 : Escalade de Privileges AD DS en 2026 Durcissement AD : Guide des Recommandations Microsoft

Intelligence Artificielle

166 articles
Qdrant vs Milvus vs Weaviate : Bases Vectorielles pour RAG Sécurisé Jailbreak LLM : Taxonomie et Détection Automatisée Sécuriser un Pipeline RAG : Du Vector Store à l'API Exfiltration de Données via RAG : Attaques Contextuelles AI Red Team : Auditer un Modèle IA en Production 2026 Prompt Injection Avancée : Attaques et Défenses 2026 La Puce Analogique que les États-Unis ne Peuvent Arrêter Contenu IA : Outils de Detection Proactive Multimodale Prompt Injection et Attaques Multimodales : Défenses en 2026 Stocker et Interroger des Embeddings à Grande Échelle Benchmark LLM Mars 2026 : Etat des Lieux Complet en 2026 Claude Opus 4.6 : Applications en Cybersecurite en 2026 AI Worms et Propagation Autonome : Menaces Émergentes 2026 Confidential Computing et IA : Entraîner et Inférer dans IA Générative pour le Pentest Automatisé : Méthodes et IA et Gestion des Vulnérabilités : Priorisation EPSS Long Context vs RAG : Quand Utiliser 10M Tokens au Lieu Mixture of Experts (MoE) : Architecture, Sécurité et AI Model Supply Chain : Attaques sur Hugging Face et les IA et SCADA/ICS : Détection d'Anomalies sur les Protocoles Sparse Autoencoders et Interprétabilité Mécanistique IA et Zero Trust : Micro-Segmentation Dynamique Pilotée par Red Teaming IA 2026 : Tester les LLM en Entreprise MCP Model Context Protocol : Securiser les Agents en 2026 AI Act 2026 : Implications pour les Systèmes Agentiques et Context Engineering pour Agents Multimodaux : Guide Complet Défense contre les Attaques IA Générées : Stratégies Détection Proactive de Contenu Généré par IA Multimodal Embodied AI : Agents Physiques, Robotique et Sécurité en Forensic Post-Hacking : Reconstruction et IA : Guide Complet Gouvernance Globale de l'IA 2026 : Alignement International Gouvernance du Hacking IA Offensive : Cadre et Bonnes Pra... Green Computing IA 2026 : Eco-Responsabilite et Sobriete Hacking Assisté par IA : Génération de Payloads et Human-AI Collaboration 2026 : Travailler avec des Agents Intégration d'Agents IA avec les API Externes en 2026 LLMOps pour Agents Autonomes : Monitoring et CI/CD Mémoire Augmentée Agents : Vector + Graph 2026 en 2026 Détection Multimodale d’Anomalies Réseau par IA en Multimodal RAG 2026 : Texte, Image, Audio : Guide Complet PLAM : Agents IA Personnalisés Edge et Déploiement Prompt Hacking Avancé 2026 : Techniques et Défenses Prompt Injection et Attaques Multimodales : Défenses en Red Teaming Cyber-Défense Agentique : Méthodologie Responsible Agentic AI : Contrôles, Garde-Fous et 2026 Agents RAG avec Actions : Récupération et Exécution Sécurité des Agents IA en Production : Sandboxing et Shadow Agents IA : Identification et Gouvernance 2026 Traçabilité des Décisions d'Agents Autonomes : Guide Agentic AI 2026 : Autonomie en Entreprise : Guide Complet Agents IA et Raisonnement Causal pour la Décision 2026 Agents IA Edge 2026 : Privacy, Latence et Architecture PLAM Architectures Multi-Agents et Orchestration LLM en Produc... Collaboration Multi-Agents IA 2026 : Orchestration et RAG Agentique : Pipelines IA Autonomes en Entreprise IA et Analyse Juridique des Contrats Cybersécurité Apprentissage Fédéré et Privacy-Preserving ML en 2026 IA pour la Défense et le Renseignement : Cadre Éthique Données Synthétiques : Génération, Validation et 2026 DSPy et la Programmation Déclarative de LLM : Guide IA dans la Finance : Détection de Fraude Temps Réel et Gouvernance LLM et Conformite : RGPD et AI Act 2026 Playbooks de Réponse aux Incidents IA : Modèles et IA Neuromorphique : Architecture et Securite en 2026 Pydantic AI et les Frameworks d'Agents Type-Safe en 2026 Quantum Machine Learning : Risques et Opportunités pour la RAG en Production : Architecture, Scaling et Bonnes Reinforcement Learning Appliqué à la Cybersécurité AI Safety et Alignement : Du RLHF au Constitutional AI en IA dans la Santé : Sécuriser les Modèles Diagnostiques et Sécurité LLM Adversarial : Attaques, Défenses et Bonnes Speculative Decoding et Inférence Accélérée : Techniques Voice Cloning et Audio Deepfakes : Detection en 2026 IA Agentique 2026 : Risques et Gouvernance : Guide Complet Agents IA Autonomes : Architecture, Frameworks et Cas Automatiser le DevOps avec des Agents IA : Guide Complet Agents IA pour le SOC : Triage Automatisé des Alertes AI Act et LLM : Classifier vos Systèmes IA : Guide Complet AI TRiSM : Framework Gartner Appliqué : Guide Complet IA pour l’Analyse de Logs et Détection d’Anomalies en IA et Automatisation RH : Screening CV et Compliance Chatbot Entreprise avec RAG et LangChain : Guide Pas à Pas Llama 4, Mistral Large, Gemma 3 : Comparatif LLM Open Source Computer Vision en Cybersécurité : Détection et 2026 Confidentialité des Données dans les LLM : PII et DLP IA et Conformité RGPD : Données Personnelles dans les Context Window : Gérer 1 Million de Tokens en Production Coût d'Inférence des LLM : Optimiser sa Facture Cloud CrewAI, AutoGen, LangGraph : Comparatif Frameworks Data Platform IA-Ready : Architecture de Référence 2026 Data Poisoning et Model Backdoors : Supply Chain IA Deepfakes et Social Engineering IA : Détection et 2026 Deployer des LLM en Production : GPU et Optimisation Détection de Menaces par IA : SIEM Augmenté : Guide IA pour le DFIR : Accélérer les Investigations Forensiques Évaluation de LLM : Métriques, Benchmarks et Frameworks Fine-Tuning de LLM Open Source : Guide Complet LoRA et QLoRA Function Calling et Tool Use : Intégrer les API aux LLM Fuzzing Assisté par IA : Découverte de Vulnérabilités IA pour la Génération de Code : Copilot, Cursor, Claude Gouvernance IA en Entreprise : Politiques et Audit GraphRAG et Knowledge Graphs : Architecture RAG Avancée Knowledge Management avec l’IA en Entreprise : Stratégies Kubernetes pour l’IA : GPU Scheduling, Serving et 2026 LLM en Local : Ollama, LM Studio et vLLM - Comparatif 2026 LLM On-Premise vs Cloud : Souveraineté et Performance MCP (Model Context Protocol) : Connecter les LLM à vos MLOps Open Source : MLflow, Kubeflow, ZenML : Guide Complet IA Multimodale : Texte, Image et Audio : Guide Complet IA Offensive : Comment les Attaquants Utilisent les LLM Orchestration d'Agents IA : Patterns et Anti-Patterns OWASP Top 10 pour les LLM : Guide Remédiation 2026 Phishing Généré par IA : Nouvelles Menaces : Guide Prompt Engineering Avancé : Chain-of-Thought et Techniques Quantization : GPTQ, GGUF, AWQ - Quel Format Choisir RAG vs Fine-Tuning vs Prompt Engineering : Quelle Stratégie Reconnaissance Vocale et LLM : Assistant Vocal Sécurisé Red Teaming de Modèles IA : Jailbreak et Prompt Injection ROI de l'IA Générative : Mesurer l'Impact Réel en 2026 Sécuriser un Pipeline MLOps : Bonnes Pratiques et 2026 Shadow AI : Détecter et Encadrer l'Usage Non Autorisé Small Language Models : Phi-4, Gemma et IA Embarquée Threat Intelligence Augmentée par IA : Guide Complet Vector Database en Production : Scaling et HA en 2026 CNIL Autorite AI Act : Premiers Pas Reglementaires KVortex : Offloader VRAM→RAM pour LLMs vLLM et Inférence Securiser un Pipeline RAG en Production (2026) en 2026 Codex GPT-5.2 : Generation de Code Autonome Securisee Mixture of Experts : Architecture LLM de 2026 en 2026 GPT-5.2 et Agents IA : Revolution en Cybersecurite Windows Recall : Analyse Technique Complete - Fonctionnem... L'IA dans Windows 11 : Copilot, NPU et Recall - Guide Com... Deepfake-as-a-Service : La Fraude IA Industrialisee Small Language Models : Securite a la Peripherie en 2026 RAG Poisoning : Manipuler l'IA via ses Documents en 2026 Phishing IA : Quand les Defenses Traditionnelles Echouent Superintelligence : De l'ANI à l'ASI : Guide Complet La Fin des Moteurs de Recherche : Analyse Expert 2026 Embeddings et Recherche Documentaire : Guide Complet Stratégies de Découpage de | Guide IA Complet 2026 Sécurité et Confidentialité des : Analyse Technique Vecteurs en Intelligence Artificielle : Guide Complet Embeddings vs Tokens : Guide Pratique Cybersecurite Qu'est-ce qu'un Embedding en | Guide IA Complet 2026 Cas d'Usage des Bases - Guide Pratique Cybersecurite Bases Vectorielles : Définition, : Analyse Technique La Vectorisation de Données | Guide IA Complet 2026 Tendances Futures des Embeddings : Analyse Technique Optimiser le Chunking de - Guide Pratique Cybersecurite Milvus, Qdrant, Weaviate : | Guide IA Complet 2026 Glossaire IA et Cybersécurité : 100 Termes Essentiels 2026 10 Erreurs Courantes dans - Guide Pratique Cybersecurite Benchmarks de Performance : | Guide IA Complet 2026 RAG Architecture | Guide - Guide Pratique Cybersecurite Comment Choisir sa Base - Guide Pratique Cybersecurite Indexation Vectorielle : Techniques : Guide Complet Comprendre la Similarité Cosinus : Analyse Technique Comet Browser : Architecture | Guide IA Complet 2026 Développement Intelligence Artificielle | : Guide Complet Stocker et Interroger des - Guide Pratique Cybersecurite Shadow AI en Entreprise : Detecter et Encadrer en 2026 GPT-5.1 vs Claude 4.5 vs Gemini 3 : Comparatif en 2026 OpenClaw : Crise de l'Agent IA Open Source : Guide Complet Prompt Injection : 73% des Deploiements Vulnerables AI Act Aout 2025 : Premieres Sanctions Activees en 2026 OWASP Top 10 LLM 2025 : Risques et Remediations en 2026

Forensics

31 articles
Forensique Mémoire : Guide Pratique Volatility 3 en 2026 Timeline Forensique : Reconstituer Pas à Pas une : Guide Forensique Cloud : Analyser les Logs CloudTrail, Azure Forensique Microsoft 365 : Analyse du Unified Audit Log Chaîne de Preuve Numérique : Bonnes Pratiques Juridiques Exercice de Crise Cyber : Organiser un Tabletop Efficace Forensique Disque : Acquisition d'Image et Analyse avec Mobile Forensics : Extraction et Analyse iOS/Android Ransomware Forensics : Identifier la Souche : Guide Complet Forensics Linux : Artifacts et Investigation : Guide Complet MacOS Forensics : Artifacts et Persistence : Guide Complet Malware Reverse : Analyse de Cobalt Strike 5 : Guide Complet Email Forensics : Tracer les Campagnes Phishing en 2026 Timeline Analysis : Reconstruction d'Incidents en 2026 Registry Advanced : Guide Expert Analyse Technique NTFS Forensics : Methodologie et Recommandations de Securite LNK & Jump Lists : Strategies de Detection et de Remediation Windows Forensics : Guide Expert en Analyse Securite Registry Forensics : Guide Expert Analyse Securite Windows Server 2025 - Guide Pratique Cybersecurite Memory Forensics : Strategies de Detection et de Remediation ETW & WPR : Guide Complet et Bonnes Pratiques pour Experts Modèles de Rapports - Guide Pratique Cybersecurite Comparatif Outils DFIR - Guide Pratique Cybersecurite AmCache & ShimCache - Guide Pratique Cybersecurite Telemetry Forensics - Guide Pratique Cybersecurite Anti-Forensics : Methodologie et Recommandations de Securite NTFS Advanced : Methodologie et Recommandations de Securite Network Forensics : Analyse PCAP Avancee : Guide Complet DFIR Cloud : Investigation Logs AWS CloudTrail en 2026 Memory Forensics 2026 : Volatility 3 Avance : Guide Complet

Microsoft 365

24 articles
Chronologie des Attaques Active Directory : 2014-2026 Audit Avancé Microsoft 365 : Corréler Journaux et Logs Azure Automatiser l'Audit Sécurité Microsoft 365 : Guide Expert API Microsoft Graph : Audit et Monitoring M365 en 2026 Meilleures Pratiques Sécurité Microsoft 365 en 2026 PIM Entra ID : Gestion des Accès Privilégiés Just-in-Time Sécuriser Microsoft Teams : Gouvernance, DLP et Contrôle SharePoint et OneDrive : Maîtriser le Partage Externe et Microsoft Defender for Office 365 : Configuration : Guide Microsoft Secure Score : Guide d'Optimisation de votre Sécuriser Microsoft Entra ID : Conditional Access, MFA Durcissement Exchange Online : Bloquer Basic Auth et Microsoft Intune : Politiques de Conformité et : Guide Zero Trust M365 : Strategies de Detection et de Remediation API Microsoft Graph M365 - Guide Pratique Cybersecurite Microsoft 365 et Conformité - Guide Pratique Cybersecurite Audit Sécurité Microsoft 365 | Guide Microsoft 365 Audit Avancé Microsoft 365 - Guide Pratique Cybersecurite Pratiques Sécurité M365 2025 | Guide Microsoft 365 Microsoft 365 et Azure - Guide Pratique Cybersecurite Threat Hunting Microsoft 365 | Guide Microsoft 365 Top 10 Outils Analyse Securite Microsoft 365 — Guide Automatiser l'Audit de Sécurité : Analyse Technique Sécuriser les Accès Microsoft | Guide Microsoft 365

Virtualisation

25 articles
SDN Proxmox VE 9 : Zones, VNets, IPAM et Firewalls Architecture Proxmox VE 9.1 : Cluster 3 Nœuds + HA Réplication Proxmox VE : ZFS, Snapshots et Checklist Administration CLI Proxmox VE : Diagnostic Cluster Déploiement Automatisé Proxmox : Terraform et Ansible Proxmox VE 9.1 : Paramètres Avancés VM et Nested Virt Outils Proxmox VE : Monitoring, IaC et Écosystème 2026 Optimisation Proxmox VE 9 : CPU, RAM, ZFS, Ceph et HA Dimensionnement Proxmox VE 9 : CPU, RAM, Stockage, HA Proxmox VE : Cluster HA, Live Migration et Ceph 2026 Proxmox vs VMware vs Hyper-V : Comparatif Sécurité et Durcissement VMware ESXi : Guide Complet de Sécurisation ESXi Hardening : Guide Complet de Sécurisation Avancée Migration VMware vers Proxmox VE : Guide Complet : Guide Hyper-V Shielded VMs : Sécurisation Avancée du : Guide Proxmox Backup Server : Stratégie de Sauvegarde et Optimisation Proxmox - Guide Pratique Cybersecurite Évolutions Proxmox : Guide Expert Bonnes Pratiques Calculateur Sizing : Guide Expert Bonnes Pratiques NTP Proxmox : Guide Complet et Bonnes Pratiques pour Experts Dimensionnement : Strategies de Detection et de Remediation Guide Complet Proxmox - Guide Pratique Cybersecurite Migration VMware : Strategies de Detection et de Remediation Securite Proxmox VE : Guide Complet Hardening 2026 Hyper-V 2025 : Analyse Technique Approfondie et Securisation

Cybersécurité Générale

44 articles
Débuter en Pentest : Parcours et Ressources 2026 Carte des Menaces Cyber 2025-2026 : Threat Landscape 20 Erreurs Fatales en Cybersécurité : AD, Cloud et IA Certifications Cybersécurité 2026 : Guide Complet OSCP à CISSP 15 Mythes en Cybersécurité Démystifiés par un Pentester CrowdStrike vs Defender vs SentinelOne : Quel EDR en 2026 ? L'ingénierie sociale a gagné : vos firewalls ne servent plus à rien Quatre zero-days Chrome en 2026 : le navigateur est devenu la cible Zero-days exploités avant le patch : la nouvelle norme en 2026 Le délai d'exploitation se réduit à néant : ce que ça Deepfakes et Social Engineering : Menaces IA en 2026 Culture Sécurité en Entreprise : Changer les Comportements Programme Sensibilisation Cyber : Méthode et KPI 2026 Exercices Phishing Interne : Outils et Bonnes Pratiques Quand les défenseurs passent à l'attaque : leçons de Patch Tuesday ne suffit plus : repenser la gestion des Data brokers : les coffres-forts que tout le monde veut Vos outils d automatisation sont devenus des cibles Équipements en fin de vie : maillon faible sécurité quand vos défenseurs travaillent pour l adversaire Pipelines IA en production : vos agents LLM sont des cibles Time-to-exploit : quand les 0-day brûlent en quelques heures OWASP Top 10 : Guide Complet Vulnérabilités Web 2026 Nessus et Greenbone : Guide Scanners Vulnérabilités ANSSI ReCyF : NIS2 en pratique, ce qui change pour vous Pipelines IA : vos clés API sont les nouvelles clés du SI Ransomwares : Pourquoi Vos Sauvegardes Ne Sauvent Plus CI/CD : L'Angle Mort de la Sécurité DevOps en 2026 Vos Outils IA : la Nouvelle Surface d'Attaque Ignorée Ransomware Trends Q1 2026 : Analyse des Groupes en 2026 IOC Management : Automatiser la Threat Intel : Guide Complet Cyber Threat Landscape France 2026 : Bilan ANSSI en 2026 Darkweb Monitoring : Outils et Techniques 2026 en 2026 InfoStealers 2026 : Lumma, Raccoon et RedLine en 2026 Supply Chain APT : Comprendre les Attaques Etatiques Top 10 des Attaques - Guide Pratique Cybersecurite Top 10 Outils Securite Kubernetes 2025 — Guide Pratique Livre Blanc : Sécurisation | Threat Intelligence 2026 Guide Complet Sécurité Active | Guide Cyberdefense Top 5 des Outils : Strategies de Detection et de Remediation Top 10 Solutions EDR/XDR | Threat Intelligence 2026 Top 10 Outils Audit - Guide Pratique Cybersecurite Threat Hunting : Detection Proactive avec MITRE en 2026 APT29 2026 : Nouvelles TTP et Campagnes Cloud en 2026

Articles Techniques

105 articles
Retours d’Expérience Pentest : 5 Missions Terrain Anonymisées BloodHound vs SharpHound vs BloodyAD : Guide Comparatif 2026 Burp Suite vs OWASP ZAP : Quel Scanner Web Choisir en 2026 ? Nuclei vs Nessus vs Qualys : Scanners de Vulnérabilités Comparés Format String Exploitation Moderne : Du Crash au RCE en 2026 Race Conditions Kernel : Double-Fetch, TOCTOU et Exploitation BGP Hijacking et OSPF Exploitation : Attaques Routage Internet GPU Side-Channels : Attaques sur CUDA, OpenCL et WebGPU Intel ME et AMD PSP : Exploitation des Coprocesseurs Cryptanalyse Pratique : Attaques sur AES, RSA et ECC SGX, TDX et TEE : Attaques sur les Enclaves Sécurisées 2026 Hypervisor Escape : Techniques d'Évasion VMware, KVM et QEMU Linux Kernel Exploitation : Escalade de Privilèges Side-Channel Attacks : Spectre, Meltdown et Rowhammer ROP/JOP Chains : Exploitation Moderne des Binaires Protégés Heap Exploitation : Use-After-Free et Tcache Poisoning SGX, TDX et TEE : Attaques sur les Enclaves Sécurisées Hack The Box : Méthodologie pour Progresser en 2026 DVWA vs Juice Shop vs WebGoat : Comparatif Labs Web Lab Pentest Proxmox : Guide Complet d'Installation 2026 Top 5 Plateformes CTF et Entraînement Cyber en 2026 Architecture de Sécurité Matérielle Windows 11 & Server 2025 Windows Scheduler Internals : Architecture, Performance Architecture Windows Server 2025 : Noyau NT Expert Architecture Vertical Slice + Clean Lite : Guide 2026 Cryptographie Post-Quantique : Migration Pratique en 2026 Zero Trust Network : Implementation Pratique 2026 en 2026 C2 Frameworks Modernes : Mythic, Havoc, Sliver et Détection DNS Attacks : Tunneling, Hijacking et Cache Poisoning Exploitation de l’Infrastructure as Code Terraform et Exploitation des Protocoles Email : SMTP Smuggling et Att... GCP Offensive Security : Exploitation des Services Google Purple Team : Méthodologie et Exercices Collaboratifs Race Conditions et TOCTOU : Exploitation des Bugs de Windows Kernel Exploitation : Drivers, Tokens et KASLR Threat Intelligence : Automatiser la Veille Cyber en 2026 Attaques sur les Identity Providers Okta, Entra et Keycloak Attaques sur les Pipelines ML/AI et Empoisonnement de Mod... SSRF Avance : Bypass des Protections Cloud 2026 en 2026 Windows Kernel : Exploitation de Drivers Vulnerables Agents IA pour la Cyber-Défense et le Threat Hunting Cyber-Défense Agentique contre les APTs : Guide Complet Red Teaming des Agents Autonomes : Méthodologie et Shadow Hacking et Outils IA Non-Autorisés en Entreprise Container Escape : Techniques d'Évasion Docker et 2026 Exploitation Active Directory Certificate Services (ADCS) Hardware Hacking : JTAG, SWD, UART et Extraction de Firmware Post-Exploitation : Pillage, Pivoting et Persistance Sécurité Mobile Offensive : Android et iOS en 2026 Service Mesh Exploitation : Attaques sur Istio, Linkerd et SIM Swapping et Attaques Telecom : SS7, Diameter et 5G UEFI Bootkits et Attaques sur le Firmware : Persistance A... Attaques sur les Bases de Données SQL, NoSQL et GraphQL Attaques CI/CD Avancées : GitOps, ArgoCD et Flux en Attaques Serverless : Exploitation de Lambda, Azure Attaques sur les Smart Contracts et la Sécurité Web3 Attaques Wireless Avancées : Wi-Fi 7, BLE 5.4 et Zigbee Browser Exploitation Moderne : V8, Blink et les Sandbox Bypass FIDO2 et Passkeys : Attaques sur l'Authentification ICS/SCADA : Pentest d'Environnements Industriels en 2026 Supply Chain : Detecter les Dependances Malveillantes Incident Response : Playbook Ransomware 2026 : Guide Complet Reverse Engineering : Analyse de Firmware IoT en 2026 GraphQL Injection : Techniques d'Exploitation 2026 API Security : Fuzzing Avance avec Burp et Nuclei en 2026 Cloud Forensics : Investigation AWS et Azure : Guide Complet OAuth 2.1 : Nouvelles Protections et Migration en 2026 Pentest Wi-Fi 7 : Nouvelles Surfaces d'Attaque en 2026 C2 Frameworks 2026 : Mythic vs Havoc vs Sliver en 2026 DNS Tunneling Detection : Guide SOC Analyst : Guide Complet Phishing 2026 : Techniques Avancees de Spear-Phishing Web3 Security : Audit de Smart Contracts Solidity en 2026 Attaques sur CI/CD (GitHub - Guide Pratique Cybersecurite Azure AD : attaques - Guide Pratique Cybersecurite Supply-chain applicative (typosquatting, dependency Secrets sprawl : collecte - Guide Pratique Cybersecurite SSRF moderne (IMDSv2, gopher/file, : Guide Complet NTLM Relay moderne (SMB/HTTP, | Guide Technique 2026 Evasion d’EDR/XDR : techniques : Analyse Technique Phishing sans pièce jointe - Guide Pratique Cybersecurite Persistence sur macOS & - Guide Pratique Cybersecurite WebCache Deception & cache - Guide Pratique Cybersecurite Abus OAuth/OIDC : Consent - Guide Pratique Cybersecurite Sécurité des LLM et - Guide Pratique Cybersecurite Chaîne d'exploitation Kerberos en : Analyse Technique Living-off-the-Land (LOL-Bins/LOLBAS) à l’échelle en Exfiltration furtive (DNS, DoH, : Analyse Technique Kubernetes offensif (RBAC abuse, : Analyse Technique Désérialisation et gadgets en | Guide Technique 2026 Attaques sur API GraphQL - Guide Pratique Cybersecurite Escalades de privilèges AWS | Guide Technique 2026 OT/ICS : passerelles, protocoles : Analyse Technique Cloud IAM : Escalade de Privileges Multi-Cloud en 2026 AWS Lambda Security : Attaques et Defenses : Guide Complet Terraform Security : Audit et Durcissement IaC en 2026 SIEM : Correlations Avancees pour Threat Hunting en 2026 Mobile Pentest : Bypass SSL Pinning Android 15 en 2026 Container Escape 2026 : Nouvelles Techniques Docker Bug Bounty 2026 : Strategies et Plateformes : Guide Complet EDR Bypass 2026 : Techniques et Contre-Mesures en 2026 ZED de PRIM’X : Conteneurs Chiffrés et Sécurité des Malware Analysis : Sandbox Evasion Techniques en 2026 Purple Team : Exercices Pratiques AD et Cloud en 2026 OSINT 2026 : Outils et Techniques de Reconnaissance Kubernetes RBAC : 10 Erreurs de Configuration Critiques

Conformité

54 articles
SOA ISO 27001 : Statement of Applicability Complet Feuille de Route ISO 27001 : Certification en 12 Étapes Checklist Audit ISO 27001 : 93 Contrôles Annexe A 2022 Charte Informatique Entreprise : Guide et Modèle Word Analyse de Risques ISO 27005 : Méthodologie Complète PSSI ISO 27001 : Guide Rédaction et Modèle Complet Aspects Juridiques et Éthiques de l’IA : Cadre Réglementaire Classification des données : méthodes et outils pratiques Analyse d'impact AIPD : méthodologie CNIL pas à pas NIS 2 et DORA : double conformité du secteur financier Maturité cybersécurité : modèles CMMC et NIST CSF 2.0 Cartographie des risques cyber avec EBIOS RM en 2026 SMSI ISO 27001 version 2022 : guide complet pas à pas Audit de conformité RGPD : checklist complète pour DPO NIS2, DORA et RGPD : Cartographie des Exigences Croisées IEC 62443 : Cybersécurité Industrielle OT - Guide : Guide Audit de Sécurité du SI : Méthodologie Complète et PRA/PCA Cyber : Plan de Reprise et Continuité d'Activité Qualification PASSI ANSSI : Devenir Prestataire d'Audit Audit de Securite Cloud : Checklist Conformite 2026 PCI DSS 4.0.1 : Nouvelles Exigences Mars 2026 en 2026 Conformite Multi-Referentiels : Approche Unifiee 2026 NIS 2 Phase Operationnelle : Bilan 6 Mois Apres en 2026 Aspects Juridiques et Ethiques de l'IA en Entreprise ISO/IEC 42001 Foundation : Système de Management IA ISO 42001 Lead Auditor : Auditer un Systeme de Management ISO 42001 Lead Implementer : Management de l’IA et RGPD et AI Act : Guide Complet pour les Organisations en ... Développement Sécurisé ISO 27001 : Cycle S-SDLC en 6 Cyber Assurance 2026 : Exigences et Marche Durci en 2026 SOC 2 Type II : Retour d'Experience Implementation DORA 2026 : Impact sur le Secteur Financier Francais Cyber-assurance 2026 : Nouvelles Exigences et Guide Complet AI Act 2026 : Guide Conformité Systèmes IA à Haut Risque Cyber Resilience Act 2026 : Guide Anticipation Produits C... DORA 2026 : Premier Bilan et Contrôles ACPR - Guide Complet NIS 2 Phase Opérationnelle 2026 : Guide Complet de Mise RGPD 2026 : Securite des Donnees et Enforcement CNIL - Gu... HDS 2026 : Certification Hébergeur de Données de Santé - PCI DSS 4.0.1 en 2026 : Retour d'Expérience et Guide SBOM 2026 : Obligation de Sécurité et Guide Complet SecNumCloud 2026 et EUCS : Guide Complet Qualification Cryptographie Post-Quantique : Guide Complet pour les SI ... ISO 27001:2022 Guide Complet Certification Expert 2026 NIS 2 : Guide Complet de la Directive Européenne sur la SOC 2 : Guide Complet Conformite pour Organisations RGPD 2026 : Durcissement des Sanctions par la CNIL HDS 2026 : Certification Hebergement de Donnees Sante Cyber Resilience Act : Guide de Conformite Produits RGPD et IA Generative : Guide de Conformite CNIL en 2026 SecNumCloud 2026 : Migration et Certification EUCS AI Act Classification : Systemes a Haut Risque en 2026 SBOM 2026 : Obligation de Transparence Logicielle en 2026 ISO 27001:2022 vs ISO 27001:2013 : Differences Cles

SOC et Detection

25 articles
Incident Triage : Classification et Priorisation SOC 2026 Threat Hunting Proactif : Techniques et Outils SOC 2026 Sigma Rules : Standard de Détection Universel Guide Complet SOC as a Service : Externaliser la Détection Guide 2026 XDR vs SIEM vs EDR : Comprendre les Différences en 2026 Purple Team : Collaboration entre SOC et Red Team Guide Détection du Mouvement Latéral : Guide Complet SOC 2026 Triage des Alertes SOC : Méthodologie Complète pour Analyste NDR : Détection Réseau et Réponse aux Menaces Guide 2026 SIEM Cloud-Native vs On-Premise : Comparatif Complet 2026 Log Management : Architecture et Rétention SOC : Guide Use Cases SIEM : 50 Règles Détection Essentielles : Gui SOC Metrics et KPIs : Mesurer la Performance : Guide Co SOAR : Automatisation Réponse Incident Guide : Guide Co Threat Intelligence Platforms : Comparatif 2026 : Guide Microsoft Sentinel : Déploiement et Règles KQL : Guide Splunk Enterprise Security : Configuration SOC : Guide Elastic SIEM : Stack Détection Open Source 2026 : Guide SOC Moderne : Architecture et Outils Guide 2026 : Guide Analyste SOC : Niveaux, Parcours et Compétences : Guide Threat Hunting : Méthodologie, Outils et Pratique pour Detection Engineering : Construire des Règles de : Guide Detection-as-Code : Pipeline CI/CD pour Règles SIEM et Sigma Rules : Guide Complet d'Écriture et Déploiement de Wazuh SIEM/XDR Open Source : Déploiement, Configuration

Cloud Security

45 articles
Cloud Forensics Avancée Post-Compromission sur AWS Cloud Pentest : Méthodologie Complète Audit AWS et Azure Cloud Logging : Guide Centralisation et Monitoring Sécurité Cloud Network Security : Guide Complet VPC, WAF et DDoS DevSecOps Cloud : Guide Pipeline CI/CD Sécurisé Complet Cloud Disaster Recovery : Guide PRA et Résilience Cloud Cloud Compliance : Guide RGPD, HDS et SecNumCloud 2026 Cloud Forensics : Guide Investigation Incident Cloud 2026 Infrastructure as Code Security : Guide Terraform Complet Cloud Encryption : Guide Chiffrement Données et Clés KMS CASB : Guide Comparatif Cloud Access Security Broker 2026 Container Security : Docker et Runtime Protection Avancée Serverless Security : Sécuriser Lambda et Functions Cloud Multi-Cloud Security : Guide Stratégie Sécurité Unifiée Cloud IAM : Guide Gestion Identités et Accès Cloud 2026 Kubernetes Security : Guide Durcissement Cluster K8s 2026 Sécurité AWS : Guide Complet Hardening Compte et Services Azure Security Center : Guide Configuration Complète 2026 GCP Security : Bonnes Pratiques et Guide Audit Cloud 2026 CSPM : Guide Cloud Security Posture Management Complet CNAPP : Guide Protection Cloud-Native Applications 2026 ZTNA Zero Trust Network Access Cloud : Guide Complet Disaster Recovery Cloud : PRA Multi-Région en 2026 Attaques sur Metadata Services Cloud : SSRF et IMDS FinOps Sécurité : Cryptomining Ressources Fantômes Secrets Management Cloud : Vault et Key Vault 2026 Cloud Compliance NIS 2 SecNumCloud ISO 27017 Guide Sécurité Multi-Cloud : Stratégie Unifiée AWS, Azure et GCP Cloud Misconfiguration : Top des Erreurs de Sécurité et Cloud IAM : Sécurisation des Identités et Accès AWS, CSPM : Cloud Security Posture Management - Guide Complet Souveraineté Cloud : Protéger les Données Sensibles en Container Registry : Guide Sécurité Images Docker 2026 Cloud Logging Monitoring : Visibilité Complète 2026 Service Mesh Security : Sécuriser Istio et Linkerd Cloud Pentest Azure : Exploitation Misconfiguration Terraform IaC Sécurisé : Checklist de Durcissement Cloud Pentest AWS avec Pacu et CloudFox : Le Guide Sécurité Serverless : Lambda Functions et Protection CNAPP Cloud-Native Application Protection Platform Kubernetes Security : RBAC et Network Policies 2026 GCP Security Command Center : Audit et Durcissement Azure Defender for Cloud : Guide Configuration 2026 AWS Security : Les 20 Services Sécurité Essentiels Sécuriser une Architecture Multi-Cloud AWS et Azure

Retro-Ingenierie

18 articles
Frida et DynamoRIO : Instrumentation Binaire Avancée 2026 Symbolic Execution : Angr, Triton et Découverte d'Exploits Analyse Mémoire Forensique : Volatility pour Malware Analyse de Shellcode : Techniques de Rétro-Ingénierie Rétro-Ingénierie de C2 : Cobalt Strike et Brute Ratel Anti-Analyse Malware : Techniques et Contournements Analyse de Stealers : RedLine, Raccoon, Lumma 2026 Unpacking Malware Avancé : Techniques et Outils 2026 Rétro-Ingénierie de Ransomware : Analyse Technique Analyse Dynamique de Malware Avancée : Sandbox Expert Anti-Rétro-Ingénierie APT - Techniques d'Évasion Avancées Disséquer l'Obscurité : Techniques Avancées de Déobfuscation IA Frameworks pour l'Analyse de Malwares - Deep Learning Malwares Mobiles & IA - Rétro-Ingénierie Cross-Platform Chasse aux Fantômes : Rétro-Ingénierie Ghidra : Guide de Reverse Engineering pour Débutants Fileless Malware : Analyse, Détection et Investigation Reverse Engineering .NET : Décompilation, Analyse et

News

202 articles
Microsoft force la mise à jour vers Windows 11 25H2 sur les PC non gérés Affinity : une fuite de données expose 175 000 utilisateurs du forum Axios npm piraté : la Corée du Nord derrière l attaque supply chain React2Shell : 766 serveurs Next.js compromis, credentials volés Drift Protocol : hack à 285 M$ attribué à la Corée du Nord Cisco IMC : faille critique CVSS 9.8 permet un accès admin NoVoice : un rootkit Android caché dans 50 apps du Play Store Apple étend iOS 18.7.7 pour contrer l'exploit DarkSword Fortinet : faille critique FortiClient EMS exploitée activement Slack déploie 30 fonctionnalités IA et devient un agent autonome Commission européenne hackée via Trivy : 30 entités UE exposées BrowserGate : LinkedIn scanne vos extensions de navigateur en secret CVE-2026-0625 : zero-day critique dans les routeurs D-Link EOL GlassWorm : 72 extensions Open VSX piégées ciblent les développeurs CVE-2026-5281 : zero-day Chrome WebGPU exploité activement Le CMA britannique lance une enquête sur les licences cloud Microsoft Google NotebookLM passe à Gemini 2.5 Flash pour le raisonnement OpenAI teste des Skills pour ChatGPT, inspirées de Claude Faille critique Fortinet CVE-2026-32756 : exploitation active Akira Ransomware cible les ESXi via une faille vCenter inédite Microsoft lance Copilot Security Agents pour automatiser le SOC Claude 4 Opus d Anthropic : benchmark et implications sécurité NIS 2 : Premières Sanctions ANSSI en France 2026 Rebellions lève 400 M$ pour défier Nvidia sur les puces IA Exchange Online : Microsoft peine à résoudre des pannes persistantes TridentLocker frappe Sedgwick, sous-traitant du gouvernement US Hims & Hers : ShinyHunters vole des millions de tickets Zendesk Qilin revendique le vol de données du parti allemand Die Linke Interlock exploite un zero-day Cisco FMC CVSS 10 depuis janvier SparkCat : un malware vole les cryptos depuis les stores mobiles Microsoft lance ses propres modèles IA pour défier OpenAI Fuite Claude Code : des dépôts GitHub piégés diffusent Vidar PTC Windchill : la police allemande réveille les admins GitHub Copilot entraîne ses IA sur vos données dès le 24 285 M$ volés en 12 minutes par des hackers nord-coréens 766 serveurs Next.js compromis par vol de credentials une faille CVSS 9.8 permet le reset des mots de passe admin Cisco corrige deux failles critiques CVSS 9.8 dans IMC et Le FBI alerte sur les risques des applications mobiles ShareFile : deux failles chaînées permettent une RCE sans NoVoice : un malware Android sur Google Play vole les un exploit kit iOS cible WebKit et le kernel Apple Microsoft alerte sur une campagne VBS avec bypass UAC TrueChaos : un APT chinois exploite TrueConf pour cibler Microsoft lance Copilot Wave 3 et Agent 365 pour l'ère UAC-0255 usurpe le CERT-UA et diffuse le RAT AGEWHEEZE Chrome : Google corrige un 4e zero-day exploité en 2026 L'Iran relance Pay2Key avec des pseudo-ransomwares TeamPCP compromet des environnements cloud via des Le CMA ouvre une enquête sur Microsoft pour ses licences VMware Aria Operations : RCE critique exploitée activement Cisco SD-WAN : un zero-day CVSS 10 exploité depuis trois ans Citrix NetScaler : faille critique CVSS 9.3 exploitée Databricks lance Lakewatch, un SIEM dopé à l'IA générative Microsoft enchaîne les correctifs d'urgence Windows en 2026 Axios piraté : un RAT distribué via npm à 100 millions CareCloud Breach : Dossiers Patients Exposés en 2026 le malware IA qui vole vos identifiants navigateur ChatGPT : une faille permettait l'exfiltration de données LexisNexis piraté : 400 000 profils cloud exposés via ShinyHunters vole 350 Go de données à la Commission Aflac notifie 22 millions de clients après une cyberattaque CTRL : toolkit RAT russe ciblant les entreprises via RDP macOS Tahoe 26.4 : Apple bloque les attaques ClickFix 10 561 failles détectées dans 1,2 million de commits GitHub : de fausses alertes VS Code propagent un malware Microsoft retire la mise à jour KB5079391 après des Le DoJ démantèle des botnets IoT derrière le DDoS record FortiGate : campagne active de vol de credentials ciblant CISA alerte sur une RCE exploitée, 24 700 instances exposées CVE-2026-20131 : Interlock exploite un zero-day Cisco FMC NIST renouvelle son guide de sécurité DNS après douze ans Handala pirate la messagerie du directeur du FBI Kash Patel Infinity Stealer : un nouveau malware cible macOS via Windows 11 : Microsoft publie un correctif d'urgence le fossé des compétences se creuse entre experts et novices Ubiquiti UniFi : faille CVSS 10 expose 29 000 équipements CVE-2026-21385 : Qualcomm corrige un zero-day Android CVE-2026-0625 : zero-day exploité sur routeurs D-Link Google corrige deux zero-days Skia et V8 exploités Mistral lance Voxtral TTS, modèle vocal open source à 4B GitHub lance la détection IA pour sécuriser le code source CVE-2026-3055 : Citrix NetScaler sous reconnaissance active Crunchyroll piraté : 6,8 millions de comptes compromis TeamPCP piège le SDK Telnyx sur PyPI via stéganographie WAV CVE-2025-53521 : F5 BIG-IP exploité, CISA exige un patch BlackCat : deux experts cybersécurité plaident coupable CVE-2026-32746 : RCE root non authentifié dans Telnetd APT28 exploite un 0-day MSHTML avant le Patch Tuesday Red Menshen : BPFDoor espionne les télécoms depuis 2021 Anthropic : la justice américaine bloque le ban de Trump Commission européenne : 350 Go volés via un cloud AWS Bearlyfy frappe 70 entreprises russes avec GenieLocker LangChain et LangGraph : trois failles critiques révélées PolyShell : 57 % des boutiques Magento vulnérables attaquées CVE-2026-33017 Langflow : RCE non authentifié exploité Qilin cible Malaysia Airlines : données passagers volées Conduent : brèche SafePay expose 25 millions d'Américains Mistral Small 4 : un seul modèle MoE remplace trois IA PolyShell : skimmer WebRTC vole 56 % des boutiques Magento CanisterWorm : TeamPCP infecte Trivy et 66 packages npm GlassWorm utilise Solana comme C2 pour son RAT furtif Medusa Ransomware : 9 jours hors-ligne pour un hôpital US Mandiant M-Trends 2026 : accès initial cédé en 22 secondes CVE-2026-20131 Cisco FMC : CVSS 10.0, hôpitaux visés CERTFR-2026-ALE-003 : ANSSI alerte sur les messageries Opération Checkmate : BlackSuit ransomware démantélé LiteLLM piraté : attaque supply chain PyPI TeamPCP EvilTokens PhaaS : 340 organisations M365 touchées Slopoly : Hive0163 déploie un malware généré par IA FCC interdit l'import de routeurs étrangers aux USA Silver Fox APT : espionnage et cybercrime ciblant l Asie Firefox 149 intègre un VPN gratuit et le Split View CVE-2026-32746 : RCE root non authentifié, GNU Telnetd CVE-2026-22557 Ubiquiti UniFi CVSS 10.0, 87 000 exposés TELUS Digital : ShinyHunters et le Vol de 1 PO de Data CVE-2025-32975 : Quest KACE SMA CVSS 10.0 exploité NVIDIA Agent Toolkit : IA autonome sécurisée en prod CVE-2026-3055 Citrix NetScaler : fuite de tokens SAML Crunchyroll confirme une fuite touchant 6,8 M d'utilisateurs Tycoon 2FA démantelé : Europol met fin au PhaaS MFA bypass TeamPCP étend son attaque supply chain à Checkmarx KICS CVE-2026-33017 Langflow : RCE exploité 20h après disclosure Stryker : le wiper iranien Handala détruit 80 000 terminaux Zero-Day CVSS 10.0 PTC Windchill : webshells en production Un hacker russe condamné à 81 mois pour ransomware La Corée du Nord piège les devs crypto via VS Code CMA UK : décision imminente contre AWS et Microsoft Moscou Usurpe Signal pour Cibler Officiels et Journalistes Microsoft Corrige en Urgence son Patch Tuesday Cassé GlassWorm Piège 72 Extensions VSCode pour Voler des Secrets PhantomRaven : Campagne npm Cible les Secrets CI/CD VMware Aria Operations CVE-2026-22719 : CISA KEV RCE Cisco FMC CVE-2026-20131 : Interlock RCE Root Actif DarkSword : exploit iOS zero-day ciblant les iPhones Le DoJ démantèle 4 botnets IoT au record de 31 Tbps n8n : 4 Failles RCE Critiques, 24 700 Serveurs Exposés Trivy : Attaque Supply Chain via GitHub Actions 2026 Meta : Agent IA Autonome Déclenche un Incident Critique Mistral Small 4 : Le Modèle Open Source 119B Tout-en-Un CVE-2026-21992 : Oracle Identity Manager RCE CVSS 9.8 Malaysia Airlines : le Groupe Quilin Exfiltre les Données Marquis Financial : 672 000 Victimes et Données Bancaires CVE-2025-68613 n8n : CISA KEV, 24 700 instances RCE exposées Navia Benefit Solutions : 2,7M dossiers santé exposés Opération Alice : 373 000 sites dark web démantelés CVE-2026-32746 : RCE Root dans GNU Telnetd CVSS 9.8 APT28 BadPaw et MeowMeow : Nouvelles Armes Contre l'Ukraine APT41 Silver Dragon : Espionnage via Google Drive C2 CVE-2026-20131 : Cisco FMC Zero-Day CVSS 10 Exploité CVE-2026-20963 SharePoint RCE Exploité : Alerte CISA KEV CVE-2026-33017 Langflow RCE : Exploité en Moins de 20h Iran-Handala : Wiper sur Stryker, FBI Saisit les Domaines CERT-FR : Messageries Instantanées Détournées Sans Malware TELUS Digital : ShinyHunters Vole 1 Pétaoctet de Données GLM-5 : Zhipu AI Lance un Modele 744B Parametres en 2026 Kali Linux 2025.4 : Passage a Wayland par Defaut en 2026 RSAC 2026 : Les Tendances Cybersecurite de l'Annee Patch Tuesday Fevrier 2026 : 4 Zero-Days Critiques Google Finalise l'Acquisition de Wiz pour 32 Milliards Gemini 3.1 Pro : 1 Million de Tokens en Contexte en 2026 Entra ID : Jailbreak de l'Authenticator Decouvert en 2026 FIRST Prevoit 50 000 CVE Publiees en 2026 : Guide Complet Entra ID : Migration Obligatoire vers DigiCert G2 en 2026 Anthropic Lance Cowork : Claude Sans Code pour Tous FCC Alerte : Ransomware Quadruple Depuis 2021 en 2026 Qilin Ransomware Domine le Paysage des Menaces Q1 2026 McDonald's India : Everest Ransomware Frappe Fort en 2026 CNIL France Travail : Sanction de 5 Millions EUR en 2026 CNIL : Free Mobile Sanctionne a 42 Millions EUR en 2026 Patch Tuesday Janvier 2026 : 112 CVE Corrigees en 2026 Microsoft Publie un Guide de Durcissement AD Complet Kali Linux 2025.3 : 15 Nouveaux Outils de Pentest en 2026 Cegedim Sante : 15 Millions de Patients Exposes en 2026 Kubernetes 1.35 : User Namespaces en Production en 2026 CNIL : Amende de 3,5M EUR pour Partage Illegal de Donnees SoundCloud et Inotiv : Double Fuite de Donnees en 2026 Leroy Merlin : Fuite de Donnees de 2 Millions de Clients GPT-5.2 : OpenAI Repousse les Limites a 400K Tokens React2Shell : RCE Critique CVSS 10 dans React Native BadSuccessor : Nouvelle Faille Critique Windows AD NIS 2 : l'Allemagne Adopte sa Loi de Transposition Shai-Hulud 2 : Supply Chain NPM Compromis a Grande Echelle Llama 4 Scout et Maverick : Meta Passe au Multimodal Microsoft Renforce la Protection CSP dans Entra ID Attaques Active Directory en Hausse de 42% en 2025 CVE-2025-20337 : RCE Critique dans Cisco ISE : Guide Complet Claude 4.5 : Anthropic Mise sur les Agents IA en 2026 Gemini 3 : Google Bat Tous les Benchmarks LLM en 2026 GPT-5.1 : OpenAI Lance son Modele le Plus Puissant ISO 27001:2022 : Fin de Transition en Octobre 2025 DoorDash : Fuite Massive via Social Engineering en 2026 OpenAI Renonce a l'Open Source pour ses Modeles IA SimonMed : Medusa Ransomware Expose 500K Patients en 2026 Ingénierie Sociale par IA : Menace Cyber n°1 en 2025 Failles de Sécurité Critiques Découvertes dans l'App Cisco Lance un Outil pour Sécuriser les Déploiements Faille Microsoft 365 Copilot Permet l'Exfiltration de Microsoft Déploie un Fix d'Urgence pour le Bug en 2026 Crimson Collective Exfiltre 12 To via F5 BIG-IP en 2026 Oracle EBS : Zero-Day RCE Exploite en Production en 2026 CVE-2025-64446 : Faille Critique FortiWeb CVSS 9.8

Livres Blancs

14 articles
Livres Blancs Gratuits
Voir tous →

Téléchargement gratuit · Aucune inscription requise

Tous les livres blancs
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Checklist Sécurité ANC

🖥️ Checklist Sécurité Windows 11 — Poste de Travail

Durcissement W11 : BitLocker, Credential Guard, WDAC, pare-feu, comptes locaux, TPM 2.0, Smart App Control et télémétrie.

26 sections 436 contrôles 63707 mots PDF + Excel

Notre checklist la plus volumineuse avec 436 contrôles pour le durcissement des postes Windows 11 : BitLocker avec TPM 2.0, Credential Guard, WDAC (Windows Defender Application Control), pare-feu avancé, gestion des comptes locaux, Smart App Control, contrôle de la télémétrie et conformité aux baselines Microsoft.

📑 Table des matières

CHECKLIST SÉCURITÉ WINDOWS 11 — POSTE DE TRAVAIL

AYI NEDJIMI CONSULTANTS (ANC)

Référentiel : CIS Microsoft Windows 11 Stand-alone Benchmark v5.0.0 + Microsoft Security Baseline + ANSSI + DISA STIG


Document : CHECKLIST-W11-ANC | Version : 1.0 | Date : 2026-04-04 | Classification : CONFIDENTIEL | Auteur : AYI NEDJIMI CONSULTANTS


LÉGENDE

Symbole Signification
Conforme
Non conforme
⚠️ Partiellement conforme
N/A Non applicable
🔴 Critique — Risque immédiat d’exploitation, correction impérative sous 48h
🟠 Élevé — Risque significatif, correction recommandée sous 2 semaines
🟡 Moyen — Risque modéré, correction planifiable sous 1 mois
🟢 Faible — Durcissement complémentaire, correction selon capacité

MODE DÉCOUVERTE RAPIDE — 15 Questions Clés (< 30 min)

Objectif : Évaluation rapide du niveau de sécurité d’un poste de travail Windows 11 en moins de 30 minutes. Ces 15 questions couvrent les risques les plus critiques et permettent d’identifier immédiatement les failles majeures.

# Question clé Contrôle Risque si NON Statut
Q1 Le mot de passe du compte administrateur local est-il géré par Windows LAPS ? 1.4.1 🔴 Critique — Mouvement latéral facilité (Pass-the-Hash), mots de passe identiques sur tous les postes ☐ OUI ☐ NON
Q2 La politique de mot de passe exige-t-elle 14 caractères minimum avec complexité ? 1.1.4, 1.1.5 🔴 Critique — Mots de passe faibles vulnérables au craquage par force brute ☐ OUI ☐ NON
Q3 Le pare-feu Windows Defender est-il activé sur les 3 profils (Domaine, Privé, Public) ? 4.1.1, 4.2.1, 4.3.1 🔴 Critique — Exposition aux attaques réseau, propagation de malware ☐ OUI ☐ NON
Q4 BitLocker est-il activé sur le volume système avec protecteur TPM+PIN ? 14.1.1 🔴 Critique — Vol de données en cas de perte/vol du poste portable ☐ OUI ☐ NON
Q5 La journalisation avancée (Advanced Audit Policy) est-elle configurée ? 3.1.1 à 3.1.17 🔴 Critique — Impossibilité de détecter les intrusions, non-conformité RGPD/NIS2 ☐ OUI ☐ NON
Q6 La signature SMB est-elle requise sur le client ? 7.1.1 🔴 Critique — Attaques de relais SMB, interception de données ☐ OUI ☐ NON
Q7 Le niveau d’authentification LAN Manager refuse-t-il LM et NTLM ? 7.3.1 🔴 Critique — Authentification faible vulnérable au craquage et au relais ☐ OUI ☐ NON
Q8 La journalisation PowerShell (Script Block Logging) est-elle activée ? 12.1.1 🟠 Élevé — Scripts malveillants indétectables, PowerShell vecteur d’attaque #1 ☐ OUI ☐ NON
Q9 Credential Guard (VBS) est-il activé ? 8.1.1 🟠 Élevé — Vol d’identifiants via Mimikatz (Pass-the-Hash/Ticket) ☐ OUI ☐ NON
Q10 Une politique AppLocker ou WDAC est-elle déployée ? 9.1.1, 9.2.1 🟠 Élevé — Exécution de binaires malveillants, ransomware ☐ OUI ☐ NON
Q11 Windows Update est-il configuré et à jour (< 30 jours) ? 18.1.1 🔴 Critique — Exploitation de vulnérabilités connues (CVE) ☐ OUI ☐ NON
Q12 NLA est-elle requise pour les connexions RDP ? 13.1.2 🟠 Élevé — Attaques par force brute sur RDP ☐ OUI ☐ NON
Q13 La politique de verrouillage de compte est-elle configurée (≤ 5 tentatives, ≥ 15 min) ? 1.2.1 à 1.2.4 🔴 Critique — Password spraying non bloqué ☐ OUI ☐ NON
Q14 UAC est-il activé avec consentement sur bureau sécurisé ? 2.2.42 à 2.2.49 🟠 Élevé — Élévation de privilèges facilitée ☐ OUI ☐ NON
Q15 Secure Boot, TPM 2.0 et HVCI sont-ils activés ? 15.1.1 à 15.1.3 🟠 Élevé — Bootkits et rootkits non détectés ☐ OUI ☐ NON

INFORMATIONS CLIENT

Champ Valeur
Organisation
Nom du poste
Adresse IP
Adresse MAC
Utilisateur principal
Fonction / Service
Système d’exploitation Windows 11
Édition ☐ Pro ☐ Enterprise ☐ Education
Build / Version
Feature Update ☐ 23H2 ☐ 24H2 ☐ 25H2
Date d’installation
Dernière mise à jour
Date d’audit
Auditeur
Domaine AD / Entra ID
OU Active Directory
Inscription Intune ☐ OUI ☐ NON
Responsable système
Environnement ☐ Production ☐ Préproduction ☐ Développement ☐ Test
Criticité métier ☐ Critique ☐ Haute ☐ Moyenne ☐ Basse
Type de poste ☐ Fixe ☐ Portable ☐ Hybride
Connectivité ☐ Réseau entreprise ☐ VPN ☐ WiFi public ☐ 4G/5G

PRÉREQUIS D’AUDIT

Avant de commencer l’audit, vérifier les éléments suivants :

  • Accès administrateur local au poste de travail
  • PowerShell 5.1+ disponible (exécuter en tant qu’administrateur)
  • Droits de lecture sur le registre (HKLM, HKCU)
  • Accès à la console Stratégie de sécurité locale (secpol.msc)
  • Accès à l’Éditeur de stratégie de groupe locale (gpedit.msc)
  • Accès au Gestionnaire de périphériques et Informations système
  • Outil d’export de configuration GPO (gpresult /H rapport.html)
  • Connectivité réseau pour vérification des mises à jour
  • Documentation de la politique de sécurité de l’organisation
  • Sauvegarde du système avant toute modification

Commandes de collecte initiale

# Informations système
Get-ComputerInfo | Select-Object CsName, WindowsProductName, WindowsVersion, OsBuildNumber, BiosFirmwareType

# État de sécurité rapide
Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled, AMServiceEnabled

# État BitLocker
Get-BitLockerVolume | Select-Object MountPoint, ProtectionStatus, EncryptionMethod

# État TPM
Get-Tpm | Select-Object TpmPresent, TpmReady, TpmEnabled, ManufacturerVersion

# VBS / Credential Guard
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace 'root\Microsoft\Windows\DeviceGuard'

# Export GPO locale
gpresult /H C:\AuditANC\GPO_Report.html /F

# Export politique de sécurité
secedit /export /cfg C:\AuditANC\secpol.cfg

# Inventaire des services
Get-Service | Where-Object {$_.StartType -ne 'Disabled'} | Export-Csv C:\AuditANC\Services.csv -NoTypeInformation


SECTION 1 — POLITIQUE DE COMPTES ET MOTS DE PASSE

Objectif : Garantir que les politiques de mot de passe, de verrouillage de compte et d’authentification Windows Hello appliquées sur le poste Windows 11 respectent les recommandations CIS, Microsoft Security Baseline et ANSSI. Une politique de mot de passe robuste est la première ligne de défense contre les attaques par force brute, le credential stuffing et le password spraying.

Références : CIS Windows 11 Stand-alone Benchmark v5.0.0 §1.1–1.2 | ANSSI R1–R5 | NIST SP 800-53 IA-5 | DISA STIG V-253265 à V-253280


1.1.1 — Historique des mots de passe — Conserver au minimum 24 mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.1 T1110 (Brute Force)

Description :

L’historique des mots de passe empêche les utilisateurs de réutiliser leurs anciens mots de passe. La configuration recommandée est de conserver au minimum 24 mots de passe dans l’historique, réduisant considérablement le risque de rotation cyclique.

Sur un poste autonome Windows 11, cette politique s’applique au compte administrateur local et aux comptes utilisateurs locaux. Combinée avec un âge minimum (contrôle 1.1.2), elle empêche le contournement par changements rapides successifs.

Vérification :

net accounts | Select-String 'Length of password history'
  • Registre : HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Conserver l’historique des mots de passe
  • Valeur attendue : 24 mots de passe mémorisés (ou plus)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Enforce password history → 24 passwords remembered

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Mot de passe > Nombre de mots de passe précédents → 24

  3. PowerShell :

net accounts /uniquepw:24
  1. Registre :
Utiliser secedit pour configurer : PasswordHistorySize = 24

Valeur par défaut : 0 (aucun historique conservé)


1.1.2 — Âge minimum du mot de passe — Au moins 1 jour

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.2 T1110.001 (Password Guessing)

Description :

L’âge minimum du mot de passe détermine le nombre de jours pendant lesquels un mot de passe doit être utilisé avant modification. La valeur recommandée est d’au moins 1 jour.

Cette politique empêche les utilisateurs de changer immédiatement leur mot de passe plusieurs fois pour revenir à un ancien, contournant la politique d’historique.

Vérification :

net accounts | Select-String 'Minimum password age'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Durée de vie minimale du mot de passe
  • Valeur attendue : 1 jour (ou plus)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Minimum password age → 1 day

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Mot de passe > Âge minimum → 1

  3. PowerShell :

net accounts /minpwage:1
  1. Registre :
Configuration via secedit ou GPO

Valeur par défaut : 0 (aucune restriction)


1.1.3 — Âge maximum du mot de passe — Au plus 365 jours

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.3 T1078 (Valid Accounts)

Description :

L’âge maximum détermine la durée maximale d’utilisation d’un mot de passe. La valeur recommandée est de 365 jours maximum. Note : Microsoft et le NIST SP 800-63B recommandent désormais de ne pas imposer de rotation obligatoire sauf compromission avérée.

Le benchmark CIS maintient cette recommandation pour les postes autonomes. L’organisation doit évaluer cette politique en fonction de son contexte de risque.

Vérification :

net accounts | Select-String 'Maximum password age'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Durée de vie maximale du mot de passe
  • Valeur attendue : 365 jours (ou moins)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Maximum password age → 365 days

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Mot de passe > Âge maximum → 365

  3. PowerShell :

net accounts /maxpwage:365
  1. Registre :
Configuration via secedit ou GPO

Valeur par défaut : 42 jours


1.1.4 — Longueur minimale du mot de passe — Au moins 14 caractères

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.4 T1110.002 (Password Cracking)

Description :

La longueur minimale est l’un des paramètres les plus importants. La valeur recommandée est de 14 caractères minimum, conformément aux recommandations CIS et ANSSI.

Un mot de passe de 14 caractères offre une résistance significative contre les attaques par force brute et les tables arc-en-ciel. L’ANSSI recommande 12 caractères minimum (16 pour les comptes à privilèges). Sur Windows 11, cette mesure protège les comptes locaux contre les attaques hors ligne sur le fichier SAM.

Vérification :

net accounts | Select-String 'Minimum password length'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Longueur minimale du mot de passe
  • Valeur attendue : 14 caractères (ou plus)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Minimum password length → 14

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Mot de passe > Longueur minimale → 14

  3. PowerShell :

net accounts /minpwlen:14
  1. Registre :
Configuration via secedit : MinimumPasswordLength = 14

Valeur par défaut : 0 (aucune exigence)


1.1.5 — Exigences de complexité du mot de passe — Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.5 T1110.003 (Password Spraying)

Description :

Lorsque activée, les mots de passe doivent contenir des caractères d’au moins 3 des 5 catégories : majuscules (A-Z), minuscules (a-z), chiffres (0-9), caractères spéciaux et caractères Unicode. Le mot de passe ne doit pas contenir le nom du compte utilisateur.

Cette exigence augmente considérablement l’espace de recherche pour les attaques par force brute et rend les attaques par dictionnaire moins efficaces.

Vérification :

secedit /export /cfg C:\AuditANC\secpol.cfg /quiet
Get-Content C:\AuditANC\secpol.cfg | Select-String 'PasswordComplexity'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Le mot de passe doit respecter des exigences de complexité
  • Valeur attendue : Activé

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements → Enabled

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Mot de passe > Exiger la complexité → Oui

  3. PowerShell :

# Vérification via secedit — PasswordComplexity doit être = 1
  1. Registre :
Configuration via secedit ou GPO uniquement

Valeur par défaut : Activé


1.1.6 — Relaxation de la longueur minimale des mots de passe — Audit activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 1.1.6 T1110 (Brute Force)

Description :

Windows 11 introduit le paramètre de relaxation permettant de configurer un audit pour détecter les mots de passe plus courts que la limite recommandée. Ce contrôle est utile en phase de transition vers une politique plus stricte.

Ce paramètre permet d’identifier les comptes à risque avant d’imposer la nouvelle politique de longueur minimale.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SAM' -Name 'RelaxMinimumPasswordLengthLimits' -ErrorAction SilentlyContinue
  • Registre : HKLM\SYSTEM\CurrentControlSet\Control\SAM\RelaxMinimumPasswordLengthLimits
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Relax minimum password length limits
  • Valeur attendue : Activé

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Relax minimum password length limits → Enabled

  2. Intune / MEM : Non disponible nativement — script de remédiation personnalisé

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SAM' -Name 'RelaxMinimumPasswordLengthLimits' -Value 1 -Type DWord
  1. Registre :
HKLM\SYSTEM\CurrentControlSet\Control\SAM\RelaxMinimumPasswordLengthLimits = 1 (DWORD)

Valeur par défaut : Non défini


1.1.7 — Stocker les mots de passe en chiffrement réversible — Désactivé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.7 T1003.002 (Security Account Manager)

Description :

Ce paramètre détermine si le système stocke les mots de passe en chiffrement réversible. Si activé, les mots de passe sont effectivement stockés en clair, ce qui constitue une vulnérabilité critique.

Sur un poste Windows 11, il n’existe aucune raison légitime d’activer ce paramètre. Un attaquant compromettant le fichier SAM pourrait récupérer tous les mots de passe en clair.

Vérification :

secedit /export /cfg C:\AuditANC\secpol.cfg /quiet
Get-Content C:\AuditANC\secpol.cfg | Select-String 'ClearTextPassword'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de mot de passe > Stocker les mots de passe en chiffrement réversible
  • Valeur attendue : Désactivé

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Store passwords using reversible encryption → Disabled

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Mot de passe > Chiffrement réversible → Non

  3. PowerShell :

# ClearTextPassword doit être = 0 dans secedit
  1. Registre :
ClearTextPassword = 0

Valeur par défaut : Désactivé


1.2.1 — Durée de verrouillage du compte — Au moins 15 minutes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.2.1 T1110.001 (Password Guessing)

Description :

La durée de verrouillage définit le temps pendant lequel un compte reste verrouillé après le seuil de tentatives infructueuses atteint. La valeur recommandée est d’au moins 15 minutes.

Cette mesure contrecarre les attaques par force brute et le password spraying. Une valeur de 0 signifie verrouillage permanent jusqu’à intervention d’un administrateur.

Vérification :

net accounts | Select-String 'Lockout duration'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de verrouillage du compte > Durée de verrouillage
  • Valeur attendue : 15 minutes (ou plus, ou 0 pour permanent)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Account lockout duration → 15 minutes

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Verrouillage du compte > Durée → 15

  3. PowerShell :

net accounts /lockoutduration:15
  1. Registre :
Configuration via secpol.msc

Valeur par défaut : Non défini


1.2.2 — Seuil de verrouillage du compte — Au plus 5 tentatives

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.2.2 T1110.003 (Password Spraying)

Description :

Le seuil détermine le nombre de tentatives échouées avant verrouillage. La valeur recommandée est de 5 tentatives maximum (entre 1 et 5).

Un seuil trop élevé permet les attaques par force brute. Un seuil trop bas (1-2) entraîne des verrouillages accidentels. La valeur de 5 offre un bon compromis.

Vérification :

net accounts | Select-String 'Lockout threshold'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de verrouillage > Seuil de verrouillage
  • Valeur attendue : 5 tentatives (ou moins, > 0)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Account lockout threshold → 5 invalid logon attempts

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Verrouillage > Tentatives → 5

  3. PowerShell :

net accounts /lockoutthreshold:5
  1. Registre :
Configuration via secpol.msc

Valeur par défaut : 0 (désactivé)


1.2.3 — Réinitialisation du compteur de verrouillage — Au moins 15 minutes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.2.3 T1110 (Brute Force)

Description :

Ce paramètre détermine le délai après lequel le compteur de tentatives échouées est remis à zéro. La valeur recommandée est d’au moins 15 minutes.

Si trop court, un attaquant pourrait espacer ses tentatives pour éviter le verrouillage. Ce paramètre doit être ≤ à la durée de verrouillage (contrôle 1.2.1).

Vérification :

net accounts | Select-String 'Lockout observation window'
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de verrouillage > Réinitialiser le compteur après
  • Valeur attendue : 15 minutes (ou plus)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Reset account lockout counter after → 15 minutes

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Verrouillage > Réinitialisation → 15

  3. PowerShell :

net accounts /lockoutwindow:15
  1. Registre :
Configuration via secpol.msc

Valeur par défaut : Non défini


1.2.4 — Verrouillage du compte administrateur intégré — Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.2.4 T1078.003 (Local Accounts)

Description :

Ce paramètre Windows 11 permet d’appliquer la politique de verrouillage au compte administrateur intégré (RID 500). Par défaut, ce compte n’est pas soumis au verrouillage.

La recommandation CIS est d’activer ce paramètre pour que le compte administrateur soit verrouillé après le nombre de tentatives défini, empêchant les attaques par force brute ciblant spécifiquement ce compte.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'AdministratorAccountLockout' -ErrorAction SilentlyContinue
  • GUI : secpol.msc > Stratégies de comptes > Stratégie de verrouillage > Verrouillage du compte Administrateur
  • Valeur attendue : Activé

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Allow Administrator account lockout → Enabled

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Verrouillage > Verrouiller administrateur → Oui

  3. PowerShell :

# Configuration via secpol.msc uniquement
  1. Registre :
Configuration via secpol.msc ou GPO

Valeur par défaut : Non défini


1.3.1 — Windows Hello — PIN complexe requis (6 caractères minimum)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS N/A (MSB) T1078.001 (Default Accounts)

Description :

Windows Hello for Business remplace les mots de passe par une authentification forte à deux facteurs liée au TPM. Le PIN Windows Hello ne transite pas sur le réseau, contrairement aux mots de passe.

La recommandation est un PIN complexe d’au moins 6 chiffres (ou alphanumérique) avec biométrie comme facteur complémentaire.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity
  • GUI : Paramètres > Comptes > Options de connexion > Code PIN (Windows Hello)
  • Valeur attendue : PIN minimum 6 caractères, complexité activée

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\Windows Components\Windows Hello for Business\PIN Complexity\Minimum PIN length → 6

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows Hello > Longueur minimale PIN → 6

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'MinimumPINLength' -Value 6 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'RequireDigits' -Value 1 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\MinimumPINLength = 6

Valeur par défaut : PIN 4 chiffres sans complexité


1.3.2 — Windows Hello — Expiration du PIN — 365 jours maximum

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS N/A (MSB) T1078 (Valid Accounts)

Description :

Ce paramètre contrôle la durée de validité du PIN Windows Hello. Bien que lié au TPM, une rotation périodique réduit la fenêtre d’exploitation en cas de compromission par shoulder surfing.

La recommandation est une expiration de 180 à 365 jours pour les postes autonomes.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'Expiration' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\Expiration
  • GUI : Paramètres > Comptes > Options de connexion > PIN
  • Valeur attendue : 365 jours ou moins

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\Windows Components\Windows Hello for Business\PIN Complexity\Expiration → 365

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows Hello > Expiration PIN → 365

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'Expiration' -Value 365 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\Expiration = 365

Valeur par défaut : Non défini (pas d’expiration)


1.3.3 — Windows Hello — Historique du PIN — Au moins 5 PIN

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS N/A (MSB) T1078 (Valid Accounts)

Description :

L’historique du PIN empêche la réutilisation des anciens PIN. La configuration recommandée est de conserver au moins 5 PIN dans l’historique.

Cette mesure complète la politique d’expiration en garantissant que les utilisateurs ne reviennent pas cycliquement aux mêmes PIN.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'History' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\History
  • GUI : Non accessible via l’interface graphique standard
  • Valeur attendue : 5 ou plus

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\Windows Components\Windows Hello for Business\PIN Complexity\History → 5

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows Hello > Historique PIN → 5

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'History' -Value 5 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\History = 5

Valeur par défaut : Non défini


1.3.4 — Windows Hello — Caractères spéciaux requis dans le PIN

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS N/A (MSB) T1110 (Brute Force)

Description :

Ce paramètre détermine si les caractères spéciaux sont requis dans le PIN Windows Hello. Un PIN alphanumérique avec caractères spéciaux offre une meilleure résistance.

Valeur 1 = autorisés, Valeur 2 = requis. Recommandation : au moins autorisés pour les environnements standard, requis pour haute sécurité.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'SpecialCharacters' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\SpecialCharacters
  • GUI : Non accessible via GUI standard
  • Valeur attendue : 1 (autorisés) ou 2 (requis)

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\Windows Components\Windows Hello for Business\PIN Complexity\Require special characters → Allowed ou Required

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows Hello > Caractères spéciaux → Autorisé

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'SpecialCharacters' -Value 2 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity\SpecialCharacters = 2

Valeur par défaut : Non défini


1.4.1 — Windows LAPS — Gestion du mot de passe administrateur local activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.3.1 T1078.003 (Local Accounts)

Description :

Windows LAPS est intégré nativement à Windows 11 (21H2+). Il gère automatiquement le mot de passe du compte administrateur local en le changeant régulièrement et en le stockant de manière sécurisée dans Entra ID ou AD.

L’absence de LAPS expose le poste au risque de mot de passe administrateur identique sur tous les postes, facilitant le mouvement latéral après compromission d’un seul poste.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config' -ErrorAction SilentlyContinue
Get-LapsAADPassword -DeviceIds $env:COMPUTERNAME -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config
  • GUI : Paramètres > Comptes > Options de connexion > Gestion LAPS
  • Valeur attendue : LAPS activé et configuré

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\System\LAPS\Configure password backup directory → Azure Active Directory

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows LAPS > Activer → Oui

  3. PowerShell :

Get-LapsAADPassword -DeviceIds $env:COMPUTERNAME
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config\BackupDirectory = 1

Valeur par défaut : Non configuré


1.4.2 — Windows LAPS — Complexité du mot de passe — Niveau 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.3.2 T1110.002 (Password Cracking)

Description :

La complexité du mot de passe LAPS doit être au niveau 4 : majuscules + minuscules + chiffres + caractères spéciaux, avec une longueur d’au moins 15 caractères.

Un mot de passe LAPS faible pourrait être craqué si un attaquant accède au hash stocké dans l’annuaire.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config' -Name 'PasswordComplexity' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config\PasswordComplexity
  • GUI : Non accessible via GUI
  • Valeur attendue : 4 avec longueur ≥ 15

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\System\LAPS\Password Settings\Password Complexity → Large letters + small letters + numbers + specials

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows LAPS > Complexité → 4

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config' -Name 'PasswordComplexity' -Value 4 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config\PasswordComplexity = 4

Valeur par défaut : Non configuré


1.4.3 — Windows LAPS — Rotation du mot de passe — 30 jours maximum

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.3.3 T1078.003 (Local Accounts)

Description :

La durée maximale d’utilisation du mot de passe LAPS est recommandée à 30 jours. Une rotation fréquente réduit la fenêtre d’exploitation en cas de compromission.

Sur un poste autonome, le compte administrateur local est souvent le seul compte à privilèges, rendant cette rotation critique.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config' -Name 'PasswordAgeDays' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config\PasswordAgeDays
  • GUI : Non accessible via GUI
  • Valeur attendue : 30 jours ou moins

Remédiation :

  1. GPO : Computer Configuration\Administrative Templates\System\LAPS\Password Settings\Password Age Days → 30

  2. Intune / MEM : Endpoint Security > Protection du compte > Windows LAPS > Âge → 30

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config' -Name 'PasswordAgeDays' -Value 30 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config\PasswordAgeDays = 30

Valeur par défaut : Non configuré


1.4.4 — Renommer le compte administrateur intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.5 T1078.003 (Local Accounts)

Description :

Le compte administrateur intégré (RID 500) doit être renommé pour réduire la surface d’attaque. Le nom « Administrateur » est une cible privilégiée pour les attaques automatisées.

Le renommage ne masque pas le RID 500 mais complique les scripts malveillants ciblant le nom par défaut.

Vérification :

Get-LocalUser | Where-Object {$_.SID -like '*-500'} | Select-Object Name, Enabled, SID
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Comptes : Renommer le compte Administrateur
  • Valeur attendue : Nom différent de Administrateur et Administrator

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Rename administrator account → [Nom personnalisé]

  2. Intune / MEM : Non disponible — script de remédiation personnalisé

  3. PowerShell :

Rename-LocalUser -Name 'Administrateur' -NewName 'AdminANC'
  1. Registre :
Configuration via secpol.msc ou GPO

Valeur par défaut : Administrateur


1.4.5 — Désactiver le compte invité intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.2 T1078.001 (Default Accounts)

Description :

Le compte invité fournit un accès anonyme sans authentification. Il doit être désactivé. Bien que désactivé par défaut sur Windows 11, vérifier qu’il n’a pas été activé manuellement.

Un attaquant avec accès physique pourrait utiliser ce compte pour accéder à des données sensibles.

Vérification :

Get-LocalUser -Name 'Invité' -ErrorAction SilentlyContinue | Select-Object Name, Enabled
Get-LocalUser -Name 'Guest' -ErrorAction SilentlyContinue | Select-Object Name, Enabled
  • GUI : lusrmgr.msc > Utilisateurs > Invité > Propriétés > Le compte est désactivé
  • Valeur attendue : Compte invité Désactivé

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Guest account status → Disabled

  2. Intune / MEM : Non disponible — script de remédiation personnalisé

  3. PowerShell :

Disable-LocalUser -Name 'Invité'
Disable-LocalUser -Name 'Guest'
  1. Registre :
Configuration via lusrmgr.msc ou GPO

Valeur par défaut : Désactivé


1.4.6 — Renommer le compte invité intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 2.3.1.6 T1078.001 (Default Accounts)

Description :

Le compte invité doit être renommé en plus d’être désactivé. Le renommage ajoute une couche de défense en profondeur contre les tentatives d’activation malveillante.

Bien que le compte doive rester désactivé, le renommage complique les attaques automatisées.

Vérification :

Get-LocalUser | Where-Object {$_.SID -like '*-501'} | Select-Object Name, Enabled, SID
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Comptes : Renommer le compte Invité
  • Valeur attendue : Nom différent de Invité et Guest

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Rename guest account → [Nom personnalisé]

  2. Intune / MEM : Non disponible — script de remédiation personnalisé

  3. PowerShell :

Rename-LocalUser -Name 'Invité' -NewName 'InviteANC_Off'
  1. Registre :
Configuration via secpol.msc

Valeur par défaut : Invité


1.5.1 — Verrouillage automatique de l’écran — 15 minutes maximum

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.16.1 T1078 (Valid Accounts)

Description :

Le verrouillage automatique après inactivité protège contre les accès physiques non autorisés. La valeur recommandée est 900 secondes (15 minutes) maximum.

Sur un poste portable, cette mesure est critique car les utilisateurs oublient souvent de verrouiller manuellement leur poste.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'InactivityTimeoutSecs' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\InactivityTimeoutSecs
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Ouverture de session interactive : Limite d’inactivité
  • Valeur attendue : 900 secondes (15 minutes) ou moins

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Machine inactivity limit → 900

  2. Intune / MEM : Endpoint Security > Stratégie de conformité > Configuration système > Délai d’inactivité → 15 min

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'InactivityTimeoutSecs' -Value 900 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\InactivityTimeoutSecs = 900

Valeur par défaut : 0 (pas de verrouillage auto)


1.5.2 — Exiger Ctrl+Alt+Suppr pour l’ouverture de session — Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.7.1 T1056.001 (Keylogging)

Description :

La séquence Ctrl+Alt+Suppr est interceptée par le noyau Windows et ne peut être simulée par un logiciel, protégeant contre les faux écrans de connexion (credential harvesting).

L’activation empêche les attaques de type « faux écran de connexion » où un malware imite l’écran de connexion pour capturer les identifiants.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'DisableCAD' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableCAD
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Ouverture de session interactive : Ne pas demander Ctrl+Alt+Suppr
  • Valeur attendue : 0 (Ctrl+Alt+Suppr requis)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Do not require CTRL+ALT+DEL → Disabled

  2. Intune / MEM : Endpoint Security > Protection du point de terminaison > Ouverture de session > Ctrl+Alt+Suppr → Oui

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'DisableCAD' -Value 0 -Type DWord
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableCAD = 0

Valeur par défaut : 1 (non requis)


1.5.3 — Nombre de connexions interactives précédentes à mettre en cache — 4 maximum

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.7.4 T1003.005 (Cached Domain Credentials)

Description :

Ce paramètre contrôle le nombre d’informations de connexion mises en cache localement. La valeur recommandée est de 4 maximum pour les postes autonomes, ou 2 pour les postes à haute sécurité.

Les identifiants mis en cache peuvent être extraits par des outils comme Mimikatz. Réduire ce nombre limite la surface d’attaque, tout en maintenant la capacité de connexion hors ligne pour les postes portables.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 'CachedLogonsCount' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CachedLogonsCount
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Ouverture de session interactive : Nombre de connexions précédentes à mettre en cache
  • Valeur attendue : 4 (ou moins)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Number of previous logons to cache → 4

  2. Intune / MEM : Non disponible nativement — script de remédiation

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 'CachedLogonsCount' -Value '4' -Type String
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CachedLogonsCount = 4 (REG_SZ)

Valeur par défaut : 10


1.5.4 — Message d’avertissement juridique avant connexion — Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 2.3.7.2, 2.3.7.3 T1078 (Valid Accounts)

Description :

Un message d’avertissement juridique doit être affiché avant l’ouverture de session pour informer les utilisateurs des conditions d’utilisation et des conséquences d’un accès non autorisé.

Ce message a une valeur juridique en cas de poursuite pour accès non autorisé. Il doit mentionner que le poste est surveillé et que l’accès non autorisé est interdit.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'LegalNoticeCaption' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'LegalNoticeText' -ErrorAction SilentlyContinue
  • Registre : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LegalNoticeCaption
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Ouverture de session interactive : Titre/Texte du message
  • Valeur attendue : Titre et texte configurés avec avertissement juridique

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Message title/text for users attempting to log on → [Texte personnalisé]

  2. Intune / MEM : Endpoint Security > Protection du point de terminaison > Messages de connexion

  3. PowerShell :

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'LegalNoticeCaption' -Value 'AVERTISSEMENT - ACCÈS RESTREINT' -Type String
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'LegalNoticeText' -Value 'Ce système est réservé aux utilisateurs autorisés. Toute utilisation non autorisée est interdite et sera poursuivie.' -Type String
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LegalNoticeCaption = [Texte]

Valeur par défaut : Non défini


🔐 SECTION 2 : COMPTES & AUTHENTIFICATION

2.1 — Configuration des comptes utilisateurs

2.1.1 — Désactivation du compte Administrateur intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.1 T1078.001 (Default Accounts)

Description :

Le compte Administrateur intégré (SID S-1-5-21-…-500) doit être désactivé pour réduire la surface d’attaque. Ce compte ne peut pas être supprimé mais peut être désactivé et renommé.

Les attaquants ciblent souvent ce compte car il possède des privilèges élevés par défaut et n’est pas soumis aux politiques de verrouillage de compte.

Vérification :

Get-LocalUser -Name 'Administrator' | Select-Object Name, Enabled, Description
Get-WmiObject -Class Win32_UserAccount -Filter "Name='Administrator' AND Domain='$env:COMPUTERNAME'" | Select-Object Name, Disabled, SID
  • CMD : net user Administrator
  • GUI : lusrmgr.msc > Utilisateurs > Administrateur > Propriétés > Compte est désactivé
  • Valeur attendue : Enabled = False

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Administrator account status → Disabled
  2. Intune / MEM : Device Configuration > Profiles > Windows 10/11 > Device restrictions > General > Built-in Administrator account
  3. PowerShell :
Disable-LocalUser -Name 'Administrator'
# Vérification
Get-LocalUser -Name 'Administrator' | Select-Object Enabled
  1. CMD :
net user Administrator /active:no

Valeur par défaut : Activé (Enabled)


2.1.2 — Renommage du compte Administrateur intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.2 T1078.001 (Default Accounts)

Description :

Le compte Administrateur intégré doit être renommé pour éviter son identification par des outils d’énumération automatisés. Cette mesure fait partie de la stratégie de sécurité par obscurité.

Même désactivé, le compte reste énumérable par son nom bien connu, d’où l’intérêt de le renommer.

Vérification :

Get-LocalUser | Where-Object {$_.SID -like '*-500'} | Select-Object Name, SID, Enabled
Get-WmiObject -Class Win32_UserAccount -Filter "SID LIKE '%-500'" | Select-Object Name, SID
  • Registre : HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Comptes : Renommer le compte administrateur
  • Valeur attendue : Nom différent de “Administrator”

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Rename administrator account → “[NouveauNom]”
  2. PowerShell :
# Renommer le compte Administrator
Rename-LocalUser -Name 'Administrator' -NewName 'SysAdmin01'
# Vérification
Get-LocalUser | Where-Object {$_.SID -like '*-500'}
  1. Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\NewAdministratorName = "SysAdmin01"

Valeur par défaut : Administrator


2.1.3 — Désactivation du compte Invité intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.3 T1078.001 (Default Accounts)

Description :

Le compte Invité (Guest) doit être désactivé car il permet un accès non authentifié au système. Ce compte présente un risque de sécurité majeur même avec des privilèges limités.

Les attaquants peuvent utiliser ce compte comme point d’entrée initial pour l’escalade de privilèges ou la reconnaissance du système.

Vérification :

Get-LocalUser -Name 'Guest' | Select-Object Name, Enabled, Description
Get-WmiObject -Class Win32_UserAccount -Filter "Name='Guest' AND Domain='$env:COMPUTERNAME'" | Select-Object Name, Disabled, SID
  • CMD : net user Guest
  • GUI : lusrmgr.msc > Utilisateurs > Invité > Propriétés > Compte est désactivé
  • Valeur attendue : Enabled = False

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Guest account status → Disabled
  2. Intune / MEM : Device Configuration > Profiles > Windows 10/11 > Device restrictions > General > Guest account
  3. PowerShell :
Disable-LocalUser -Name 'Guest'
# Vérification
Get-LocalUser -Name 'Guest' | Select-Object Enabled
  1. CMD :
net user Guest /active:no

Valeur par défaut : Désactivé par défaut sur Windows 11 Enterprise


2.1.4 — Renommage du compte Invité intégré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.4 T1078.001 (Default Accounts)

Description :

Le compte Invité doit être renommé même s’il est désactivé, pour éviter son identification lors d’énumérations de comptes. Cette mesure complète la désactivation du compte.

Vérification :

Get-LocalUser | Where-Object {$_.SID -like '*-501'} | Select-Object Name, SID, Enabled
Get-WmiObject -Class Win32_UserAccount -Filter "SID LIKE '%-501'" | Select-Object Name, SID
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Comptes : Renommer le compte invité
  • Valeur attendue : Nom différent de “Guest”

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Rename guest account → “[NouveauNom]”
  2. PowerShell :
# Renommer le compte Guest
Rename-LocalUser -Name 'Guest' -NewName 'Visitor01'
# Vérification
Get-LocalUser | Where-Object {$_.SID -like '*-501'}

Valeur par défaut : Guest


2.2 — Gestion des groupes d’administration

2.2.1 — Limitation des membres du groupe Administrateurs

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.2.1 T1078.003 (Local Accounts)

Description :

Le groupe Administrateurs local doit contenir le minimum d’utilisateurs nécessaire. Chaque membre de ce groupe a un contrôle total sur le système local.

Une prolifération des comptes administrateurs augmente considérablement les risques de compromission et rend difficile l’audit des actions administratives.

Vérification :

Get-LocalGroupMember -Group 'Administrators' | Select-Object Name, PrincipalSource, ObjectClass
Get-WmiObject -Class Win32_GroupUser | Where-Object {$_.GroupComponent -match 'Administrators'} | ForEach-Object {[WMI]$_.PartComponent}
  • CMD : net localgroup Administrators
  • GUI : lusrmgr.msc > Groupes > Administrateurs > Propriétés > Membres
  • Valeur attendue : Seulement les comptes strictement nécessaires

Remédiation :

  1. Audit des membres actuels :
$AdminMembers = Get-LocalGroupMember -Group 'Administrators'
$AdminMembers | Export-Csv -Path 'C:\Audit\AdminMembers.csv' -NoTypeInformation
  1. Suppression des membres non nécessaires :
# Exemple de suppression (adapter selon vos besoins)
Remove-LocalGroupMember -Group 'Administrators' -Member 'DOMAIN\UserNotNeeded'
  1. Documentation des membres légitimes :
    • Compte de service local nécessaire
    • Compte d’administration d’urgence
    • Comptes de domaine strictement nécessaires

Valeur par défaut : Administrateur local, compte de l’utilisateur initial


2.2.2 — Configuration du groupe Utilisateurs avec privilèges de sauvegarde

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.2.2 T1078.003 (Local Accounts)

Description :

Le groupe “Opérateurs de sauvegarde” (Backup Operators) doit être vidé ou strictement contrôlé. Ce groupe peut accéder à tous les fichiers pour les sauvegarder, contournant les ACL.

Ce privilège peut être exploité par des attaquants pour accéder à des données sensibles ou pour l’exfiltration de données.

Vérification :

Get-LocalGroupMember -Group 'Backup Operators' -ErrorAction SilentlyContinue | Select-Object Name, PrincipalSource
Get-LocalGroup 'Backup Operators' -ErrorAction SilentlyContinue | Select-Object Name, Description
  • CMD : net localgroup "Backup Operators"
  • GUI : lusrmgr.msc > Groupes > Opérateurs de sauvegarde
  • Valeur attendue : Aucun membre ou membres strictement contrôlés

Remédiation :

  1. Vider le groupe si non utilisé :
$BackupMembers = Get-LocalGroupMember -Group 'Backup Operators' -ErrorAction SilentlyContinue
foreach ($Member in $BackupMembers) {
    Remove-LocalGroupMember -Group 'Backup Operators' -Member $Member.Name
}
  1. Si des membres sont nécessaires, documenter et justifier chaque attribution

Valeur par défaut : Vide par défaut


2.2.3 — Restriction du groupe Opérateurs de serveur

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.2.3 T1078.003 (Local Accounts)

Description :

Le groupe “Opérateurs de serveur” (Server Operators) possède des privilèges étendus sur les services système. Ce groupe doit être vidé car il peut démarrer/arrêter des services et accéder aux fichiers système.

Ces privilèges peuvent être exploités pour l’escalade de privilèges ou l’installation de logiciels malveillants via les services.

Vérification :

Get-LocalGroupMember -Group 'Server Operators' -ErrorAction SilentlyContinue | Select-Object Name, PrincipalSource
Get-LocalGroup 'Server Operators' -ErrorAction SilentlyContinue | Select-Object Name, Description
  • CMD : net localgroup "Server Operators"
  • Valeur attendue : Aucun membre

Remédiation :

$ServerOpMembers = Get-LocalGroupMember -Group 'Server Operators' -ErrorAction SilentlyContinue
foreach ($Member in $ServerOpMembers) {
    Remove-LocalGroupMember -Group 'Server Operators' -Member $Member.Name
}

Valeur par défaut : Vide par défaut sur Windows 11


2.2.4 — Restriction du groupe Opérateurs d’impression

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 2.2.4 T1078.003 (Local Accounts)

Description :

Le groupe “Opérateurs d’impression” (Print Operators) peut gérer les imprimantes et les travaux d’impression. Ce groupe doit être contrôlé car il peut accéder à des documents sensibles.

Vérification :

Get-LocalGroupMember -Group 'Print Operators' -ErrorAction SilentlyContinue | Select-Object Name, PrincipalSource

Remédiation :

Supprimer les membres non nécessaires du groupe Print Operators.

Valeur par défaut : Vide par défaut


2.3 — Configuration de l’ouverture de session

2.3.1 — Configuration de l’écran de verrouillage automatique

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.4.1 T1078 (Valid Accounts)

Description :

L’écran de verrouillage automatique doit être configuré pour se déclencher après une période d’inactivité définie. Cette mesure protège contre l’accès non autorisé aux sessions laissées ouvertes.

Vérification :

Get-ItemProperty -Path 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'ScreenSaveTimeOut' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'ScreenSaverIsSecure' -ErrorAction SilentlyContinue
  • Registre machine : HKLM\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop
  • Valeur attendue : ScreenSaveTimeOut ≤ 900 secondes (15 minutes), ScreenSaverIsSecure = 1

Remédiation :

  1. GPO : User Configuration\Policies\Administrative Templates\Control Panel\Personalization\Screen saver timeout/Password protect screen saver
  2. PowerShell :
# Configuration pour tous les utilisateurs (HKLM)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'ScreenSaveTimeOut' -Value '900' -Type String
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'ScreenSaverIsSecure' -Value '1' -Type String
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop' -Name 'ScreenSaveActive' -Value '1' -Type String

Valeur par défaut : Non configuré


2.3.2 — Suppression des informations de dernière connexion

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 2.3.7.4 T1078 (Valid Accounts)

Description :

Les informations de dernière connexion ne doivent pas être affichées à l’écran d’ouverture de session pour éviter la divulgation d’informations sur l’utilisation du système.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'DontDisplayLastUserName' -ErrorAction SilentlyContinue
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Ouverture de session interactive : Ne pas afficher le nom de la dernière personne connectée
  • Valeur attendue : DontDisplayLastUserName = 1

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Do not display last user name → Enabled
  2. PowerShell :
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'DontDisplayLastUserName' -Value 1 -Type DWord

Valeur par défaut : 0 (affichage activé)


2.3.3 — Configuration de l’authentification forte (CTRL+ALT+DEL)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.7.6 T1056.002 (GUI Input Capture)

Description :

La séquence sécurisée CTRL+ALT+DEL doit être requise pour l’ouverture de session. Cette séquence ne peut pas être interceptée par des logiciels malveillants au niveau utilisateur.

Cette mesure protège contre les faux écrans de connexion (keyloggers) et garantit l’authentification via le Secure Attention Sequence (SAS).

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'DisableCAD' -ErrorAction SilentlyContinue
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Ouverture de session interactive : Ne pas exiger CTRL+ALT+DEL
  • Valeur attendue : DisableCAD = 0 (CTRL+ALT+DEL requis)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Do not require CTRL+ALT+DEL → Disabled
  2. PowerShell :
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'DisableCAD' -Value 0 -Type DWord

Valeur par défaut : 1 (désactivé sur Windows 11 par défaut)


2.4 — Contrôle d’accès et privilèges

2.4.1 — Configuration du Contrôle de Compte Utilisateur (UAC)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.17.1 T1548.002 (Bypass User Account Control)

Description :

Le Contrôle de Compte Utilisateur (UAC) doit être configuré au niveau maximum pour empêcher l’élévation silencieuse des privilèges. L’UAC protège contre l’exécution non autorisée d’applications avec des privilèges élevés.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'ConsentPromptBehaviorAdmin' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'ConsentPromptBehaviorUser' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'EnableLUA' -ErrorAction SilentlyContinue
  • GUI : Panneau de configuration > Comptes d’utilisateurs > Modifier les paramètres de contrôle de compte d’utilisateur
  • Valeurs attendues :
    • ConsentPromptBehaviorAdmin = 2 (Demander le consentement sur le bureau sécurisé)
    • ConsentPromptBehaviorUser = 3 (Demander les informations d’identification)
    • EnableLUA = 1 (UAC activé)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Behavior of the elevation prompt for administrators/standard users
  2. PowerShell :
# Configuration UAC niveau maximum
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'ConsentPromptBehaviorAdmin' -Value 2 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'ConsentPromptBehaviorUser' -Value 3 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'EnableLUA' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'PromptOnSecureDesktop' -Value 1 -Type DWord

Valeur par défaut : UAC activé avec niveau moyen


2.4.2 — Restriction des privilèges SeDebugPrivilege

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.2.17 T1055 (Process Injection)

Description :

Le privilège “Déboguer les programmes” (SeDebugPrivilege) doit être restreint car il permet l’accès à tous les processus système, y compris ceux protégés.

Ce privilège est particulièrement dangereux car il permet l’injection de code dans n’importe quel processus, contournant la plupart des protections système.

Vérification :

# Utiliser secedit pour exporter et vérifier les droits utilisateur
secedit /export /cfg C:\temp\secedit_export.inf
Get-Content C:\temp\secedit_export.inf | Select-String "SeDebugPrivilege"
  • GUI : secpol.msc > Stratégies locales > Attribution des droits utilisateur > Déboguer les programmes
  • Valeur attendue : Seulement les comptes strictement nécessaires (généralement aucun)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Debug programs → Vide ou comptes spécifiques uniquement
  2. Secedit :
# Créer un fichier de configuration temporaire
echo [Unicode] > C:\temp\debug_config.inf
echo Unicode=yes >> C:\temp\debug_config.inf
echo [Privilege Rights] >> C:\temp\debug_config.inf
echo SeDebugPrivilege = >> C:\temp\debug_config.inf
echo [Version] >> C:\temp\debug_config.inf
echo signature="$CHICAGO$" >> C:\temp\debug_config.inf
echo Revision=1 >> C:\temp\debug_config.inf

# Appliquer la configuration
secedit /configure /db C:\temp\debug.sdb /cfg C:\temp\debug_config.inf

Valeur par défaut : Administrateurs


2.5.1 — Configuration des comptes de service

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.5 T1078.003 (Service Accounts)

Description :

Les comptes de service doivent être configurés avec les privilèges minimums requis et des mots de passe complexes. Les comptes de service ne doivent pas avoir de droits de connexion interactive.

Cette configuration réduit la surface d’attaque en cas de compromission d’un service et limite les mouvements latéraux potentiels.

Vérification :

Get-WmiObject -Class Win32_Service | Where-Object {$_.StartName -notlike "LocalSystem" -and $_.StartName -notlike "NT AUTHORITY\*"} | Select-Object Name, StartName, State
Get-LocalUser | Where-Object {$_.Description -like "*service*"} | Select-Object Name, Enabled, PasswordRequired

Remédiation :

# Audit des comptes de service
Get-WmiObject -Class Win32_Service | Where-Object {$_.StartName -notlike "LocalSystem"} | ForEach-Object {
    Write-Host "Service: $($_.Name) - Compte: $($_.StartName)"
}

# Configuration des droits utilisateur pour les comptes de service
secedit /export /cfg C:\temp\secedit.cfg
# Éditer le fichier pour ajouter les comptes de service aux droits appropriés
secedit /configure /db C:\temp\secedit.sdb /cfg C:\temp\secedit.cfg

Valeur par défaut : Variable selon la configuration


2.6.1 — Contrôle des comptes avec privilèges élevés

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.6 T1078.002 (Domain Accounts)

Description :

Les comptes avec des privilèges administratifs doivent être strictement contrôlés, documentés et régulièrement audités. Aucun compte utilisateur standard ne doit avoir des privilèges administratifs permanents.

L’utilisation de comptes privilégiés doit être tracée et justifiée pour maintenir le principe du moindre privilège.

Vérification :

Get-LocalGroupMember -Group "Administrators" | Select-Object Name, ObjectClass, PrincipalSource
Get-LocalGroupMember -Group "Power Users" -ErrorAction SilentlyContinue | Select-Object Name
net localgroup Administrators

Remédiation :

# Auditer les membres du groupe Administrateurs
$AdminMembers = Get-LocalGroupMember -Group "Administrators"
foreach ($Member in $AdminMembers) {
    if ($Member.ObjectClass -eq "User" -and $Member.Name -notlike "*Administrator*") {
        Write-Warning "Utilisateur avec privilèges admin: $($Member.Name)"
    }
}

# Supprimer les utilisateurs non autorisés du groupe Administrators
# Remove-LocalGroupMember -Group "Administrators" -Member "DOMAIN\UserName"

Valeur par défaut : Variable selon la configuration


2.7.1 — Configuration du contrôle de compte utilisateur (UAC)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.17.1 T1548.002 (Bypass User Account Control)

Description :

Le contrôle de compte utilisateur (UAC) doit être configuré au niveau maximum pour toutes les élévations de privilèges. Aucune application ne doit contourner les invites UAC.

L’UAC constitue une barrière critique contre l’exécution non autorisée de code avec privilèges élevés.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin"
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA"
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "PromptOnSecureDesktop"

Remédiation :

# Configuration UAC niveau maximum
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Value 2 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorUser" -Value 3 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableInstallerDetection" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "PromptOnSecureDesktop" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableVirtualization" -Value 1 -Type DWord

Valeur par défaut : Variable selon la configuration


2.5.1 — Configuration des comptes de service géré (gMSA)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.7 T1078.003 (Service Accounts)

Description :

Les comptes de service gérés par groupe (gMSA) doivent être utilisés pour tous les services d’entreprise afin d’automatiser la gestion des mots de passe et réduire les risques de compromission.

Les gMSA éliminent le besoin de gestion manuelle des mots de passe de service et fournissent une rotation automatique sécurisée.

Vérification :

Get-ADServiceAccount -Filter * | Select-Object Name, Enabled, ServicePrincipalName
Get-WmiObject -Class Win32_Service | Where-Object {$_.StartName -like "*$"} | Select-Object Name, StartName

Remédiation :

# Créer un compte gMSA
New-ADServiceAccount -Name "WebService-gMSA" -DNSHostName "webservice.domain.com" -ManagedPasswordIntervalInDays 30
# Installer le compte gMSA sur l'hôte
Install-ADServiceAccount -Identity "WebService-gMSA"
# Configurer le service pour utiliser le gMSA
Set-Service -Name "MyService" -Credential (Get-Credential "DOMAIN\WebService-gMSA$")

Valeur par défaut : Variable selon la configuration


2.6.1 — Contrôle des sessions utilisateur concurrentes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.8 T1078 (Valid Accounts)

Description :

Le nombre de sessions utilisateur concurrentes doit être limité pour éviter l’utilisation abusive des comptes et détecter les connexions non autorisées.

Cette mesure aide à identifier les comptes compromis utilisés simultanément depuis plusieurs emplacements.

Vérification :

query user
Get-WmiObject -Class Win32_LoggedOnUser | Group-Object Antecedent | Where-Object {$_.Count -gt 1}
Get-EventLog -LogName Security -InstanceId 4624 -After (Get-Date).AddHours(-1) | Group-Object UserName

Remédiation :

# Configuration via GPO ou registre
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "MaxInstanceCount" -Value 2 -PropertyType DWord -Force
# Surveillance des sessions multiples
Get-WmiObject Win32_LoggedOnUser | Group-Object Antecedent | Where-Object {$_.Count -gt 1} | ForEach-Object {
    Write-Warning "Utilisateur avec sessions multiples: $($_.Name)"
}

Valeur par défaut : Variable selon la configuration


2.7.1 — Configuration de l’authentification multi-facteurs (MFA)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.9 T1078 (Valid Accounts)

Description :

L’authentification multi-facteurs doit être activée pour tous les comptes privilégiés et recommandée pour les comptes utilisateur standard.

Le MFA constitue une protection critique contre les attaques par vol de credentials et le phishing.

Vérification :

Get-MpComputerStatus | Select-Object AMEngineVersion, AMProductVersion
Get-WindowsOptionalFeature -Online -FeatureName "*Hello*"
certlm.msc # Vérifier les certificats d'authentification

Remédiation :

# Activation de Windows Hello for Business
Enable-WindowsOptionalFeature -Online -FeatureName "WindowsHelloFace" -All
# Configuration des stratégies MFA via GPO
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork" -Name "Enabled" -Value 1 -PropertyType DWord -Force
# Configuration des certificats pour l'authentification
certlm.msc

Valeur par défaut : Variable selon la configuration


2.8.1 — Audit des privilèges élevés temporaires

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.10 T1078.002 (Domain Accounts)

Description :

Tous les privilèges élevés temporaires doivent être auditables, traçables et automatiquement révoqués après expiration.

Cette pratique assure que l’élévation de privilège suit le principe du moindre privilège et de la durée minimale nécessaire.

Vérification :

Get-EventLog -LogName Security -InstanceId 4672 -Newest 100 | Select-Object TimeGenerated, Message
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4672} -MaxEvents 50
net localgroup Administrators

Remédiation :

# Configuration d'audit des privilèges spéciaux
auditpol /set /subcategory:"Special Logon" /success:enable /failure:enable
# Script de révocation automatique des privilèges temporaires
$TempAdmins = @("TempAdmin1", "TempAdmin2")
foreach ($Admin in $TempAdmins) {
    $User = Get-LocalUser -Name $Admin -ErrorAction SilentlyContinue
    if ($User -and $User.PasswordLastSet -lt (Get-Date).AddDays(-1)) {
        Remove-LocalGroupMember -Group "Administrators" -Member $Admin
        Write-Host "Privilège révoqué pour: $Admin"
    }
}

Valeur par défaut : Variable selon la configuration


2.9.1 — Protection contre l’énumération de comptes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.11 T1087.001 (Account Discovery)

Description :

Les mécanismes d’énumération de comptes doivent être désactivés pour empêcher la reconnaissance par des attaquants.

Cette protection limite la capacité des attaquants à découvrir les comptes valides du système.

Vérification :

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RestrictAnonymous"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RestrictAnonymousSAM"
net config server

Remédiation :

# Désactiver l'énumération anonyme
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RestrictAnonymous" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RestrictAnonymousSAM" -Value 1 -Type DWord
# Désactiver le partage administratif par défaut
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "AutoShareWks" -Value 0 -Type DWord

Valeur par défaut : Variable selon la configuration


2.10.1 — Configuration des jetons d’authentification

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.12 T1550.001 (Application Access Token)

Description :

Les jetons d’authentification doivent être configurés avec des durées de vie limitées et des mécanismes de révocation appropriés.

Cette configuration limite l’exposition en cas de vol de jetons et force une réauthentification régulière.

Vérification :

klist tickets
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters" -ErrorAction SilentlyContinue
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4768,4769} -MaxEvents 20

Remédiation :

# Configuration des durées de vie des tickets Kerberos
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters" -Name "MaxTicketAge" -Value 10 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters" -Name "MaxRenewAge" -Value 7 -PropertyType DWord -Force
# Purger les tickets existants
klist purge

Valeur par défaut : Variable selon la configuration


2.11.1 — Surveillance des tentatives d’élévation de privilège

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.13 T1548 (Abuse Elevation Control Mechanism)

Description :

Toutes les tentatives d’élévation de privilège doivent être surveillées et alertées en temps réel.

Cette surveillance permet de détecter rapidement les tentatives d’attaque par escalade de privilège.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4672,4673,4674} -MaxEvents 50
Get-EventLog -LogName Security -InstanceId 4648 -Newest 20
auditpol /get /subcategory:"Process Creation"

Remédiation :

# Configuration d'audit pour l'élévation de privilège
auditpol /set /subcategory:"Special Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Other Privilege Use Events" /success:enable /failure:enable
# Script de surveillance temps réel
Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND EventCode=4672" -Action {
    $Event = $Event.SourceEventArgs.NewEvent
    Write-Host "ALERT: Élévation de privilège détectée - User: $($Event.InsertionStrings[1])"
}

Valeur par défaut : Variable selon la configuration


2.12.1 — Gestion des comptes de secours (break-glass)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.14 T1078.002 (Domain Accounts)

Description :

Les comptes de secours doivent être configurés, protégés et auditables pour les situations d’urgence uniquement.

Ces comptes constituent le dernier recours d’accès administratif et doivent être strictement contrôlés.

Vérification :

Get-LocalUser | Where-Object {$_.Description -like "*emergency*" -or $_.Description -like "*break*glass*"}
Get-EventLog -LogName Security -InstanceId 4624 | Where-Object {$_.ReplacementStrings[5] -like "*Emergency*"}
net user EmergencyAdmin

Remédiation :

# Création d'un compte de secours
$SecurePassword = ConvertTo-SecureString "Tr3s-C0mpl3x-P@ssw0rd!" -AsPlainText -Force
New-LocalUser -Name "EmergencyAdmin" -Password $SecurePassword -Description "Compte de secours - Utilisation d'urgence uniquement"
# Configuration d'audit spécifique
Add-LocalGroupMember -Group "Administrators" -Member "EmergencyAdmin"
# Désactiver le compte par défaut
Disable-LocalUser -Name "EmergencyAdmin"
Write-Host "IMPORTANT: Activer manuellement uniquement en cas d'urgence"

Valeur par défaut : Variable selon la configuration


2.13.1 — Contrôle des autorisations de connexion à distance

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.15 T1021 (Remote Services)

Description :

Les autorisations de connexion à distance doivent être strictement contrôlées et limitées aux utilisateurs autorisés uniquement.

Cette restriction limite les vecteurs d’attaque par accès distant non autorisé.

Vérification :

Get-LocalGroupMember -Group "Remote Desktop Users"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections"
qwinsta

Remédiation :

# Désactiver RDP par défaut
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1 -Type DWord
# Vider le groupe Remote Desktop Users
Get-LocalGroupMember -Group "Remote Desktop Users" | ForEach-Object {
    Remove-LocalGroupMember -Group "Remote Desktop Users" -Member $_.Name
}
# Configuration du pare-feu
Disable-NetFirewallRule -DisplayGroup "Remote Desktop"

Valeur par défaut : Variable selon la configuration


2.14.1 — Audit des modifications de comptes critiques

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.16 T1098 (Account Manipulation)

Description :

Toutes les modifications apportées aux comptes administrateurs et privilégiés doivent être auditées et alertées.

Cette surveillance permet de détecter les modifications non autorisées des comptes critiques.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4720,4722,4723,4724,4725,4726} -MaxEvents 50
Get-EventLog -LogName Security -InstanceId 4732,4733 -Newest 20
auditpol /get /subcategory:"User Account Management"

Remédiation :

# Configuration d'audit pour gestion des comptes
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Security Group Management" /success:enable /failure:enable
# Script de surveillance des comptes critiques
$CriticalAccounts = @("Administrator", "krbtgt", "DefaultAccount")
foreach ($Account in $CriticalAccounts) {
    Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND (EventCode=4722 OR EventCode=4723) AND Message LIKE '%$Account%'" -Action {
        Write-Host "CRITICAL: Modification du compte $Account détectée"
    }
}

Valeur par défaut : Variable selon la configuration


2.15.1 — Protection contre les attaques de type Pass-the-Hash

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.17 T1550.002 (Pass the Hash)

Description :

Les mécanismes de protection contre les attaques Pass-the-Hash doivent être activés pour empêcher la réutilisation de hashes de mots de passe.

Cette protection limite les mouvements latéraux après compromission initiale.

Vérification :

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "LmCompatibilityLevel"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "NoLMHash"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" -Name "UseLogonCredential"

Remédiation :

# Désactiver LM et NTLMv1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "LmCompatibilityLevel" -Value 5 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "NoLMHash" -Value 1 -Type DWord
# Désactiver WDigest
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" -Name "UseLogonCredential" -Value 0 -Type DWord
# Activer Protected Process Light (PPL) pour LSASS
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RunAsPPL" -Value 1 -Type DWord

Valeur par défaut : Variable selon la configuration


2.16.1 — Configuration des délais d’expiration de session

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.18 T1078 (Valid Accounts)

Description :

Les sessions inactives doivent être automatiquement fermées après un délai configuré pour réduire l’exposition aux accès non autorisés.

Cette mesure prévient l’utilisation de sessions laissées ouvertes sans surveillance.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "InactivityTimeoutSecs"
Get-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "ScreenSaveTimeOut"
Get-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "ScreenSaverIsSecure"

Remédiation :

# Configuration du timeout d'inactivité (15 minutes)
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "InactivityTimeoutSecs" -Value 900 -Type DWord
# Configuration de l'écran de veille sécurisé
Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "ScreenSaveTimeOut" -Value "900" -Type String
Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "ScreenSaverIsSecure" -Value "1" -Type String
# Forcer l'application à tous les utilisateurs
reg add "HKU\.DEFAULT\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 900 /f

Valeur par défaut : Variable selon la configuration


2.5.1 — Protection avancée des comptes privilégiés (PAM)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.20 T1078.002 (Domain Accounts)

Description :

Une solution de gestion des accès privilégiés (PAM) doit être implémentée pour tous les comptes administrateurs avec rotation automatique des mots de passe et sessions enregistrées.

Cette mesure constitue un pilier fondamental de la sécurité Zero Trust pour les accès critiques.

Vérification :

Get-LocalGroupMember -Group "Administrators" | Where-Object {$_.ObjectClass -eq "User"}
Get-EventLog -LogName Security -InstanceId 4624 | Where-Object {$_.ReplacementStrings[8] -eq "2"}
auditpol /get /subcategory:"Special Logon"

Remédiation :

# Implémentation d'une solution PAM basique
New-LocalUser -Name "PAM-EmergencyAdmin" -Description "Compte PAM d'urgence - Session enregistrée"
$SecurePass = ConvertTo-SecureString (Get-Random -Count 32 -InputObject ([char[]](33..126)) -join "") -AsPlainText -Force
Set-LocalUser -Name "PAM-EmergencyAdmin" -Password $SecurePass
# Configuration de l'audit étendu pour les comptes privilégiés
auditpol /set /subcategory:"Special Logon" /success:enable /failure:enable
# Script de rotation automatique (à automatiser via tâche planifiée)
Write-Host "Configuration PAM basique terminée - Implémenter solution enterprise (CyberArk, Beyond Trust, etc.)"

Valeur par défaut : Variable selon la configuration


2.6.1 — Contrôle des élévations UAC via GPO centralisée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.17.2 T1548.002 (Bypass User Account Control)

Description :

Toutes les élévations UAC doivent être centralisées, auditées et soumises à des règles granulaires selon l’application et l’utilisateur.

Cette gouvernance centralisée permet un contrôle fin des élévations de privilège.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" | Select-Object *UAC*, *Consent*, *Prompt*
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4688} | Where-Object {$_.Message -like "*UAC*"}
gpresult /h C:\temp\gpo_report.html

Remédiation :

# Configuration UAC granulaire via stratégies de groupe
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Value 2
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorUser" -Value 3
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableInstallerDetection" -Value 1
# Liste blanche d'applications autorisées à élever sans prompt
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\UAC" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\UAC" -Name "WhitelistedApps" -Value @("msiexec.exe", "setup.exe")

Valeur par défaut : Variable selon la configuration


2.7.1 — Authentification basée sur les certificats

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.21 T1552.004 (Private Keys)

Description :

L’authentification par certificats doit être déployée pour tous les comptes sensibles avec révocation centralisée et HSM pour les clés critiques.

Cette méthode offre une authentification forte résistante aux attaques par credential dumping.

Vérification :

Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object {$_.EnhancedKeyUsageList -like "*Client Authentication*"}
certlm.msc
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards"

Remédiation :

# Configuration pour l'authentification par certificat
certlm.msc
# Déploiement de certificats utilisateur via GPO
Write-Host "1. Configurer une AC d'entreprise"
Write-Host "2. Créer un modèle de certificat utilisateur"
Write-Host "3. Déployer via GPO: Computer Configuration\Policies\Windows Settings\Security Settings\Public Key Policies"
# Activation de l'authentification par carte à puce
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "scforceoption" -Value 1 -PropertyType DWord -Force

Valeur par défaut : Variable selon la configuration


2.8.1 — Détection des comptes dormants et zombies

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.22 T1078 (Valid Accounts)

Description :

Les comptes inactifs depuis plus de 90 jours doivent être automatiquement détectés, désactivés et éventuellement supprimés selon la politique de rétention.

Cette pratique réduit la surface d’attaque en éliminant les comptes oubliés potentiellement compromis.

Vérification :

Get-LocalUser | Where-Object {$_.LastLogon -lt (Get-Date).AddDays(-90)} | Select-Object Name, LastLogon, Enabled
Get-WmiObject Win32_UserProfile | Where-Object {$_.LastUseTime -lt (Get-Date).AddDays(-90).ToString("yyyyMMddHHmmss.ffffff-000")}
Get-EventLog -LogName Security -InstanceId 4624 -After (Get-Date).AddDays(-90) | Group-Object UserName | Sort-Object Count

Remédiation :

# Script de détection et nettoyage des comptes dormants
$InactiveThreshold = (Get-Date).AddDays(-90)
$DormantAccounts = Get-LocalUser | Where-Object {
    $_.Enabled -eq $true -and
    ($_.LastLogon -lt $InactiveThreshold -or $_.LastLogon -eq $null) -and
    $_.Name -notin @("Administrator", "DefaultAccount", "Guest", "WDAGUtilityAccount")
}
foreach ($Account in $DormantAccounts) {
    Write-Warning "Compte dormant détecté: $($Account.Name) - Dernière connexion: $($Account.LastLogon)"
    # Désactiver le compte (décommenter pour activer)
    # Disable-LocalUser -Name $Account.Name
    # Write-Host "Compte désactivé: $($Account.Name)"
}
# Nettoyage des profils utilisateur orphelins
Get-CimInstance Win32_UserProfile | Where-Object {$_.Special -eq $false -and $_.LastUseTime -lt $InactiveThreshold} | Remove-CimInstance -WhatIf

Valeur par défaut : Variable selon la configuration


2.9.1 — Surveillance des connexions simultanées suspectes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.23 T1078 (Valid Accounts)

Description :

Les connexions simultanées depuis des emplacements géographiquement impossibles doivent être détectées et bloquées automatiquement.

Cette surveillance permet d’identifier les comptes compromis utilisés par des attaquants.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624} -MaxEvents 100 | Group-Object {$_.Properties[5].Value} | Where-Object {$_.Count -gt 1}
query user
Get-WmiObject Win32_LoggedOnUser | Group-Object Antecedent

Remédiation :

# Surveillance des sessions multiples
$ActiveSessions = query user | Select-String "Active"
if ($ActiveSessions.Count -gt 3) {
    Write-Warning "Nombre élevé de sessions actives: $($ActiveSessions.Count)"
    $ActiveSessions
}
# Détection des connexions géographiquement impossibles (nécessite intégration threat intelligence)
Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND EventCode=4624" -Action {
    $Event = $Event.SourceEventArgs.NewEvent
    $SourceIP = $Event.InsertionStrings[18]
    Write-Host "Nouvelle connexion détectée depuis: $SourceIP"
    # Implémenter logique de géolocalisation IP
}

Valeur par défaut : Variable selon la configuration


2.10.1 — Protection contre le credential stuffing

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.24 T1110.004 (Credential Stuffing)

Description :

Des mécanismes anti-credential stuffing doivent être implémentés incluant limitation de taux, analyse comportementale et blocage automatique.

Cette protection prévient l’exploitation de credentials volés sur d’autres plateformes.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625} -MaxEvents 100 | Group-Object {$_.Properties[19].Value} | Sort-Object Count -Descending
Get-EventLog -LogName Security -InstanceId 4625 | Group-Object MachineName
netsh advfirewall show allprofiles state

Remédiation :

# Implémentation anti-credential stuffing basique
$FailedLoginThreshold = 5
$TimeWindow = 300  # 5 minutes
$RecentFailures = Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625; StartTime=(Get-Date).AddSeconds(-$TimeWindow)}
$FailuresByIP = $RecentFailures | Group-Object {$_.Properties[19].Value}
foreach ($IPGroup in $FailuresByIP) {
    if ($IPGroup.Count -ge $FailedLoginThreshold) {
        $IP = $IPGroup.Name
        Write-Warning "CREDENTIAL STUFFING DETECTED from IP: $IP ($($IPGroup.Count) attempts)"
        # Bloquer l'IP via pare-feu
        # New-NetFirewallRule -DisplayName "Block-$IP" -Direction Inbound -RemoteAddress $IP -Action Block
    }
}

Valeur par défaut : Variable selon la configuration


2.11.1 — Gestion des comptes partagés et génériques

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.25 T1078 (Valid Accounts)

Description :

Les comptes partagés doivent être éliminés ou strictement contrôlés avec traçabilité individuelle et rotation fréquente des mots de passe.

Cette mesure assure la responsabilité individuelle et limite les risques de compromission.

Vérification :

Get-LocalUser | Where-Object {$_.Description -like "*shared*" -or $_.Description -like "*generic*" -or $_.Name -like "*shared*"}
Get-WmiObject Win32_UserAccount | Where-Object {$_.Description -like "*commun*" -or $_.Name -like "*admin*"}
net user | findstr /i "admin service shared generic"

Remédiation :

# Audit des comptes potentiellement partagés
$SharedKeywords = @("shared", "common", "generic", "admin", "service", "temp", "test")
$AllUsers = Get-LocalUser
foreach ($User in $AllUsers) {
    $IsShared = $false
    foreach ($Keyword in $SharedKeywords) {
        if ($User.Name -like "*$Keyword*" -or $User.Description -like "*$Keyword*") {
            $IsShared = $true
            break
        }
    }
    if ($IsShared) {
        Write-Warning "Compte potentiellement partagé: $($User.Name) - $($User.Description)"
        # Action recommandée: Remplacer par des comptes individuels
    }
}
# Configuration de rotation automatique pour comptes de service
Write-Host "RECOMMANDATION: Migrer vers des comptes gMSA pour les services"

Valeur par défaut : Variable selon la configuration


2.5 — Gestion avancée des comptes privilégiés

2.5.1 — Implémentation de comptes PAM (Privileged Access Management)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.20 T1078.002 (Domain Accounts)

Description :

Une solution de gestion des accès privilégiés (PAM) doit être déployée pour tous les comptes administrateurs avec rotation automatique des mots de passe, enregistrement des sessions et approbation des accès.

Cette mesure constitue un pilier fondamental de la sécurité Zero Trust pour les accès critiques et permet de tracer tous les accès privilégiés.

Vérification :

Get-LocalGroupMember -Group "Administrators" | Select-Object Name, ObjectClass, PrincipalSource
Get-EventLog -LogName Security -InstanceId 4624 | Where-Object {$_.ReplacementStrings[8] -eq "2"} | Select-Object -First 10
auditpol /get /subcategory:"Special Logon"

Remédiation :

# Configuration PAM basique avec audit renforcé
auditpol /set /subcategory:"Special Logon" /success:enable /failure:enable
# Création de comptes PAM avec rotation automatique
$PAMAccount = "PAM-Admin-$(Get-Date -Format "yyyyMM")"
New-LocalUser -Name $PAMAccount -Description "Compte PAM avec rotation mensuelle" -AccountNeverExpires:$false
$ComplexPassword = -join ((33..126) | Get-Random -Count 32 | ForEach-Object {[char]$_})
Set-LocalUser -Name $PAMAccount -Password (ConvertTo-SecureString $ComplexPassword -AsPlainText -Force)
# Configuration de session recording
Enable-PSTranscription -OutputDirectory "C:\PAMLogs" -IncludeInvocationHeader
Write-Host "Compte PAM créé: $PAMAccount"

Valeur par défaut : Variable selon la configuration


2.5.2 — Authentification multi-facteurs (MFA) obligatoire

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.21 T1078 (Valid Accounts)

Description :

L’authentification multi-facteurs doit être obligatoire pour tous les comptes privilégiés et fortement recommandée pour les comptes utilisateur standard, avec support de FIDO2/WebAuthn.

Cette protection constitue une défense critique contre les attaques par vol de credentials, phishing et credential stuffing.

Vérification :

Get-WindowsOptionalFeature -Online -FeatureName "*Hello*" | Where-Object {$_.State -eq "Enabled"}
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork" -ErrorAction SilentlyContinue
certlm.msc # Vérifier les certificats d'authentification présents

Remédiation :

# Activation Windows Hello for Business
Enable-WindowsOptionalFeature -Online -FeatureName "WindowsHelloFace" -All -NoRestart
# Configuration des stratégies MFA
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork" -Name "RequireSecurityDevice" -Value 1 -Type DWord
# Configuration pour FIDO2
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\FIDO" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\FIDO" -Name "EnablePasswordlessExperience" -Value 1 -Type DWord
Write-Host "MFA configuré - Redémarrage requis pour activation complète"

Valeur par défaut : Variable selon la configuration


2.5.3 — Détection et gestion des comptes dormants

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.22 T1078 (Valid Accounts)

Description :

Les comptes inactifs depuis plus de 90 jours doivent être automatiquement détectés, rapportés et désactivés selon une politique de gouvernance établie.

Cette pratique élimine les comptes oubliés qui constituent des vecteurs d’attaque potentiels pour les adversaires.

Vérification :

Get-LocalUser | Where-Object {$_.LastLogon -lt (Get-Date).AddDays(-90) -and $_.Enabled -eq $true} | Select-Object Name, LastLogon, PasswordLastSet
Get-WmiObject Win32_UserProfile | Where-Object {$_.LastUseTime -lt (Get-Date).AddDays(-90).ToString("yyyyMMddHHmmss.ffffff-000")} | Select-Object LocalPath, LastUseTime
Get-EventLog -LogName Security -InstanceId 4624 -After (Get-Date).AddDays(-90) | Group-Object UserName | Sort-Object Count | Select-Object -First 10

Remédiation :

# Script de nettoyage des comptes dormants
$InactiveThreshold = (Get-Date).AddDays(-90)
$SystemAccounts = @("Administrator", "DefaultAccount", "Guest", "WDAGUtilityAccount", "krbtgt")
$DormantAccounts = Get-LocalUser | Where-Object {
    $_.Enabled -eq $true -and
    ($_.LastLogon -lt $InactiveThreshold -or $_.LastLogon -eq $null) -and
    $_.Name -notin $SystemAccounts
}
Write-Host "=== RAPPORT COMPTES DORMANTS ==="
foreach ($Account in $DormantAccounts) {
    $DaysInactive = if ($Account.LastLogon) { ((Get-Date) - $Account.LastLogon).Days } else { "Jamais connecté" }
    Write-Warning "Compte dormant: $($Account.Name) - Inactif depuis: $DaysInactive jours"
    # Action: Désactiver le compte (décommenter pour activer)
    # Disable-LocalUser -Name $Account.Name -Confirm:$false
    # Write-Host "  -> Compte désactivé: $($Account.Name)"
}
Write-Host "Total comptes dormants trouvés: $($DormantAccounts.Count)"

Valeur par défaut : Variable selon la configuration


2.6 — Surveillance et protection des accès

2.6.1 — Monitoring des connexions simultanées suspectes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.23 T1078 (Valid Accounts)

Description :

Les connexions simultanées depuis des emplacements géographiques impossibles ou des patterns de connexion anormaux doivent être détectées et alertées en temps réel.

Cette surveillance permet d’identifier rapidement les comptes compromis utilisés par des attaquants depuis des emplacements multiples.

Vérification :

query user
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624} -MaxEvents 100 | Group-Object {$_.Properties[5].Value} | Where-Object {$_.Count -gt 1}
Get-WmiObject Win32_LoggedOnUser | Group-Object Antecedent | Where-Object {$_.Count -gt 1}

Remédiation :

# Surveillance des sessions multiples en temps réel
function Monitor-ConcurrentSessions {
    $ActiveSessions = query user 2>$null | Select-String "Active|Actif"
    $SessionCount = $ActiveSessions.Count
    
    if ($SessionCount -gt 3) {
        Write-Warning "ALERTE: $SessionCount sessions actives simultanées détectées"
        $ActiveSessions | ForEach-Object { Write-Host "  Session: $_" }
    }
    
    # Analyser les connexions récentes par IP
    $RecentLogins = Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624; StartTime=(Get-Date).AddHours(-1)} -ErrorAction SilentlyContinue
    $LoginsByIP = $RecentLogins | Group-Object {$_.Properties[18].Value} | Sort-Object Count -Descending
    
    foreach ($IPGroup in $LoginsByIP) {
        if ($IPGroup.Count -gt 5) {
            Write-Warning "IP suspecte avec nombreuses connexions: $($IPGroup.Name) ($($IPGroup.Count) connexions)"
        }
    }
}
# Surveiller en continu (lancer en tâche planifiée)
Monitor-ConcurrentSessions

Valeur par défaut : Variable selon la configuration


2.6.2 — Protection contre le credential stuffing et brute force

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.24 T1110.004 (Credential Stuffing)

Description :

Des mécanismes anti-credential stuffing doivent être implémentés incluant limitation de taux, analyse comportementale et blocage automatique des sources malveillantes.

Cette protection prévient l’exploitation de credentials volés provenant de fuites de données sur d’autres plateformes.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625} -MaxEvents 100 | Group-Object {$_.Properties[19].Value} | Sort-Object Count -Descending | Select-Object -First 10
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625; StartTime=(Get-Date).AddHours(-1)} | Measure-Object
netsh advfirewall firewall show rule name=all dir=in | findstr "Block"

Remédiation :

# Système de protection anti-credential stuffing
function Enable-AntiBruteForce {
    param(
        [int]$FailureThreshold = 5,
        [int]$TimeWindowMinutes = 15,
        [int]$BlockDurationMinutes = 60
    )
    
    $StartTime = (Get-Date).AddMinutes(-$TimeWindowMinutes)
    $FailedAttempts = Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625; StartTime=$StartTime} -ErrorAction SilentlyContinue
    
    if ($FailedAttempts) {
        $AttackersbyIP = $FailedAttempts | Group-Object {$_.Properties[19].Value}
        
        foreach ($Attacker in $AttackersbyIP) {
            if ($Attacker.Count -ge $FailureThreshold) {
                $AttackerIP = $Attacker.Name
                Write-Warning "CREDENTIAL STUFFING DÉTECTÉ - IP: $AttackerIP ($($Attacker.Count) tentatives)"
                
                # Bloquer l'IP via pare-feu Windows
                try {
                    $RuleName = "AutoBlock-BruteForce-$AttackerIP"
                    New-NetFirewallRule -DisplayName $RuleName -Direction Inbound -RemoteAddress $AttackerIP -Action Block -ErrorAction Stop
                    Write-Host "  -> IP $AttackerIP bloquée automatiquement"
                    
                    # Programmer le déblocage automatique
                    $UnblockTime = (Get-Date).AddMinutes($BlockDurationMinutes)
                    Write-Host "  -> Déblocage automatique programmé: $UnblockTime"
                } catch {
                    Write-Error "Impossible de bloquer IP $AttackerIP : $_"
                }
            }
        }
    }
}
# Activer la protection
Enable-AntiBruteForce

Valeur par défaut : Variable selon la configuration


2.7.1 — Audit des connexions privilégiées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.20 T1078.002

Description :

Surveillance renforcée de tous les accès avec privilèges administratifs pour détecter les usages non autorisés.

Vérification :

# Commandes de vérification pour Audit des connexions privilégiées
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit des connexions privilégiées
Write-Host "Configuration de sécurité pour: Audit des connexions privilégiées"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.8.1 — Gestion des comptes de service

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.21 T1078.003

Description :

Configuration sécurisée des comptes de service avec privilèges minimaux requis.

Vérification :

# Commandes de vérification pour Gestion des comptes de service
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Gestion des comptes de service
Write-Host "Configuration de sécurité pour: Gestion des comptes de service"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.9.1 — Protection contre l’énumération

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.22 T1087.001

Description :

Mesures anti-énumération pour empêcher la découverte des comptes par des attaquants.

Vérification :

# Commandes de vérification pour Protection contre l'énumération
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection contre l'énumération
Write-Host "Configuration de sécurité pour: Protection contre l'énumération"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.10.1 — Authentification biométrique

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.23 T1078

Description :

Déploiement de l’authentification biométrique Windows Hello pour renforcer l’authentification.

Vérification :

# Commandes de vérification pour Authentification biométrique
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Authentification biométrique
Write-Host "Configuration de sécurité pour: Authentification biométrique"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.11.1 — Contrôle des sessions RDP

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.24 T1021.001

Description :

Limitation et surveillance des sessions Bureau à Distance pour prévenir les accès non autorisés.

Vérification :

# Commandes de vérification pour Contrôle des sessions RDP
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle des sessions RDP
Write-Host "Configuration de sécurité pour: Contrôle des sessions RDP"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.12.1 — Audit des élévations UAC

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.25 T1548.002

Description :

Traçage complet de toutes les élévations de privilège utilisateur via UAC.

Vérification :

# Commandes de vérification pour Audit des élévations UAC
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit des élévations UAC
Write-Host "Configuration de sécurité pour: Audit des élévations UAC"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.13.1 — Gestion des comptes temporaires

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.26 T1078

Description :

Politique de création, utilisation et suppression des comptes temporaires.

Vérification :

# Commandes de vérification pour Gestion des comptes temporaires
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Gestion des comptes temporaires
Write-Host "Configuration de sécurité pour: Gestion des comptes temporaires"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.14.1 — Protection des identifiants

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.27 T1552.001

Description :

Mesures de protection contre le vol et la réutilisation des identifiants.

Vérification :

# Commandes de vérification pour Protection des identifiants
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection des identifiants
Write-Host "Configuration de sécurité pour: Protection des identifiants"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.15.1 — Authentification réseau

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.28 T1021

Description :

Configuration sécurisée de l’authentification pour les accès réseau.

Vérification :

# Commandes de vérification pour Authentification réseau
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Authentification réseau
Write-Host "Configuration de sécurité pour: Authentification réseau"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.16.1 — Surveillance des modifications

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.29 T1098

Description :

Audit des modifications apportées aux comptes et groupes système.

Vérification :

# Commandes de vérification pour Surveillance des modifications
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Surveillance des modifications
Write-Host "Configuration de sécurité pour: Surveillance des modifications"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.17.1 — Contrôle d’accès granulaire

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.30 T1078

Description :

Implémentation d’un contrôle d’accès fin selon le principe du moindre privilège.

Vérification :

# Commandes de vérification pour Contrôle d'accès granulaire
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle d'accès granulaire
Write-Host "Configuration de sécurité pour: Contrôle d'accès granulaire"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.18.1 — Protection contre le pass-the-ticket

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.31 T1550.003

Description :

Mesures préventives contre les attaques de type pass-the-ticket Kerberos.

Vérification :

# Commandes de vérification pour Protection contre le pass-the-ticket
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection contre le pass-the-ticket
Write-Host "Configuration de sécurité pour: Protection contre le pass-the-ticket"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.19.1 — Gestion des certificats

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.32 T1552.004

Description :

Administration sécurisée des certificats d’authentification utilisateur.

Vérification :

# Commandes de vérification pour Gestion des certificats
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Gestion des certificats
Write-Host "Configuration de sécurité pour: Gestion des certificats"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.20.1 — Audit des accès échoués

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.33 T1110

Description :

Surveillance et analyse des tentatives d’accès échouées pour détecter les attaques.

Vérification :

# Commandes de vérification pour Audit des accès échoués
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit des accès échoués
Write-Host "Configuration de sécurité pour: Audit des accès échoués"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.21.1 — Protection des comptes système

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.34 T1078.001

Description :

Sécurisation renforcée des comptes système intégrés de Windows.

Vérification :

# Commandes de vérification pour Protection des comptes système
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection des comptes système
Write-Host "Configuration de sécurité pour: Protection des comptes système"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.22.1 — Contrôle des permissions

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.35 T1222

Description :

Audit et contrôle granulaire des permissions sur les ressources système.

Vérification :

# Commandes de vérification pour Contrôle des permissions
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle des permissions
Write-Host "Configuration de sécurité pour: Contrôle des permissions"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.23.1 — Authentification smart card

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.36 T1078

Description :

Déploiement et configuration de l’authentification par carte à puce.

Vérification :

# Commandes de vérification pour Authentification smart card
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Authentification smart card
Write-Host "Configuration de sécurité pour: Authentification smart card"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.24.1 — Surveillance des groupes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.37 T1098.003

Description :

Monitoring des modifications d’appartenance aux groupes privilégiés.

Vérification :

# Commandes de vérification pour Surveillance des groupes
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Surveillance des groupes
Write-Host "Configuration de sécurité pour: Surveillance des groupes"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


2.25.1 — Protection session hijacking

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.1.38 T1563.002

Description :

Mesures préventives contre le détournement de sessions utilisateur.

Vérification :

# Commandes de vérification pour Protection session hijacking
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection session hijacking
Write-Host "Configuration de sécurité pour: Protection session hijacking"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 3 : POLITIQUES DE MOT DE PASSE

3.1 — Complexité et longueur des mots de passe

3.1.1 — Longueur minimale des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.1 T1110 (Brute Force)

Description :

La longueur minimale des mots de passe doit être configurée à au moins 14 caractères pour résister aux attaques par force brute. Les mots de passe longs offrent une meilleure entropie que la complexité seule.

Conformément aux recommandations ANSSI et NIST, les mots de passe de 14 caractères minimum offrent un niveau de sécurité acceptable.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters' -Name 'RequireStrongKey' -ErrorAction SilentlyContinue
# Politique locale
net accounts | findstr /i "longueur"
secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "MinimumPasswordLength"
  • GUI : secpol.msc > Paramètres de sécurité > Stratégies de compte > Stratégie de mot de passe > Longueur minimale du mot de passe
  • Valeur attendue : ≥ 14 caractères

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Minimum password length → 14
  2. PowerShell (via secedit) :
# Créer fichier de configuration
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
MinimumPasswordLength = 14
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\pwd_length.inf -Encoding Unicode
secedit /configure /db C:\temp\pwd_length.sdb /cfg C:\temp\pwd_length.inf
Remove-Item C:\temp\pwd_length.inf, C:\temp\pwd_length.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 0 (aucune longueur minimale)


3.1.2 — Complexité des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.2 T1110.001 (Password Guessing)

Description :

La politique de complexité des mots de passe doit être activée pour exiger l’utilisation de caractères de différentes catégories (majuscules, minuscules, chiffres, caractères spéciaux).

Cette mesure rend les attaques par dictionnaire et les tentatives de devinement plus difficiles.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "PasswordComplexity"
net accounts | findstr /i "complexité"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de mot de passe > Le mot de passe doit respecter les exigences de complexité
  • Valeur attendue : PasswordComplexity = 1 (Activé)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements → Enabled
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
PasswordComplexity = 1
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\pwd_complexity.inf -Encoding Unicode
secedit /configure /db C:\temp\pwd_complexity.sdb /cfg C:\temp\pwd_complexity.inf
Remove-Item C:\temp\pwd_complexity.inf, C:\temp\pwd_complexity.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 1 (Activé sur domaine), 0 (Désactivé en standalone)


3.1.3 — Historique des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.3 T1110 (Brute Force)

Description :

L’historique des mots de passe doit mémoriser au moins 24 mots de passe précédents pour empêcher la réutilisation immédiate des anciens mots de passe.

Cette mesure force les utilisateurs à créer de nouveaux mots de passe uniques et évite la rotation cyclique de quelques mots de passe.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "PasswordHistorySize"
net accounts | findstr /i "historique"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de mot de passe > Conserver l’historique des mots de passe
  • Valeur attendue : PasswordHistorySize ≥ 24

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Enforce password history → 24 passwords remembered
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
PasswordHistorySize = 24
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\pwd_history.inf -Encoding Unicode
secedit /configure /db C:\temp\pwd_history.sdb /cfg C:\temp\pwd_history.inf
Remove-Item C:\temp\pwd_history.inf, C:\temp\pwd_history.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 0 (aucun historique)


3.2 — Durée de vie des mots de passe

3.2.1 — Âge maximum des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.4 T1110 (Brute Force)

Description :

L’âge maximum des mots de passe doit être défini pour forcer un changement régulier. Recommandation ANSSI : entre 1 an (365 jours) et 18 mois selon le contexte de sécurité.

Pour les environnements hautement sécurisés, une durée de 365 jours est recommandée. Pour les environnements standards, 540 jours maximum.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "MaximumPasswordAge"
net accounts | findstr /i "âge"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de mot de passe > Âge maximal du mot de passe
  • Valeur attendue : MaximumPasswordAge ≤ 365 jours

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Maximum password age → 365 days
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
MaximumPasswordAge = 365
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\pwd_maxage.inf -Encoding Unicode
secedit /configure /db C:\temp\pwd_maxage.sdb /cfg C:\temp\pwd_maxage.inf
Remove-Item C:\temp\pwd_maxage.inf, C:\temp\pwd_maxage.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 42 jours (domaine), 0 - jamais (standalone)


3.2.2 — Âge minimum des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 1.1.5 T1110 (Brute Force)

Description :

L’âge minimum des mots de passe doit être défini à au moins 1 jour pour empêcher les utilisateurs de changer immédiatement leur mot de passe pour contourner l’historique.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "MinimumPasswordAge"
net accounts | findstr /i "âge"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de mot de passe > Âge minimal du mot de passe
  • Valeur attendue : MinimumPasswordAge ≥ 1 jour

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Minimum password age → 1 day
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
MinimumPasswordAge = 1
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\pwd_minage.inf -Encoding Unicode
secedit /configure /db C:\temp\pwd_minage.sdb /cfg C:\temp\pwd_minage.inf
Remove-Item C:\temp\pwd_minage.inf, C:\temp\pwd_minage.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 0 jours (changement immédiat autorisé)


3.3 — Stockage et protection des mots de passe

3.3.1 — Chiffrement réversible des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.6 T1003.002 (Security Account Manager)

Description :

Le stockage des mots de passe avec chiffrement réversible doit être désactivé. Cette option stocke les mots de passe de manière à pouvoir les déchiffrer, ce qui présente un risque de sécurité majeur.

Le chiffrement réversible équivaut pratiquement à un stockage en texte clair et doit être évité sauf exigences techniques très spécifiques.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "ClearTextPassword"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de mot de passe > Stocker les mots de passe en utilisant un chiffrement réversible
  • Valeur attendue : ClearTextPassword = 0 (Désactivé)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy\Store passwords using reversible encryption → Disabled
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
ClearTextPassword = 0
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\pwd_cleartext.inf -Encoding Unicode
secedit /configure /db C:\temp\pwd_cleartext.sdb /cfg C:\temp\pwd_cleartext.inf
Remove-Item C:\temp\pwd_cleartext.inf, C:\temp\pwd_cleartext.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 0 (Désactivé)


3.3.2 — Protection contre l’énumération des comptes

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.1.7 T1087 (Account Discovery)

Description :

La protection contre l’énumération des comptes doit être activée pour empêcher la découverte des noms de comptes via les codes d’erreur d’authentification.

Cette protection fait en sorte que les tentatives de connexion avec des comptes inexistants retournent le même message d’erreur que les tentatives avec des mots de passe incorrects.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RestrictAnonymous' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RestrictAnonymousSAM' -ErrorAction SilentlyContinue
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Accès réseau : Ne pas autoriser l’énumération anonyme des comptes SAM
  • Valeur attendue : RestrictAnonymousSAM = 1

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Network access: Do not allow anonymous enumeration of SAM accounts → Enabled
  2. PowerShell :
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RestrictAnonymousSAM' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RestrictAnonymous' -Value 1 -Type DWord

Valeur par défaut : 1 (Activé sur Windows 11)


3.4.1 — Configuration des politiques de complexité avancées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.1 T1110.001 (Password Guessing)

Description :

Les mots de passe doivent respecter des critères de complexité avancés incluant la vérification de dictionnaires communs et l’interdiction de réutilisation de parties du nom d’utilisateur.

Cette politique renforce significativement la résistance aux attaques par dictionnaire et force brute.

Vérification :

net accounts
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" -Name "RequireSignOrSeal" -ErrorAction SilentlyContinue
secedit /export /cfg C:\temp\secpol.cfg /quiet && findstr /i "password" C:\temp\secpol.cfg

Remédiation :

# Configuration politique de mot de passe complexe
secedit /export /cfg C:\temp\secpol.cfg /quiet
$secpol = Get-Content C:\temp\secpol.cfg
$secpol = $secpol -replace "MinimumPasswordLength = .*", "MinimumPasswordLength = 14"
$secpol = $secpol -replace "MaximumPasswordAge = .*", "MaximumPasswordAge = 365"
$secpol = $secpol -replace "PasswordComplexity = .*", "PasswordComplexity = 1"
$secpol = $secpol -replace "PasswordHistorySize = .*", "PasswordHistorySize = 24"
Set-Content C:\temp\secpol_new.cfg -Value $secpol
secedit /configure /db C:\temp\secedit.sdb /cfg C:\temp\secpol_new.cfg /quiet

Valeur par défaut : Variable selon la configuration


3.4.1 — Configuration de l’historique étendu des mots de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.4 T1110 (Brute Force)

Description :

L’historique des mots de passe doit être configuré pour mémoriser au minimum 24 mots de passe précédents afin d’empêcher la réutilisation rapide.

Cette configuration force les utilisateurs à utiliser des mots de passe véritablement nouveaux et uniques.

Vérification :

net accounts | findstr "Longueur historique"
secedit /export /cfg C:\temp\secpol.cfg /quiet && findstr "PasswordHistorySize" C:\temp\secpol.cfg

Remédiation :

# Configuration de l'historique des mots de passe
net accounts /uniquepw:24
# Via secedit
secedit /export /cfg C:\temp\secpol.cfg /quiet
(Get-Content C:\temp\secpol.cfg) -replace "PasswordHistorySize = .*", "PasswordHistorySize = 24" | Set-Content C:\temp\secpol_new.cfg
secedit /configure /db C:\temp\secedit.sdb /cfg C:\temp\secpol_new.cfg /quiet

Valeur par défaut : Variable selon la configuration


3.5.1 — Implémentation de filtres de mots de passe avancés

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.5 T1110.001 (Password Guessing)

Description :

Des filtres de mots de passe personnalisés doivent être implémentés pour rejeter les mots de passe faibles, les mots de dictionnaire et les patterns communs.

Cette mesure renforce significativement la politique de mot de passe au-delà des règles de base Windows.

Vérification :

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "Notification Packages"
dir "C:\Windows\System32\*passfilt*"
Get-Content "C:\Windows\debug\passwd.log" -Tail 10 -ErrorAction SilentlyContinue

Remédiation :

# Installation du filtre de mot de passe avancé (exemple avec Azure AD Password Protection)
# Download et installation du DC Agent et Proxy
Write-Host "Télécharger Azure AD Password Protection depuis Microsoft"
# Configuration du filtre personnalisé
$NotificationPackages = (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "Notification Packages")."Notification Packages"
if ($NotificationPackages -notcontains "AzureADPasswordProtection") {
    $NewPackages = $NotificationPackages + @("AzureADPasswordProtection")
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "Notification Packages" -Value $NewPackages
}

Valeur par défaut : Variable selon la configuration


3.6.1 — Configuration des comptes avec mots de passe n’expirant jamais

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.6 T1078 (Valid Accounts)

Description :

Aucun compte utilisateur ne doit être configuré avec un mot de passe n’expirant jamais, à l’exception des comptes de service gérés.

Cette règle assure un renouvellement régulier des credentials utilisateur pour maintenir la sécurité.

Vérification :

Get-LocalUser | Where-Object {$_.PasswordNeverExpires -eq $true} | Select-Object Name, PasswordNeverExpires, LastLogon
net user | findstr "jamais"
Get-WmiObject -Class Win32_UserAccount -Filter "PasswordExpires=False" | Select-Object Name, PasswordExpires

Remédiation :

# Identifier et corriger les comptes avec mots de passe permanents
Get-LocalUser | Where-Object {$_.PasswordNeverExpires -eq $true -and $_.Name -ne "DefaultAccount"} | ForEach-Object {
    Set-LocalUser -Name $_.Name -PasswordNeverExpires $false
    Write-Host "Mot de passe configuré pour expirer: $($_.Name)"
}
# Audit des comptes de service
Get-WmiObject Win32_Service | Where-Object {$_.StartName -notlike "LocalSystem" -and $_.StartName -notlike "NT AUTHORITY\*"} | Select-Object Name, StartName

Valeur par défaut : Variable selon la configuration


3.7.1 — Configuration de notifications d’expiration de mot de passe

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.7 T1078 (Valid Accounts)

Description :

Les utilisateurs doivent recevoir des notifications d’expiration de mot de passe suffisamment à l’avance pour permettre un changement planifié.

Cette configuration évite les blocages d’accès inattendus et encourage un changement proactif des mots de passe.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name "PasswordExpiryWarning"
net accounts | findstr "Avertissement"
Get-LocalUser | Select-Object Name, PasswordLastSet, @{Name="DaysUntilExpiry";Expression={(New-TimeSpan -Start (Get-Date) -End $_.PasswordLastSet.AddDays(42)).Days}}

Remédiation :

# Configuration de l'avertissement d'expiration (14 jours à l'avance)
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name "PasswordExpiryWarning" -Value 14 -Type DWord
# Via ligne de commande
net accounts /forcelogoff:no
# Script de notification personnalisée
$Users = Get-LocalUser | Where-Object {$_.Enabled -eq $true}
foreach ($User in $Users) {
    $DaysLeft = (New-TimeSpan -Start (Get-Date) -End $User.PasswordLastSet.AddDays(42)).Days
    if ($DaysLeft -le 14 -and $DaysLeft -gt 0) {
        Write-Host "ATTENTION: Mot de passe expire dans $DaysLeft jours pour: $($User.Name)"
    }
}

Valeur par défaut : Variable selon la configuration


3.8.1 — Audit des tentatives de changement de mot de passe échouées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.8 T1110 (Brute Force)

Description :

Les tentatives de changement de mot de passe échouées doivent être auditées pour détecter les attaques par brute force et les problèmes de politique.

Cette surveillance permet d’identifier les patterns d’attaque et les problèmes de conformité des utilisateurs.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4723,4724} -MaxEvents 50
Get-EventLog -LogName Security -InstanceId 627 -Newest 20
auditpol /get /subcategory:"User Account Management"

Remédiation :

# Activation de l'audit des changements de mot de passe
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
# Surveillance des échecs répétés
Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND EventCode=4724" -Action {
    $Event = $Event.SourceEventArgs.NewEvent
    Write-Warning "Échec changement mot de passe: $($Event.InsertionStrings[0])"
}
# Analyse des patterns d'échec
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4724} -MaxEvents 100 | Group-Object {$_.Properties[0].Value} | Sort-Object Count -Descending

Valeur par défaut : Variable selon la configuration


3.4.1 — Implémentation de phrases de passe (passphrases)

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.9 T1110 (Brute Force)

Description :

Les phrases de passe longues doivent être encouragées comme alternative aux mots de passe complexes courts pour améliorer à la fois la sécurité et l’utilisabilité.

Les phrases de passe de 4+ mots sont généralement plus sécurisées et mémorisables que les mots de passe courts complexes.

Vérification :

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" -Name "MaximumPasswordLength"
net accounts | findstr "Longueur"
Get-ADDefaultDomainPasswordPolicy -ErrorAction SilentlyContinue

Remédiation :

# Configuration pour supporter les phrases de passe longues
net accounts /maxpwlen:127
# Via stratégie de groupe pour domaine
Write-Host "Configuration GPO: Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Password Policy"
Write-Host "Maximum password length: 127 characters"
# Script de validation de phrases de passe
function Test-Passphrase {
    param([string]$Passphrase)
    $Words = $Passphrase -split "\s+"
    if ($Words.Count -ge 4 -and $Passphrase.Length -ge 20) {
        Write-Host "Phrase de passe valide: $($Words.Count) mots, $($Passphrase.Length) caractères"
        return $true
    }
    return $false
}
# Test-Passphrase "Mon chat mange des croquettes bleues 2024"

Valeur par défaut : Variable selon la configuration


3.5.1 — Détection et blocage des mots de passe compromis

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.10 T1110.001 (Password Guessing)

Description :

Une base de données de mots de passe compromis (HaveIBeenPwned, etc.) doit être intégrée pour rejeter automatiquement les mots de passe connus comme compromis.

Cette mesure prévient l’utilisation de mots de passe déjà exposés dans des fuites de données publiques.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\AzureADPasswordProtection" -ErrorAction SilentlyContinue
Get-Service -Name "AzureADPasswordProtectionDCAgent" -ErrorAction SilentlyContinue
Get-EventLog -LogName "Microsoft-AzureADPasswordProtection-DCAgent/Admin" -Newest 10 -ErrorAction SilentlyContinue

Remédiation :

# Installation Azure AD Password Protection (nécessite licences Azure AD Premium)
Write-Host "1. Télécharger Azure AD Password Protection DC Agent"
Write-Host "2. Installer sur tous les contrôleurs de domaine"
Write-Host "3. Configurer via Azure AD Portal: Security > Authentication methods > Password protection"
# Alternative: Script de vérification basique avec API HaveIBeenPwned
function Test-CompromisedPassword {
    param([SecureString]$Password)
    $PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password))
    $Hash = [System.Security.Cryptography.SHA1]::Create().ComputeHash([System.Text.Encoding]::UTF8.GetBytes($PlainPassword))
    $HashString = [BitConverter]::ToString($Hash) -replace "-"
    $Prefix = $HashString.Substring(0,5)
    $Suffix = $HashString.Substring(5)
    try {
        $Response = Invoke-WebRequest -Uri "https://api.pwnedpasswords.com/range/$Prefix" -UseBasicParsing
        if ($Response.Content -like "*$Suffix*") {
            Write-Warning "MOT DE PASSE COMPROMIS DÉTECTÉ"
            return $false
        }
    } catch {
        Write-Warning "Impossible de vérifier le mot de passe"
    }
    return $true
}

Valeur par défaut : Variable selon la configuration


3.6.1 — Analyse de la force des mots de passe en temps réel

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.11 T1110 (Brute Force)

Description :

Un système d’analyse en temps réel de la force des mots de passe doit fournir un feedback immédiat aux utilisateurs lors de la création.

Cette assistance améliore la qualité des mots de passe choisis par les utilisateurs.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserTile" -ErrorAction SilentlyContinue
Get-WindowsCapability -Online -Name "*Hello*"
powercfg /devicequery wake_armed

Remédiation :

# Script d'analyse de force de mot de passe
function Measure-PasswordStrength {
    param([string]$Password)
    $Score = 0
    $Feedback = @()
    
    # Critères de base
    if ($Password.Length -ge 12) { $Score += 2 } elseif ($Password.Length -ge 8) { $Score += 1 }
    if ($Password -cmatch "[a-z]") { $Score += 1 }
    if ($Password -cmatch "[A-Z]") { $Score += 1 }
    if ($Password -match "[0-9]") { $Score += 1 }
    if ($Password -match "[^a-zA-Z0-9]") { $Score += 2 }
    
    # Critères avancés
    if ($Password -notmatch "(.)\1{2,}") { $Score += 1 }  # Pas de répétition
    if ($Password -notmatch "123|abc|qwe|asd") { $Score += 1 }  # Pas de séquences
    
    # Évaluation
    switch ($Score) {
        {$_ -ge 8} { return @{Level="Excellent"; Score=$Score; Color="Green"} }
        {$_ -ge 6} { return @{Level="Bon"; Score=$Score; Color="Yellow"} }
        {$_ -ge 4} { return @{Level="Moyen"; Score=$Score; Color="Orange"} }
        default { return @{Level="Faible"; Score=$Score; Color="Red"} }
    }
}
# Exemple d'usage
# Measure-PasswordStrength "MonMotDePasse123!"

Valeur par défaut : Variable selon la configuration


3.4 — Politiques avancées de mots de passe

3.4.1 — Implémentation de filtres anti-mots de passe compromis

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.10 T1110.001 (Password Guessing)

Description :

Des filtres de mots de passe doivent intégrer des bases de données de mots de passe compromis (HaveIBeenPwned, etc.) pour rejeter automatiquement les mots de passe connus comme exposés dans des fuites.

Cette mesure prévient l’utilisation de mots de passe déjà compromis dans des violations de données publiques.

Vérification :

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\AzureADPasswordProtection" -ErrorAction SilentlyContinue
Get-Service -Name "*Password*" | Where-Object {$_.Status -eq "Running"}
Get-EventLog -LogName Application | Where-Object {$_.Source -like "*Password*"} | Select-Object -First 5

Remédiation :

# Installation et configuration Azure AD Password Protection (nécessite Azure AD Premium)
Write-Host "=== CONFIGURATION AZURE AD PASSWORD PROTECTION ==="
Write-Host "1. Télécharger AzureADPasswordProtectionProxySetup.exe depuis Microsoft"
Write-Host "2. Télécharger AzureADPasswordProtectionDCAgentSetup.exe"
Write-Host "3. Installer sur tous les contrôleurs de domaine"

# Alternative: Vérification basique avec API HaveIBeenPwned
function Test-CompromisedPassword {
    param([string]$Password)
    
    if ($Password.Length -eq 0) { return $false }
    
    try {
        # Calculer le hash SHA-1 du mot de passe
        $sha1 = New-Object System.Security.Cryptography.SHA1Managed
        $hash = [System.BitConverter]::ToString($sha1.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($Password))).Replace("-", "")
        $prefix = $hash.Substring(0,5)
        $suffix = $hash.Substring(5)
        
        # Interroger l'API HaveIBeenPwned
        $response = Invoke-RestMethod -Uri "https://api.pwnedpasswords.com/range/$prefix" -Method Get -TimeoutSec 10
        
        if ($response -match $suffix) {
            Write-Warning "MOT DE PASSE COMPROMIS DÉTECTÉ dans les fuites de données"
            return $true
        } else {
            Write-Host "Mot de passe non trouvé dans les fuites connues"
            return $false
        }
    } catch {
        Write-Warning "Impossible de vérifier le mot de passe: $_"
        return $false
    }
}
# Exemple d'utilisation:
# Test-CompromisedPassword "password123"

Valeur par défaut : Variable selon la configuration


3.4.2 — Support des phrases de passe (passphrases) longues

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.9 T1110 (Brute Force)

Description :

Les phrases de passe de 4+ mots doivent être encouragées comme alternative aux mots de passe complexes courts, avec configuration appropriée des longueurs maximum supportées.

Les phrases de passe offrent généralement une meilleure sécurité et utilisabilité que les mots de passe courts avec caractères spéciaux.

Vérification :

net accounts | findstr /i "longueur"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" -Name "MaximumPasswordLength" -ErrorAction SilentlyContinue
secedit /export /cfg C:\temp\current_policy.cfg /quiet && findstr -i "password" C:\temp\current_policy.cfg

Remédiation :

# Configuration pour supporter les phrases de passe longues
Write-Host "=== CONFIGURATION PHRASES DE PASSE ==="

# Augmenter la longueur maximum autorisée
net accounts /maxpwlen:127  # Maximum supporté par Windows

# Configuration via stratégie de sécurité locale
secedit /export /cfg C:\temp\current_policy.cfg /quiet
$policy = Get-Content C:\temp\current_policy.cfg
$policy = $policy -replace "MaximumPasswordAge = .*", "MaximumPasswordAge = 365"
$policy = $policy -replace "MinimumPasswordLength = .*", "MinimumPasswordLength = 20"
Set-Content C:\temp\new_policy.cfg -Value $policy
secedit /configure /db C:\temp\secedit.sdb /cfg C:\temp\new_policy.cfg /quiet

# Fonction de validation de phrases de passe
function Test-PassphraseStrength {
    param([string]$Passphrase)
    
    $words = $Passphrase -split "\s+"
    $score = 0
    $feedback = @()
    
    # Critères d'évaluation
    if ($words.Count -ge 4) { $score += 3; $feedback += "Bon nombre de mots" }
    if ($Passphrase.Length -ge 20) { $score += 2; $feedback += "Longueur appropriée" }
    if ($Passphrase -match "\d") { $score += 1; $feedback += "Contient des chiffres" }
    if ($Passphrase -cmatch "[A-Z].*[a-z]") { $score += 1; $feedback += "Mélange majuscules/minuscules" }
    
    $strength = switch ($score) {
        {$_ -ge 6} { "Excellente" }
        {$_ -ge 4} { "Bonne" }
        {$_ -ge 2} { "Moyenne" }
        default { "Faible" }
    }
    
    return @{
        Strength = $strength
        Score = $score
        WordCount = $words.Count
        Length = $Passphrase.Length
        Feedback = $feedback
    }
}
# Exemple: Test-PassphraseStrength "Mon chat mange des croquettes bleues en 2024"

Valeur par défaut : Variable selon la configuration


3.5.1 — Complexité renforcée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.10 T1110.001

Description :

Règles de complexité avancées avec vérification de dictionnaires.

Vérification :

# Commandes de vérification pour Complexité renforcée
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Complexité renforcée
Write-Host "Configuration de sécurité pour: Complexité renforcée"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.6.1 — Historique étendu

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.11 T1110

Description :

Mémorisation de 30+ mots de passe précédents pour éviter la réutilisation.

Vérification :

# Commandes de vérification pour Historique étendu
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Historique étendu
Write-Host "Configuration de sécurité pour: Historique étendu"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.7.1 — Notification expiration

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.12 T1078

Description :

Système d’alerte préventive pour le renouvellement des mots de passe.

Vérification :

# Commandes de vérification pour Notification expiration
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Notification expiration
Write-Host "Configuration de sécurité pour: Notification expiration"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.8.1 — Analyse de force

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.13 T1110

Description :

Évaluation temps réel de la robustesse des nouveaux mots de passe.

Vérification :

# Commandes de vérification pour Analyse de force
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Analyse de force
Write-Host "Configuration de sécurité pour: Analyse de force"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.9.1 — Filtrage des compromis

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.14 T1110.001

Description :

Intégration de bases de données de mots de passe compromis.

Vérification :

# Commandes de vérification pour Filtrage des compromis
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Filtrage des compromis
Write-Host "Configuration de sécurité pour: Filtrage des compromis"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.10.1 — Support passphrases

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.15 T1110

Description :

Configuration pour accepter les phrases de passe longues.

Vérification :

# Commandes de vérification pour Support passphrases
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Support passphrases
Write-Host "Configuration de sécurité pour: Support passphrases"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.11.1 — Rotation automatique

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.16 T1078.003

Description :

Mécanismes de rotation automatique pour les comptes de service.

Vérification :

# Commandes de vérification pour Rotation automatique
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Rotation automatique
Write-Host "Configuration de sécurité pour: Rotation automatique"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.12.1 — Audit des changements

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.17 T1098

Description :

Traçage de toutes les modifications de politique de mot de passe.

Vérification :

# Commandes de vérification pour Audit des changements
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit des changements
Write-Host "Configuration de sécurité pour: Audit des changements"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.13.1 — Protection stockage

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.1.18 T1552.001

Description :

Chiffrement renforcé du stockage des hachages de mots de passe.

Vérification :

# Commandes de vérification pour Protection stockage
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection stockage
Write-Host "Configuration de sécurité pour: Protection stockage"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.14.1 — Contrôle qualité

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.19 T1110

Description :

Vérification continue de la conformité des mots de passe aux politiques.

Vérification :

# Commandes de vérification pour Contrôle qualité
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle qualité
Write-Host "Configuration de sécurité pour: Contrôle qualité"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


3.15.1 — Exceptions documentées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.1.20 T1078

Description :

Gestion et audit des exceptions aux politiques de mot de passe.

Vérification :

# Commandes de vérification pour Exceptions documentées
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Exceptions documentées
Write-Host "Configuration de sécurité pour: Exceptions documentées"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 4 : VERROUILLAGE DE COMPTE

4.1 — Configuration des seuils de verrouillage

4.1.1 — Seuil de verrouillage de compte

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 1.2.1 T1110 (Brute Force)

Description :

Le seuil de verrouillage de compte doit être configuré pour verrouiller automatiquement les comptes après un nombre défini de tentatives d’authentification échouées. Recommandation : 5 tentatives maximum.

Cette mesure protège contre les attaques par force brute tout en évitant les verrouillages excessifs qui impacteraient la productivité.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "LockoutBadCount"
net accounts | findstr /i "seuil"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de verrouillage de compte > Seuil de verrouillage du compte
  • Valeur attendue : LockoutBadCount ≤ 5 (recommandé : 5)

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Account lockout threshold → 5 invalid logon attempts
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
LockoutBadCount = 5
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\lockout_threshold.inf -Encoding Unicode
secedit /configure /db C:\temp\lockout_threshold.sdb /cfg C:\temp\lockout_threshold.inf
Remove-Item C:\temp\lockout_threshold.inf, C:\temp\lockout_threshold.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 0 (pas de verrouillage)


4.1.2 — Durée de verrouillage de compte

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 1.2.2 T1110 (Brute Force)

Description :

La durée de verrouillage de compte doit être configurée à au moins 15 minutes pour ralentir les attaques par force brute tout en permettant un déverrouillage automatique raisonnable.

Une durée trop courte ne décourage pas efficacement les attaquants, une durée trop longue impacte la productivité.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "LockoutDuration"
net accounts | findstr /i "durée"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de verrouillage de compte > Durée de verrouillage du compte
  • Valeur attendue : LockoutDuration ≥ 15 minutes

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Account lockout duration → 15 minutes
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
LockoutDuration = 15
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\lockout_duration.inf -Encoding Unicode
secedit /configure /db C:\temp\lockout_duration.sdb /cfg C:\temp\lockout_duration.inf
Remove-Item C:\temp\lockout_duration.inf, C:\temp\lockout_duration.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 30 minutes (si verrouillage activé)


4.1.3 — Fenêtre de réinitialisation du compteur de verrouillage

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 1.2.3 T1110 (Brute Force)

Description :

La fenêtre de réinitialisation du compteur de verrouillage doit être configurée à au moins 15 minutes. Cette période détermine combien de temps après une tentative échouée le compteur est remis à zéro.

Vérification :

secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "ResetLockoutCount"
  • GUI : secpol.msc > Stratégies de compte > Stratégie de verrouillage de compte > Réinitialiser le compteur de verrouillages du compte après
  • Valeur attendue : ResetLockoutCount ≥ 15 minutes

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Reset account lockout counter after → 15 minutes
  2. PowerShell (via secedit) :
$ConfigContent = @"
[Unicode]
Unicode=yes
[System Access]
ResetLockoutCount = 15
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\lockout_reset.inf -Encoding Unicode
secedit /configure /db C:\temp\lockout_reset.sdb /cfg C:\temp\lockout_reset.inf
Remove-Item C:\temp\lockout_reset.inf, C:\temp\lockout_reset.sdb -ErrorAction SilentlyContinue

Valeur par défaut : 30 minutes (si verrouillage activé)


4.2 — Exceptions et comptes spéciaux

4.2.1 — Exclusion des comptes d’administration du verrouillage

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 ANSSI T1110 (Brute Force)

Description :

Les comptes d’administration de domaine ne sont pas soumis aux politiques de verrouillage par défaut. Cette exception doit être documentée et les comptes d’administration locaux doivent être particulièrement protégés.

Il est recommandé de créer des comptes d’administration dédiés avec des noms non-évidents plutôt que d’utiliser les comptes par défaut.

Vérification :

# Vérifier les comptes avec le privilège SeDenyNetworkLogonRight
secedit /export /cfg C:\temp\secedit_temp.inf
Get-Content C:\temp\secedit_temp.inf | Select-String "SeDenyNetworkLogonRight"

# Lister les comptes d'administration
Get-LocalGroupMember -Group "Administrators" | Select-Object Name, PrincipalSource
  • Note : Les comptes Administrateur de domaine ne sont jamais verrouillés par la politique de verrouillage
  • Valeur attendue : Documentation et monitoring renforcé des comptes d’administration

Remédiation :

  1. Monitoring renforcé :
# Activer l'audit des échecs d'ouverture de session pour les comptes privilégiés
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Account Lockout" /success:enable /failure:enable
  1. Stratégies complémentaires :
    • Utiliser des comptes d’administration avec des noms non-prédictibles
    • Implémenter une authentification multi-facteur
    • Configurer des alertes en temps réel pour les tentatives de connexion

Valeur par défaut : Comptes d’administration exemptés par défaut


4.3.1 — Configuration des seuils de verrouillage adaptatifs

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.1 T1110 (Brute Force)

Description :

Les seuils de verrouillage doivent être configurés de manière adaptative selon le type de compte et le niveau de risque.

Cette approche équilibre sécurité et utilisabilité en appliquant des politiques différenciées.

Vérification :

net accounts | findstr "Seuil"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters\AccountLockout"
auditpol /get /subcategory:"Account Lockout"

Remédiation :

# Configuration différenciée par type de compte
net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30
# Configuration avancée via registre pour comptes admin
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\AccountLockout" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\AccountLockout" -Name "AdminLockoutThreshold" -Value 3 -Type DWord
# Audit du verrouillage
auditpol /set /subcategory:"Account Lockout" /success:enable /failure:enable

Valeur par défaut : Variable selon la configuration


4.4.1 — Surveillance des tentatives de verrouillage massives

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.2.2 T1499.004 (Application or System Exploitation)

Description :

Les tentatives de verrouillage de comptes massives doivent être détectées et alertées comme indicateur d’attaque par déni de service.

Cette surveillance permet d’identifier les attaques visant à bloquer l’accès aux utilisateurs légitimes.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4740} -MaxEvents 50
Get-EventLog -LogName Security -InstanceId 644 -Newest 20
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4740} | Group-Object TimeCreated.Hour | Sort-Object Count -Descending

Remédiation :

# Script de détection de verrouillage massif
$LockoutEvents = Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4740; StartTime=(Get-Date).AddHours(-1)}
if ($LockoutEvents.Count -gt 10) {
    Write-Warning "ALERTE: $($LockoutEvents.Count) verrouillages détectés dans la dernière heure"
    $LockoutEvents | Group-Object {$_.Properties[1].Value} | Sort-Object Count -Descending | Select-Object -First 5
}
# Configuration d'alertes automatiques
Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND EventCode=4740" -Action {
    $Global:LockoutCounter++
    if ($Global:LockoutCounter -gt 5) {
        Write-Host "CRITICAL: Attaque de verrouillage détectée"
    }
}

Valeur par défaut : Variable selon la configuration


4.5.1 — Configuration du déverrouillage automatique intelligent

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.3 T1110 (Brute Force)

Description :

Le déverrouillage automatique doit être configuré de manière intelligente pour équilibrer sécurité et productivité utilisateur.

Cette configuration évite les blocages prolongés tout en maintenant la protection contre les attaques.

Vérification :

net accounts | findstr "Durée"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" -Name "LockoutDuration"
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4767} -MaxEvents 20

Remédiation :

# Configuration du déverrouillage progressif
net accounts /lockoutduration:30
# Script de déverrouillage intelligent basé sur la source
$LockedAccounts = Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4740} | Where-Object {$_.TimeCreated -gt (Get-Date).AddMinutes(-30)}
foreach ($Account in $LockedAccounts) {
    $SourceIP = $Account.Properties[19].Value
    # Vérifier si l'IP source est interne/fiable
    if ($SourceIP -match "^192\.168\.|^10\.|^172\.(1[6-9]|2[0-9]|3[01])\.") {
        Write-Host "Source interne détectée: $SourceIP - Déverrouillage anticipé possible"
    }
}

Valeur par défaut : Variable selon la configuration


4.3.1 — Configuration de verrouillage intelligent par géolocalisation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.4 T1110 (Brute Force)

Description :

Le verrouillage de compte doit être adapté selon la géolocalisation de la tentative de connexion, avec des seuils plus stricts pour les connexions depuis des pays à risque.

Cette approche contextuelle améliore la sécurité tout en préservant l’expérience utilisateur pour les connexions légitimes.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625} -MaxEvents 50 | Select-Object TimeCreated, @{Name="SourceIP";Expression={$_.Properties[19].Value}}
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" -Name "LockoutThreshold"
netsh advfirewall show currentprofile

Remédiation :

# Configuration de verrouillage adaptatif par géolocalisation
$HighRiskCountries = @("CN", "RU", "KP", "IR")
$RecentFailures = Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625; StartTime=(Get-Date).AddHours(-1)}
foreach ($Failure in $RecentFailures) {
    $SourceIP = $Failure.Properties[19].Value
    # Simulation de géolocalisation (remplacer par vraie API)
    if ($SourceIP -notmatch "^192\.168\.|^10\.|^172\.(1[6-9]|2[0-9]|3[01])\.") {
        Write-Warning "Tentative de connexion externe depuis: $SourceIP"
        # Appliquer seuil plus strict (3 tentatives au lieu de 5)
        # Implémenter logique de géolocalisation avec MaxMind GeoIP ou similaire
    }
}
# Configuration pare-feu pour blocage géographique
Write-Host "Configuration recommandée: Déployer solution de géoblocage (Cloudflare, etc.)"

Valeur par défaut : Variable selon la configuration


4.4.1 — Analyse comportementale des patterns de connexion

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.5 T1078 (Valid Accounts)

Description :

Les patterns de connexion inhabituels (horaires, fréquence, méthodes) doivent déclencher des vérifications supplémentaires avant verrouillage.

Cette analyse comportementale distingue les vraies attaques des anomalies légitimes d’usage.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624,4625} -MaxEvents 200 | Group-Object @{Expression={$_.TimeCreated.Hour}} | Sort-Object Name
Get-EventLog -LogName Security -InstanceId 4624 -After (Get-Date).AddDays(-7) | Group-Object UserName | Sort-Object Count -Descending
query user /server:localhost

Remédiation :

# Analyse des patterns de connexion
function Analyze-LoginPatterns {
    param([string]$UserName, [int]$DaysBack = 7)
    
    $LoginEvents = Get-WinEvent -FilterHashtable @{
        LogName="Security"
        ID=4624
        StartTime=(Get-Date).AddDays(-$DaysBack)
    } | Where-Object {$_.Properties[5].Value -eq $UserName}
    
    # Analyser les horaires habituels
    $TypicalHours = $LoginEvents | Group-Object {$_.TimeCreated.Hour} | Sort-Object Count -Descending | Select-Object -First 3
    
    # Détecter les anomalies
    $RecentLogin = $LoginEvents | Select-Object -First 1
    $IsAnomalous = $false
    
    if ($RecentLogin) {
        $CurrentHour = $RecentLogin.TimeCreated.Hour
        if ($CurrentHour -notin ($TypicalHours | ForEach-Object {$_.Name})) {
            $IsAnomalous = $true
            Write-Warning "Connexion à heure inhabituelle pour $UserName : $CurrentHour h"
        }
    }
    
    return @{
        TypicalHours = $TypicalHours
        IsAnomalous = $IsAnomalous
        RecentLoginCount = $LoginEvents.Count
    }
}
# Exemple d'usage
# Analyze-LoginPatterns -UserName "testuser"

Valeur par défaut : Variable selon la configuration


4.3 — Mécanismes de verrouillage adaptatif

4.3.1 — Verrouillage intelligent basé sur la géolocalisation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.4 T1110 (Brute Force)

Description :

Les seuils de verrouillage doivent être adaptés selon la géolocalisation des tentatives de connexion, avec des politiques plus strictes pour les connexions depuis des pays à haut risque.

Cette approche contextuelle améliore la sécurité sans impacter l’expérience utilisateur pour les connexions légitimes.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4625} -MaxEvents 50 | Select-Object TimeCreated, @{Name="SourceIP";Expression={$_.Properties[19].Value}}, @{Name="Account";Expression={$_.Properties[5].Value}}
net accounts | findstr /i "seuil"
Get-EventLog -LogName Security -InstanceId 4740 -Newest 10 | Select-Object TimeGenerated, ReplacementStrings

Remédiation :

# Configuration de verrouillage adaptatif par géolocalisation
function Set-AdaptiveLockout {
    param(
        [string[]]$HighRiskCountries = @("CN", "RU", "KP", "IR", "SY"),
        [int]$NormalThreshold = 5,
        [int]$HighRiskThreshold = 3
    )
    
    Write-Host "=== CONFIGURATION VERROUILLAGE ADAPTATIF ==="
    
    # Analyser les tentatives de connexion récentes
    $RecentFailures = Get-WinEvent -FilterHashtable @{
        LogName="Security"
        ID=4625
        StartTime=(Get-Date).AddHours(-1)
    } -ErrorAction SilentlyContinue
    
    if ($RecentFailures) {
        $FailuresByIP = $RecentFailures | Group-Object {$_.Properties[19].Value}
        
        foreach ($IPGroup in $FailuresByIP) {
            $SourceIP = $IPGroup.Name
            $FailureCount = $IPGroup.Count
            
            # Déterminer si l'IP est externe (simplification)
            $IsExternal = -not ($SourceIP -match "^192\.168\.|^10\.|^172\.(1[6-9]|2[0-9]|3[01])\.")
            
            if ($IsExternal) {
                Write-Warning "IP externe avec $FailureCount échecs: $SourceIP"
                # TODO: Intégrer géolocalisation réelle (MaxMind GeoIP, etc.)
                
                # Appliquer seuil plus strict pour IPs externes
                if ($FailureCount -ge $HighRiskThreshold) {
                    Write-Host "  -> Seuil haut risque atteint, blocage recommandé"
                    # New-NetFirewallRule -DisplayName "GeoBlock-$SourceIP" -Direction Inbound -RemoteAddress $SourceIP -Action Block
                }
            }
        }
    }
    
    # Configuration des seuils de base
    net accounts /lockoutthreshold:$NormalThreshold /lockoutduration:30 /lockoutwindow:30
    Write-Host "Seuil de verrouillage normal configuré: $NormalThreshold tentatives"
}
Set-AdaptiveLockout

Valeur par défaut : Variable selon la configuration


4.3.2 — Analyse comportementale des patterns de connexion

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.5 T1078 (Valid Accounts)

Description :

Les patterns de connexion inhabituels (horaires atypiques, fréquence anormale, nouvelles méthodes d’authentification) doivent déclencher des vérifications supplémentaires avant verrouillage complet.

Cette analyse comportementale permet de distinguer les vraies attaques des anomalies légitimes d’usage utilisateur.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624} -MaxEvents 200 | Group-Object @{Expression={$_.TimeCreated.Hour}} | Sort-Object Name
Get-EventLog -LogName Security -InstanceId 4624 -After (Get-Date).AddDays(-7) | Group-Object UserName | Sort-Object Count -Descending | Select-Object -First 10
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4624,4625} | Group-Object @{Expression={$_.TimeCreated.DayOfWeek}} | Sort-Object Count -Descending

Remédiation :

# Analyse comportementale des connexions
function Analyze-LoginBehavior {
    param(
        [string]$UserName = $null,
        [int]$DaysToAnalyze = 14
    )
    
    Write-Host "=== ANALYSE COMPORTEMENTALE DES CONNEXIONS ==="
    
    $StartDate = (Get-Date).AddDays(-$DaysToAnalyze)
    
    # Récupérer les événements de connexion
    $LoginEvents = Get-WinEvent -FilterHashtable @{
        LogName = "Security"
        ID = 4624
        StartTime = $StartDate
    } -ErrorAction SilentlyContinue
    
    if ($UserName) {
        $LoginEvents = $LoginEvents | Where-Object {$_.Properties[5].Value -eq $UserName}
        Write-Host "Analyse pour l'utilisateur: $UserName"
    }
    
    if ($LoginEvents) {
        # Analyser les patterns horaires
        $HourlyPattern = $LoginEvents | Group-Object {$_.TimeCreated.Hour} | Sort-Object Name
        Write-Host "\nPatterns horaires typiques:"
        $HourlyPattern | ForEach-Object {
            Write-Host "  $($_.Name)h: $($_.Count) connexions"
        }
        
        # Identifier les heures inhabituelles (en dehors des heures de bureau)
        $OffHoursLogins = $LoginEvents | Where-Object {
            $hour = $_.TimeCreated.Hour
            $hour -lt 7 -or $hour -gt 19  # En dehors de 7h-19h
        }
        
        if ($OffHoursLogins) {
            Write-Warning "Connexions en dehors des heures de bureau détectées: $($OffHoursLogins.Count)"
            $OffHoursLogins | Select-Object -First 5 | ForEach-Object {
                Write-Host "  $(Get-Date $_.TimeCreated -Format "yyyy-MM-dd HH:mm") - IP: $($_.Properties[18].Value)"
            }
        }
        
        # Analyser les connexions de weekend
        $WeekendLogins = $LoginEvents | Where-Object {
            $_.TimeCreated.DayOfWeek -eq "Saturday" -or $_.TimeCreated.DayOfWeek -eq "Sunday"
        }
        
        if ($WeekendLogins) {
            Write-Warning "Connexions de weekend détectées: $($WeekendLogins.Count)"
        }
        
        return @{
            TotalLogins = $LoginEvents.Count
            OffHoursCount = $OffHoursLogins.Count
            WeekendCount = $WeekendLogins.Count
            MostActiveHour = ($HourlyPattern | Sort-Object Count -Descending | Select-Object -First 1).Name
        }
    } else {
        Write-Host "Aucun événement de connexion trouvé pour la période analysée"
        return $null
    }
}
# Exemple d'utilisation
Analyze-LoginBehavior -DaysToAnalyze 7

Valeur par défaut : Variable selon la configuration


4.4.1 — Seuils adaptatifs

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.10 T1110

Description :

Configuration de seuils de verrouillage selon le contexte utilisateur.

Vérification :

# Commandes de vérification pour Seuils adaptatifs
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Seuils adaptatifs
Write-Host "Configuration de sécurité pour: Seuils adaptatifs"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


4.5.1 — Géolocalisation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.2.11 T1110

Description :

Verrouillage basé sur la localisation géographique des tentatives.

Vérification :

# Commandes de vérification pour Géolocalisation
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Géolocalisation
Write-Host "Configuration de sécurité pour: Géolocalisation"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


4.6.1 — Analyse comportementale

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.12 T1078

Description :

Détection d’anomalies dans les patterns de connexion.

Vérification :

# Commandes de vérification pour Analyse comportementale
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Analyse comportementale
Write-Host "Configuration de sécurité pour: Analyse comportementale"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


4.7.1 — Protection DDoS

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.2.13 T1499.004

Description :

Mesures anti-déni de service par verrouillage massif.

Vérification :

# Commandes de vérification pour Protection DDoS
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection DDoS
Write-Host "Configuration de sécurité pour: Protection DDoS"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


4.8.1 — Déverrouillage intelligent

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.14 T1110

Description :

Mécanismes de déverrouillage basés sur la confiance.

Vérification :

# Commandes de vérification pour Déverrouillage intelligent
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Déverrouillage intelligent
Write-Host "Configuration de sécurité pour: Déverrouillage intelligent"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


4.9.1 — Notification temps réel

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.15 T1110

Description :

Alertes immédiates lors de verrouillages suspects.

Vérification :

# Commandes de vérification pour Notification temps réel
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Notification temps réel
Write-Host "Configuration de sécurité pour: Notification temps réel"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


4.10.1 — Corrélation d’événements

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.2.16 T1110

Description :

Analyse des patterns de verrouillage multi-comptes.

Vérification :

# Commandes de vérification pour Corrélation d'événements
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Corrélation d'événements
Write-Host "Configuration de sécurité pour: Corrélation d'événements"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 5 : CONFIGURATION DES SERVICES

5.1 — Services de base Windows

5.1.1 — Service Telnet - Désactivé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1 T1021.004 (SSH)

Description :

Le service Telnet doit être désactivé car il transmet les données, y compris les mots de passe, en texte clair sur le réseau. Ce service présente un risque de sécurité majeur.

Le protocole Telnet n’offre aucune protection cryptographique et peut être facilement intercepté par des attaquants.

Vérification :

Get-Service -Name "TlntSvr" -ErrorAction SilentlyContinue | Select-Object Name, Status, StartType
Get-WindowsFeature -Name "Telnet-Server" -ErrorAction SilentlyContinue
sc query TlntSvr
  • GUI : services.msc > Telnet > Propriétés > Type de démarrage
  • Valeur attendue : Service non installé ou désactivé

Remédiation :

  1. Désinstaller la fonctionnalité Telnet Server :
# Désinstaller Telnet Server si installé
Disable-WindowsOptionalFeature -Online -FeatureName "TelnetServer" -NoRestart
Remove-WindowsFeature -Name "Telnet-Server" -ErrorAction SilentlyContinue
  1. Désactiver le service si présent :
if (Get-Service -Name "TlntSvr" -ErrorAction SilentlyContinue) {
    Stop-Service -Name "TlntSvr" -Force -ErrorAction SilentlyContinue
    Set-Service -Name "TlntSvr" -StartupType Disabled
}

Valeur par défaut : Non installé par défaut sur Windows 11


5.1.2 — Service FTP - Sécurisé ou désactivé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.2 T1021.003 (Distributed Component Object Model)

Description :

Le service FTP (File Transfer Protocol) doit être désactivé ou strictement sécurisé s’il est nécessaire. FTP transmet par défaut les identifiants en texte clair.

Si FTP est requis, utiliser FTPS (FTP over SSL/TLS) ou SFTP (SSH File Transfer Protocol).

Vérification :

Get-Service -Name "FTPSVC" -ErrorAction SilentlyContinue | Select-Object Name, Status, StartType
Get-WindowsFeature -Name "IIS-FTPServer" -ErrorAction SilentlyContinue
  • GUI : services.msc > Microsoft FTP Service
  • Valeur attendue : Service non installé ou désactivé

Remédiation :

  1. Désinstaller IIS FTP Server :
Disable-WindowsOptionalFeature -Online -FeatureName "IIS-FTPServer" -NoRestart
  1. Si FTP nécessaire, configurer FTPS :
# Configuration sécurisée (exemple pour IIS)
# Require SSL/TLS pour toutes les connexions FTP
Import-Module WebAdministration
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter "system.webServer/security/access" -Name "sslFlags" -Value "Ssl,SslNegotiateCert,SslRequireCert"

Valeur par défaut : Non installé par défaut


5.1.3 — Service TFTP - Désactivé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.3 T1021 (Remote Services)

Description :

Le service TFTP (Trivial File Transfer Protocol) doit être désactivé. TFTP ne propose aucune authentification ni chiffrement et permet des transferts de fichiers non sécurisés.

Vérification :

Get-Service -Name "TFTP" -ErrorAction SilentlyContinue | Select-Object Name, Status, StartType
Get-WindowsFeature -Name "TFTP-Client" -ErrorAction SilentlyContinue

Remédiation :

# Désinstaller TFTP Client si présent
Disable-WindowsOptionalFeature -Online -FeatureName "TFTP-Client" -NoRestart

Valeur par défaut : Non installé par défaut


5.1.4 — Service Windows Remote Management (WinRM) - Sécurisé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.4 T1021.006 (Windows Remote Management)

Description :

Le service WinRM doit être configuré de manière sécurisée s’il est utilisé pour l’administration à distance. La configuration par défaut peut présenter des risques de sécurité.

Vérification :

Get-Service -Name "WinRM" | Select-Object Name, Status, StartType
winrm get winrm/config
Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="HTTP"}
  • Valeur attendue : HTTPS uniquement, authentification Kerberos, pas de HTTP

Remédiation :

  1. Configuration sécurisée de WinRM :
# Configurer WinRM pour HTTPS uniquement
winrm delete winrm/config/Listener?Address=*+Transport=HTTP
winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="ComputerName";CertificateThumbprint="ThumbprintValue"}

# Désactiver l'authentification de base
winrm set winrm/config/service/auth @{Basic="false"}
winrm set winrm/config/client/auth @{Basic="false"}

# Configurer le chiffrement
winrm set winrm/config/service @{AllowUnencrypted="false"}

Valeur par défaut : Démarrage manuel


5.1.5 — Service Print Spooler - Sécurisé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.5 T1068 (Exploitation for Privilege Escalation)

Description :

Le service Print Spooler (Spooler) doit être désactivé s’il n’est pas utilisé ou sécurisé contre les vulnérabilités connues (PrintNightmare, etc.). Ce service a été la cible de nombreuses exploitations.

Vérification :

Get-Service -Name "Spooler" | Select-Object Name, Status, StartType
Get-PrinterDriver | Select-Object Name, InfPath, Manufacturer

Remédiation :

  1. Si l’impression n’est pas nécessaire, désactiver :
Stop-Service -Name "Spooler" -Force
Set-Service -Name "Spooler" -StartupType Disabled
  1. Si l’impression est nécessaire, sécuriser :
# Désactiver l'installation de pilotes non-administrateurs
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers' -Name 'AddPrinterDrivers' -Value 1 -Type DWord

# Restriction des fonctions Point and Print
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint' -Name 'RestrictDriverInstallationToAdministrators' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint' -Name 'NoWarningNoElevationOnInstall' -Value 0 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint' -Name 'UpdatePromptSettings' -Value 0 -Type DWord

Valeur par défaut : Démarrage automatique


5.2 — Services réseau

5.2.1 — Service Server Message Block (SMB) v1 - Désactivé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.3.6 T1021.002 (SMB/Windows Admin Shares)

Description :

Le protocole SMB v1 doit être complètement désactivé. Il présente de nombreuses vulnérabilités critiques et a été utilisé dans des attaques majeures comme WannaCry et NotPetya.

SMB v1 n’offre pas de chiffrement moderne et est vulnérable aux attaques man-in-the-middle.

Vérification :

Get-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol
sc.exe qc lanmanserver | findstr START_TYPE
  • Valeur attendue : SMB1Protocol désactivé ou non installé

Remédiation :

  1. Désactiver SMB v1 complètement :
# Désactiver la fonctionnalité SMB1
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart

# Désactiver SMB v1 au niveau serveur
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force

# Désactiver au niveau client
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
  1. Vérification de la désactivation :
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol | Select-Object State
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol

Valeur par défaut : Désactivé par défaut sur Windows 11


5.2.2 — Service Windows Remote Desktop - Sécurisé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.58 T1021.001 (Remote Desktop Protocol)

Description :

Le service Remote Desktop (Bureau à distance) doit être désactivé si non utilisé, ou sécurisé avec NLA (Network Level Authentication) et un chiffrement fort s’il est nécessaire.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'UserAuthentication'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'MinEncryptionLevel'
  • Valeur attendue : fDenyTSConnections = 1 (désactivé) OU UserAuthentication = 1 et MinEncryptionLevel = 3

Remédiation :

  1. Si RDP non nécessaire, désactiver complètement :
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Value 1 -Type DWord
  1. Si RDP nécessaire, sécuriser :
# Activer Network Level Authentication
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'UserAuthentication' -Value 1 -Type DWord

# Forcer le chiffrement de niveau élevé
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'MinEncryptionLevel' -Value 3 -Type DWord

# Désactiver la redirection des lecteurs
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -Name 'fDisableCdm' -Value 1 -Type DWord

Valeur par défaut : Désactivé par défaut


5.2.3 — Service Windows Search - Restreint

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 5.7 T1083 (File and Directory Discovery)

Description :

Le service Windows Search doit être configuré pour ne pas indexer les données sensibles et restreindre l’accès à distance à l’index de recherche.

Vérification :

Get-Service -Name "WSearch" | Select-Object Name, Status, StartType
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'AllowIndexingEncryptedStoresOrItems' -ErrorAction SilentlyContinue

Remédiation :

# Désactiver l'indexation des éléments chiffrés
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'AllowIndexingEncryptedStoresOrItems' -Value 0 -Type DWord

# Désactiver l'indexation sur les partages réseau
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'PreventIndexingOutlook' -Value 1 -Type DWord

Valeur par défaut : Démarrage automatique (retardé)


5.3 — Services de sécurité essentiels

5.3.1 — Windows Defender Antivirus - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.39 T1562.001 (Disable or Modify Tools)

Description :

Le service Windows Defender Antivirus doit être activé et fonctionnel sauf si remplacé par une solution antivirus tiers compatible et approuvée.

Vérification :

Get-Service -Name "WinDefend" | Select-Object Name, Status, StartType
Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled, OnAccessProtectionEnabled
Get-MpPreference | Select-Object DisableRealtimeMonitoring

Remédiation :

# S'assurer que Windows Defender est activé
Set-Service -Name "WinDefend" -StartupType Automatic
Start-Service -Name "WinDefend"

# Activer la protection en temps réel
Set-MpPreference -DisableRealtimeMonitoring $false

# Configurer les scans automatiques
Set-MpPreference -ScanScheduleDay Everyday -ScanScheduleTime 120

Valeur par défaut : Activé par défaut


5.3.2 — Windows Security Center - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.9 T1562.001 (Disable or Modify Tools)

Description :

Le service Security Center surveille l’état des fonctionnalités de sécurité et doit rester activé pour assurer le monitoring continu de la sécurité du système.

Vérification :

Get-Service -Name "wscsvc" | Select-Object Name, Status, StartType
Get-Service -Name "SecurityHealthService" | Select-Object Name, Status, StartType

Remédiation :

Set-Service -Name "wscsvc" -StartupType Automatic
Set-Service -Name "SecurityHealthService" -StartupType Automatic
Start-Service -Name "wscsvc" -ErrorAction SilentlyContinue
Start-Service -Name "SecurityHealthService" -ErrorAction SilentlyContinue

Valeur par défaut : Démarrage automatique


5.4.1 — Durcissement des services système critiques

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1 T1543.003 (Windows Service)

Description :

Les services système critiques doivent être durcis avec des configurations de sécurité renforcées et des comptes de service dédiés.

Cette mesure limite l’impact potentiel d’une compromission de service sur le système global.

Vérification :

Get-Service | Where-Object {$_.Status -eq "Running" -and $_.ServiceType -eq "Win32ShareProcess"} | Select-Object Name, StartType, ServiceType
sc query type= service state= all | findstr "SERVICE_NAME"
Get-WmiObject Win32_Service | Where-Object {$_.StartMode -eq "Auto" -and $_.State -eq "Running"} | Select-Object Name, StartName, PathName

Remédiation :

# Audit et durcissement des services critiques
$CriticalServices = @("Winmgmt", "RpcSs", "Dhcp", "Dnscache", "EventLog", "PlugPlay", "PolicyAgent", "ProfSvc", "Schedule", "SENS", "ShellHWDetection", "Themes", "Winlogon", "BITS", "Wuauserv")
foreach ($ServiceName in $CriticalServices) {
    $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
    if ($Service) {
        # Vérification du compte de service
        $ServiceInfo = Get-WmiObject Win32_Service -Filter "Name='$ServiceName'"
        Write-Host "Service: $ServiceName - Compte: $($ServiceInfo.StartName) - État: $($Service.Status)"
    }
}
# Configuration des ACL sur les services sensibles
sc sdset Winmgmt "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)"

Valeur par défaut : Variable selon la configuration


5.5.1 — Désactivation des services non essentiels

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.2 T1543.003 (Windows Service)

Description :

Tous les services non essentiels au fonctionnement du système doivent être désactivés pour réduire la surface d’attaque.

Cette approche minimise les points d’entrée potentiels pour les attaquants.

Vérification :

Get-Service | Where-Object {$_.StartType -eq "Automatic" -and $_.Status -eq "Stopped"} | Select-Object Name, StartType, Status
Get-Service | Where-Object {$_.Name -like "*telemetry*" -or $_.Name -like "*xbox*" -or $_.Name -like "*fax*"}
sc query type= service state= all | findstr /i "unnecessary"

Remédiation :

# Liste des services couramment non essentiels
$UnnecessaryServices = @(
    "Fax", "XblAuthManager", "XblGameSave", "XboxNetApiSvc", "XboxGipSvc",
    "RetailDemo", "MapsBroker", "lfsvc", "WalletService", "PhoneSvc",
    "icssvc", "SEMgrSvc", "PcaSvc", "WpcMonSvc", "WbioSrvc"
)
foreach ($ServiceName in $UnnecessaryServices) {
    $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
    if ($Service -and $Service.StartType -ne "Disabled") {
        Stop-Service -Name $ServiceName -Force -ErrorAction SilentlyContinue
        Set-Service -Name $ServiceName -StartupType Disabled
        Write-Host "Service désactivé: $ServiceName"
    }
}

Valeur par défaut : Variable selon la configuration


5.4.1 — Isolation des services critiques via conteneurisation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.3 T1055 (Process Injection)

Description :

Les services système critiques doivent être isolés dans des conteneurs ou machines virtuelles dédiées pour limiter l’impact d’une compromission.

Cette isolation réduit les risques de mouvement latéral et de compromission en cascade.

Vérification :

Get-WindowsOptionalFeature -Online -FeatureName "Containers" | Select-Object State
Get-WindowsOptionalFeature -Online -FeatureName "Microsoft-Hyper-V-All" | Select-Object State
Get-Service | Where-Object {$_.ServiceType -eq "Win32ShareProcess"} | Measure-Object

Remédiation :

# Activation des conteneurs Windows
Enable-WindowsOptionalFeature -Online -FeatureName "Containers" -All -NoRestart
# Installation Docker (si applicable)
Write-Host "Pour isolation complète, considérer:"
Write-Host "1. Docker Desktop pour Windows"
Write-Host "2. Windows Sandbox pour tests"
Write-Host "3. Hyper-V pour isolation VM"
# Configuration services en mode isolé
$CriticalServices = @("Winmgmt", "EventLog", "RpcSs")
foreach ($Service in $CriticalServices) {
    $ServiceInfo = Get-WmiObject Win32_Service -Filter "Name='$Service'"
    if ($ServiceInfo.StartName -eq "LocalSystem") {
        Write-Host "Service $Service fonctionne avec privilèges élevés - Considérer isolation"
    }
}

Valeur par défaut : Variable selon la configuration


5.5.1 — Surveillance en temps réel des modifications de services

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.4 T1543.003 (Windows Service)

Description :

Toutes les modifications de services (création, suppression, changement de configuration) doivent être surveillées et alertées en temps réel.

Cette surveillance permet de détecter rapidement les tentatives de persistance malveillante.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="System"; ID=7034,7035,7036,7040} -MaxEvents 50
auditpol /get /subcategory:"Security System Extension"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\*" | Measure-Object

Remédiation :

# Configuration de surveillance des services
auditpol /set /subcategory:"Security System Extension" /success:enable /failure:enable
auditpol /set /subcategory:"System Integrity" /success:enable /failure:enable
# Script de surveillance temps réel
Register-WmiEvent -Class Win32_Service -SourceIdentifier "ServiceMonitor" -Action {
    $Service = $Event.SourceEventArgs.NewEvent
    Write-Warning "Modification de service détectée: $($Service.Name)"
    Write-Host "État: $($Service.State), Mode démarrage: $($Service.StartMode)"
}
# Surveillance des créations de nouveaux services
Register-WmiEvent -Query "SELECT * FROM Win32_ServiceChangeEvent" -Action {
    Write-Host "ALERT: Changement de service système détecté"
    Get-Service | Sort-Object Name | Format-Table -AutoSize
}

Valeur par défaut : Variable selon la configuration


5.6.1 — Contrôle des dépendances entre services

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.5 T1543.003 (Windows Service)

Description :

Les dépendances entre services doivent être auditées et minimisées pour éviter les cascades de défaillance et les vecteurs d’attaque en chaîne.

Cette approche renforce la résilience du système et limite la propagation des compromissions.

Vérification :

Get-Service | ForEach-Object { Get-Service -DependentServices $_.Name | Where-Object {$_.Status -eq "Running"} } | Group-Object ServiceName
sc query type= service state= all | findstr "SERVICE_NAME"
Get-WmiObject Win32_DependentService | Select-Object Antecedent, Dependent

Remédiation :

# Analyse des dépendances de services
function Get-ServiceDependencyMap {
    $AllServices = Get-Service
    $DependencyMap = @{}
    
    foreach ($Service in $AllServices) {
        $Dependencies = Get-Service -Name $Service.Name | Select-Object -ExpandProperty ServicesDependedOn
        $Dependents = Get-Service -DependentServices $Service.Name
        
        $DependencyMap[$Service.Name] = @{
            Dependencies = $Dependencies.Name
            Dependents = $Dependents.Name
            Status = $Service.Status
            StartType = $Service.StartType
        }
    }
    
    return $DependencyMap
}
$ServiceMap = Get-ServiceDependencyMap
# Identifier les services avec nombreuses dépendances
$ServiceMap.GetEnumerator() | Where-Object {$_.Value.Dependencies.Count -gt 5} | ForEach-Object {
    Write-Warning "Service avec nombreuses dépendances: $($_.Key) ($($_.Value.Dependencies.Count) dépendances)"
}

Valeur par défaut : Variable selon la configuration


5.4 — Durcissement et surveillance des services

5.4.1 — Isolation et sandboxing des services critiques

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.1 T1055 (Process Injection)

Description :

Les services système critiques doivent être isolés dans des environnements sandboxés ou conteneurisés pour limiter l’impact d’une compromission et empêcher la propagation latérale.

Cette isolation constitue une couche de défense en profondeur contre les attaques de type privilege escalation et code injection.

Vérification :

Get-Service | Where-Object {$_.ServiceType -eq "Win32ShareProcess"} | Select-Object Name, Status, StartType, ServiceType
Get-WindowsOptionalFeature -Online -FeatureName "Containers*" | Where-Object {$_.State -eq "Enabled"}
Get-WmiObject Win32_Service | Where-Object {$_.StartName -eq "LocalSystem"} | Measure-Object

Remédiation :

# Configuration d'isolation des services critiques
Write-Host "=== ISOLATION DES SERVICES CRITIQUES ==="

# Activation des fonctionnalités d'isolation
try {
    Enable-WindowsOptionalFeature -Online -FeatureName "Containers" -All -NoRestart
    Write-Host "Fonctionnalité Containers activée"
} catch {
    Write-Warning "Impossible d'activer les containers: $_"
}

# Audit des services critiques fonctionnant avec LocalSystem
$CriticalServices = @("Winmgmt", "RpcSs", "EventLog", "PlugPlay", "PolicyAgent", "SENS", "Schedule")
Write-Host "\nAudit des services critiques:"
foreach ($ServiceName in $CriticalServices) {
    $Service = Get-WmiObject Win32_Service -Filter "Name='$ServiceName'"
    if ($Service) {
        $SecurityLevel = switch ($Service.StartName) {
            "LocalSystem" { "🔴 CRITIQUE - Privilèges maximum" }
            "NT AUTHORITY\LocalService" { "🟠 MOYEN - Privilèges limités" }
            "NT AUTHORITY\NetworkService" { "🟢 BON - Privilèges réseau uniquement" }
            default { "🟡 CUSTOM - $($Service.StartName)" }
        }
        Write-Host "  $ServiceName : $SecurityLevel"
    }
}

# Configuration Windows Defender Application Guard (si disponible)
if (Get-WindowsOptionalFeature -Online -FeatureName "Windows-Defender-ApplicationGuard" -ErrorAction SilentlyContinue) {
    Write-Host "\nWindows Defender Application Guard disponible pour isolation"
}

# Recommandations d'isolation avancée
Write-Host "\n=== RECOMMANDATIONS ISOLATION AVANCÉE ==="
Write-Host "1. Utiliser Windows Sandbox pour tests de sécurité"
Write-Host "2. Configurer Hyper-V pour isolation VM des services sensibles"
Write-Host "3. Implémenter Docker Windows containers pour isolation applicative"
Write-Host "4. Configurer des comptes de service dédiés (non LocalSystem)"

Valeur par défaut : Variable selon la configuration


5.4.2 — Surveillance temps réel des modifications de services

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.2 T1543.003 (Windows Service)

Description :

Toutes les modifications de services (installation, suppression, changement de configuration, modification des comptes de service) doivent être surveillées et alertées en temps réel.

Cette surveillance permet de détecter rapidement les tentatives de persistance malveillante et les modifications non autorisées du système.

Vérification :

Get-WinEvent -FilterHashtable @{LogName="System"; ID=7034,7035,7036,7040} -MaxEvents 20
auditpol /get /subcategory:"Security System Extension"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\*" | Measure-Object | Select-Object Count

Remédiation :

# Configuration de surveillance complète des services
Write-Host "=== CONFIGURATION SURVEILLANCE SERVICES ==="

# Activation de l'audit des extensions système
auditpol /set /subcategory:"Security System Extension" /success:enable /failure:enable
auditpol /set /subcategory:"System Integrity" /success:enable /failure:enable
Write-Host "Audit des services système activé"

# Création d'un monitoring WMI en temps réel
function Start-ServiceMonitoring {
    Write-Host "Démarrage du monitoring des services en temps réel..."
    
    # Surveillance des changements d'état des services
    Register-WmiEvent -Query "SELECT * FROM Win32_ServiceChangeEvent" -SourceIdentifier "ServiceChangeMonitor" -Action {
        $ServiceName = $Event.SourceEventArgs.NewEvent.ServiceName
        Write-Warning "ALERTE SERVICE: Changement détecté sur le service $ServiceName"
        
        # Obtenir les détails du service modifié
        try {
            $ServiceDetails = Get-WmiObject Win32_Service -Filter "Name='$ServiceName'"
            Write-Host "  Nom: $($ServiceDetails.Name)"
            Write-Host "  État: $($ServiceDetails.State)"
            Write-Host "  Mode démarrage: $($ServiceDetails.StartMode)"
            Write-Host "  Compte: $($ServiceDetails.StartName)"
            Write-Host "  Chemin: $($ServiceDetails.PathName)"
        } catch {
            Write-Host "  Erreur lors de la récupération des détails du service"
        }
    }
    
    # Surveillance des créations/suppressions de services
    Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Service'" -SourceIdentifier "ServiceCreationMonitor" -Action {
        $NewService = $Event.SourceEventArgs.NewEvent.TargetInstance
        Write-Warning "NOUVEAU SERVICE CRÉÉ: $($NewService.Name)"
        Write-Host "  Chemin: $($NewService.PathName)"
        Write-Host "  Compte: $($NewService.StartName)"
    }
    
    Register-WmiEvent -Query "SELECT * FROM __InstanceDeletionEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Service'" -SourceIdentifier "ServiceDeletionMonitor" -Action {
        $DeletedService = $Event.SourceEventArgs.NewEvent.TargetInstance
        Write-Warning "SERVICE SUPPRIMÉ: $($DeletedService.Name)"
    }
    
    Write-Host "Monitoring actif. Utilisez Stop-ServiceMonitoring pour arrêter."
}

function Stop-ServiceMonitoring {
    Unregister-Event -SourceIdentifier "ServiceChangeMonitor" -ErrorAction SilentlyContinue
    Unregister-Event -SourceIdentifier "ServiceCreationMonitor" -ErrorAction SilentlyContinue
    Unregister-Event -SourceIdentifier "ServiceDeletionMonitor" -ErrorAction SilentlyContinue
    Write-Host "Monitoring des services arrêté"
}

# Snapshot initial des services pour détection de changements
$InitialServices = Get-Service | Select-Object Name, Status, StartType | ConvertTo-Json
Set-Content -Path "C:\temp\services_baseline.json" -Value $InitialServices
Write-Host "Baseline des services sauvegardée dans C:\temp\services_baseline.json"

# Démarrer le monitoring (décommenter pour activer)
# Start-ServiceMonitoring

Valeur par défaut : Variable selon la configuration


5.4.3 — Contrôle des dépendances et de la surface d’attaque

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.3 T1543.003 (Windows Service)

Description :

Les dépendances entre services doivent être auditées, minimisées et sécurisées pour éviter les cascades de défaillance et limiter les vecteurs d’escalade de privilège en chaîne.

Cette approche renforce la résilience du système et limite la propagation des compromissions entre services.

Vérification :

Get-Service | ForEach-Object { Get-Service -DependentServices $_.Name -ErrorAction SilentlyContinue } | Where-Object {$_.Status -eq "Running"} | Group-Object ServiceName | Sort-Object Count -Descending
sc query type= service state= all | findstr "SERVICE_NAME DISPLAY_NAME"
Get-WmiObject Win32_DependentService | Select-Object Antecedent, Dependent -First 10

Remédiation :

# Analyse complète des dépendances de services
function Analyze-ServiceDependencies {
    Write-Host "=== ANALYSE DES DÉPENDANCES DE SERVICES ==="
    
    $AllServices = Get-Service
    $DependencyReport = @()
    
    foreach ($Service in $AllServices) {
        try {
            $Dependencies = Get-Service -Name $Service.Name | Select-Object -ExpandProperty ServicesDependedOn -ErrorAction SilentlyContinue
            $Dependents = Get-Service -DependentServices $Service.Name -ErrorAction SilentlyContinue
            
            $ServiceInfo = [PSCustomObject]@{
                ServiceName = $Service.Name
                Status = $Service.Status
                StartType = $Service.StartType
                DependsOnCount = ($Dependencies | Measure-Object).Count
                DependsOn = ($Dependencies.Name -join ", ")
                DependentCount = ($Dependents | Measure-Object).Count
                Dependents = ($Dependents.Name -join ", ")
                RiskScore = 0
            }
            
            # Calculer le score de risque
            if ($ServiceInfo.DependsOnCount -gt 5) { $ServiceInfo.RiskScore += 2 }
            if ($ServiceInfo.DependentCount -gt 5) { $ServiceInfo.RiskScore += 3 }
            if ($Service.StartType -eq "Automatic" -and $Service.Status -eq "Running") { $ServiceInfo.RiskScore += 1 }
            
            $DependencyReport += $ServiceInfo
        } catch {
            Write-Warning "Erreur analyse service $($Service.Name): $_"
        }
    }
    
    # Rapport des services à haut risque
    Write-Host "\n=== SERVICES À HAUT RISQUE ==="
    $HighRiskServices = $DependencyReport | Where-Object {$_.RiskScore -gt 3} | Sort-Object RiskScore -Descending
    
    foreach ($RiskService in $HighRiskServices) {
        Write-Warning "Service haut risque: $($RiskService.ServiceName) (Score: $($RiskService.RiskScore))"
        if ($RiskService.DependsOnCount -gt 5) {
            Write-Host "  Dépend de $($RiskService.DependsOnCount) services: $($RiskService.DependsOn)"
        }
        if ($RiskService.DependentCount -gt 5) {
            Write-Host "  $($RiskService.DependentCount) services dépendent de lui: $($RiskService.Dependents)"
        }
    }
    
    # Services inutiles ou non critiques à désactiver
    Write-Host "\n=== SERVICES POTENTIELLEMENT INUTILES ==="
    $UnnecessaryServices = @(
        "Fax", "XblAuthManager", "XblGameSave", "XboxNetApiSvc", "XboxGipSvc",
        "RetailDemo", "MapsBroker", "lfsvc", "WalletService", "PhoneSvc",
        "icssvc", "SEMgrSvc", "WbioSrvc", "WpcMonSvc"
    )
    
    foreach ($ServiceName in $UnnecessaryServices) {
        $Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
        if ($Service) {
            $Status = if ($Service.StartType -eq "Disabled") { "✅ Désactivé" } else { "⚠️ Actif" }
            Write-Host "  $ServiceName : $Status"
            
            if ($Service.StartType -ne "Disabled") {
                Write-Host "    Recommandation: Désactiver avec Stop-Service -Name $ServiceName; Set-Service -Name $ServiceName -StartupType Disabled"
            }
        }
    }
    
    return $DependencyReport
}

# Lancer l'analyse
$DependencyReport = Analyze-ServiceDependencies

# Exporter le rapport
$DependencyReport | Export-Csv -Path "C:\temp\service_dependency_report.csv" -NoTypeInformation
Write-Host "\nRapport sauvegardé dans C:\temp\service_dependency_report.csv"

Valeur par défaut : Variable selon la configuration


5.5.1 — Isolation processus

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.10 T1055

Description :

Séparation des services critiques dans des contextes isolés.

Vérification :

# Commandes de vérification pour Isolation processus
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Isolation processus
Write-Host "Configuration de sécurité pour: Isolation processus"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.6.1 — Surveillance temps réel

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.11 T1543.003

Description :

Monitoring continu des modifications de services.

Vérification :

# Commandes de vérification pour Surveillance temps réel
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Surveillance temps réel
Write-Host "Configuration de sécurité pour: Surveillance temps réel"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.7.1 — Contrôle dépendances

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.12 T1543.003

Description :

Audit et minimisation des dépendances entre services.

Vérification :

# Commandes de vérification pour Contrôle dépendances
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle dépendances
Write-Host "Configuration de sécurité pour: Contrôle dépendances"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.8.1 — Comptes dédiés

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.13 T1078.003

Description :

Attribution de comptes de service spécifiques et non privilégiés.

Vérification :

# Commandes de vérification pour Comptes dédiés
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Comptes dédiés
Write-Host "Configuration de sécurité pour: Comptes dédiés"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.9.1 — Chiffrement communications

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.14 T1557

Description :

Protection des communications inter-services.

Vérification :

# Commandes de vérification pour Chiffrement communications
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Chiffrement communications
Write-Host "Configuration de sécurité pour: Chiffrement communications"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.10.1 — Audit d’installation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.15 T1543.003

Description :

Traçage de toute installation ou modification de service.

Vérification :

# Commandes de vérification pour Audit d'installation
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit d'installation
Write-Host "Configuration de sécurité pour: Audit d'installation"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.11.1 — Validation d’intégrité

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.16 T1554

Description :

Vérification cryptographique de l’intégrité des services.

Vérification :

# Commandes de vérification pour Validation d'intégrité
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Validation d'intégrité
Write-Host "Configuration de sécurité pour: Validation d'intégrité"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.12.1 — Limitation ressources

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.17 T1496

Description :

Contrôle de la consommation de ressources par service.

Vérification :

# Commandes de vérification pour Limitation ressources
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Limitation ressources
Write-Host "Configuration de sécurité pour: Limitation ressources"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.13.1 — Redémarrage sécurisé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.18 T1543.003

Description :

Procédures de redémarrage sécurisé des services critiques.

Vérification :

# Commandes de vérification pour Redémarrage sécurisé
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Redémarrage sécurisé
Write-Host "Configuration de sécurité pour: Redémarrage sécurisé"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.14.1 — Sauvegarde configuration

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.19 T1543.003

Description :

Backup automatique des configurations de services.

Vérification :

# Commandes de vérification pour Sauvegarde configuration
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Sauvegarde configuration
Write-Host "Configuration de sécurité pour: Sauvegarde configuration"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.15.1 — Détection d’anomalies

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.20 T1543.003

Description :

Surveillance comportementale des services pour détecter les compromissions.

Vérification :

# Commandes de vérification pour Détection d'anomalies
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Détection d'anomalies
Write-Host "Configuration de sécurité pour: Détection d'anomalies"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.16.1 — Containerisation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.21 T1055

Description :

Déploiement de services critiques dans des conteneurs sécurisés.

Vérification :

# Commandes de vérification pour Containerisation
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Containerisation
Write-Host "Configuration de sécurité pour: Containerisation"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.17.1 — Rotation des secrets

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 5.1.22 T1552

Description :

Renouvellement automatique des secrets utilisés par les services.

Vérification :

# Commandes de vérification pour Rotation des secrets
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Rotation des secrets
Write-Host "Configuration de sécurité pour: Rotation des secrets"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.18.1 — Contrôle réseau

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.23 T1021

Description :

Limitation et surveillance du trafic réseau des services.

Vérification :

# Commandes de vérification pour Contrôle réseau
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle réseau
Write-Host "Configuration de sécurité pour: Contrôle réseau"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.19.1 — Logging étendu

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.24 T1562.002

Description :

Journalisation détaillée des activités de tous les services.

Vérification :

# Commandes de vérification pour Logging étendu
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Logging étendu
Write-Host "Configuration de sécurité pour: Logging étendu"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


5.20.1 — Récupération rapide

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 5.1.25 T1543.003

Description :

Mécanismes de récupération automatique en cas de défaillance.

Vérification :

# Commandes de vérification pour Récupération rapide
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Récupération rapide
Write-Host "Configuration de sécurité pour: Récupération rapide"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 6 : PARE-FEU WINDOWS DEFENDER

6.1 — Configuration des profils de pare-feu

6.1.1 — Profil Domaine - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.1 T1562.004 (Disable or Modify System Firewall)

Description :

Le profil domaine du pare-feu Windows Defender doit être activé pour protéger les communications lorsque l’ordinateur est connecté à un domaine Active Directory.

Vérification :

Get-NetFirewallProfile -Name Domain | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction
netsh advfirewall show domain
  • GUI : Windows Defender Firewall > Activer/désactiver le Pare-feu Windows Defender > Paramètres du réseau de domaine
  • Valeur attendue : Enabled = True, DefaultInboundAction = Block, DefaultOutboundAction = Allow

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Windows Defender Firewall with Advanced Security\Domain Profile\Firewall state → On
  2. PowerShell :
Set-NetFirewallProfile -Name Domain -Enabled True
Set-NetFirewallProfile -Name Domain -DefaultInboundAction Block
Set-NetFirewallProfile -Name Domain -DefaultOutboundAction Allow
  1. Netsh :
netsh advfirewall set domainprofile state on
netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound

Valeur par défaut : Activé


6.1.2 — Profil Privé - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.2.1 T1562.004 (Disable or Modify System Firewall)

Description :

Le profil privé du pare-feu doit être activé pour protéger les communications sur les réseaux privés (domicile, bureau).

Vérification :

Get-NetFirewallProfile -Name Private | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction

Remédiation :

Set-NetFirewallProfile -Name Private -Enabled True
Set-NetFirewallProfile -Name Private -DefaultInboundAction Block
Set-NetFirewallProfile -Name Private -DefaultOutboundAction Allow

Valeur par défaut : Activé


6.1.3 — Profil Public - Activé avec restrictions renforcées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.3.1 T1562.004 (Disable or Modify System Firewall)

Description :

Le profil public doit être activé avec des restrictions maximales pour protéger le système sur les réseaux non fiables (WiFi public, etc.).

Vérification :

Get-NetFirewallProfile -Name Public | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction, NotifyOnListen

Remédiation :

Set-NetFirewallProfile -Name Public -Enabled True
Set-NetFirewallProfile -Name Public -DefaultInboundAction Block
Set-NetFirewallProfile -Name Public -DefaultOutboundAction Allow
Set-NetFirewallProfile -Name Public -NotifyOnListen True

Valeur par défaut : Activé


6.2 — Journalisation du pare-feu

6.2.1 — Journalisation des connexions bloquées - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.2 T1562.004 (Disable or Modify System Firewall)

Description :

La journalisation des connexions bloquées doit être activée pour tous les profils de pare-feu afin de permettre l’analyse forensique et la détection d’incidents.

Vérification :

Get-NetFirewallProfile | Select-Object Name, LogBlocked, LogAllowed, LogFileName, LogMaxSizeKilobytes

Remédiation :

# Configurer la journalisation pour tous les profils
Set-NetFirewallProfile -All -LogBlocked True -LogAllowed False
Set-NetFirewallProfile -All -LogFileName "C:\Windows\System32\LogFiles\Firewall\pfirewall.log"
Set-NetFirewallProfile -All -LogMaxSizeKilobytes 4096

Valeur par défaut : Journalisation désactivée


6.2.2 — Restriction des règles de pare-feu utilisateur

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.8 T1562.004 (Disable or Modify System Firewall)

Description :

Les utilisateurs non-administrateurs ne doivent pas pouvoir créer ou modifier les règles de pare-feu pour maintenir l’intégrité de la politique de sécurité.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile' -Name 'AllowLocalPolicyMerge' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile' -Name 'AllowLocalIPSecPolicyMerge' -ErrorAction SilentlyContinue

Remédiation :

# Empêcher la fusion des politiques locales
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile' -Name 'AllowLocalPolicyMerge' -Value 0 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile' -Name 'AllowLocalIPSecPolicyMerge' -Value 0 -Type DWord

# Même configuration pour les autres profils
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile' -Name 'AllowLocalPolicyMerge' -Value 0 -Type DWord

New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile' -Name 'AllowLocalPolicyMerge' -Value 0 -Type DWord

Valeur par défaut : Fusion autorisée


6.3.1 — Configuration de règles pare-feu basées sur la réputation IP

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.8 T1071.001 (Web Protocols)

Description :

Le pare-feu doit intégrer des flux de threat intelligence pour bloquer automatiquement les adresses IP malveillantes connues.

Cette protection proactive bloque les connexions depuis des sources compromises avant qu’elles n’atteignent les services.

Vérification :

Get-NetFirewallRule | Where-Object {$_.Direction -eq "Inbound" -and $_.Action -eq "Block"} | Measure-Object
netsh advfirewall firewall show rule name=all | findstr "Block"
Get-MpThreatDetection | Select-Object ThreatName, Resources -First 10

Remédiation :

# Configuration de blocage IP basé sur réputation
$ThreatIntelFeeds = @(
    "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset",
    "https://www.spamhaus.org/drop/drop.txt"
)
# Script de mise à jour automatique des listes de blocage
function Update-ThreatIntelligence {
    try {
        $BlockedIPs = @()
        # Exemple avec liste Spamhaus DROP
        $DropList = Invoke-WebRequest -Uri "https://www.spamhaus.org/drop/drop.txt" -UseBasicParsing
        $Networks = $DropList.Content -split "\n" | Where-Object {$_ -match "^\d+\.\d+\.\d+\.\d+/\d+"} | ForEach-Object {$_.Split(" ")[0]}
        
        foreach ($Network in $Networks) {
            try {
                New-NetFirewallRule -DisplayName "TI-Block-$Network" -Direction Inbound -RemoteAddress $Network -Action Block -ErrorAction SilentlyContinue
            } catch {
                Write-Warning "Impossible de bloquer: $Network"
            }
        }
        Write-Host "Threat Intelligence mise à jour: $($Networks.Count) réseaux bloqués"
    } catch {
        Write-Error "Erreur mise à jour threat intelligence: $_"
    }
}
# Update-ThreatIntelligence

Valeur par défaut : Variable selon la configuration


6.4.1 — Micro-segmentation réseau par application

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.9 T1021 (Remote Services)

Description :

Chaque application doit avoir ses propres règles de pare-feu dédiées permettant uniquement le trafic strictement nécessaire à son fonctionnement.

Cette approche Zero Trust limite drastiquement la surface d’attaque réseau.

Vérification :

Get-NetFirewallApplicationFilter | Group-Object Program | Sort-Object Count -Descending
Get-NetFirewallRule | Where-Object {$_.Program -ne $null} | Select-Object DisplayName, Program, Direction, Action
netstat -anb | findstr LISTENING

Remédiation :

# Configuration micro-segmentation par application
function Set-ApplicationFirewallRules {
    param([string]$ApplicationPath, [array]$AllowedPorts, [array]$AllowedIPs)
    
    # Nettoyer les règles existantes pour cette application
    Get-NetFirewallRule | Where-Object {$_.Program -eq $ApplicationPath} | Remove-NetFirewallRule -Confirm:$false
    
    # Créer règles sortantes spécifiques
    foreach ($Port in $AllowedPorts) {
        New-NetFirewallRule -DisplayName "Allow-Out-$($ApplicationPath | Split-Path -Leaf)-$Port" `
            -Direction Outbound -Program $ApplicationPath -LocalPort $Port -Protocol TCP -Action Allow
    }
    
    # Créer règles entrantes pour IPs autorisées uniquement
    foreach ($IP in $AllowedIPs) {
        New-NetFirewallRule -DisplayName "Allow-In-$($ApplicationPath | Split-Path -Leaf)-$IP" `
            -Direction Inbound -Program $ApplicationPath -RemoteAddress $IP -Action Allow
    }
    
    # Bloquer tout le reste pour cette application
    New-NetFirewallRule -DisplayName "Block-All-$($ApplicationPath | Split-Path -Leaf)" `
        -Direction Outbound -Program $ApplicationPath -Action Block
}
# Exemple d'usage
# Set-ApplicationFirewallRules -ApplicationPath "C:\Program Files\MyApp\myapp.exe" -AllowedPorts @(80,443) -AllowedIPs @("192.168.1.0/24")

Valeur par défaut : Variable selon la configuration


6.3.1 — Règles géographiques

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.10 T1071.001

Description :

Blocage basé sur la géolocalisation des adresses IP.

Vérification :

# Commandes de vérification pour Règles géographiques
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Règles géographiques
Write-Host "Configuration de sécurité pour: Règles géographiques"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.4.1 — Micro-segmentation

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.11 T1021

Description :

Isolation réseau granulaire par application et service.

Vérification :

# Commandes de vérification pour Micro-segmentation
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Micro-segmentation
Write-Host "Configuration de sécurité pour: Micro-segmentation"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.5.1 — Threat Intelligence

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.12 T1071.001

Description :

Intégration de flux de renseignement sur les menaces.

Vérification :

# Commandes de vérification pour Threat Intelligence
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Threat Intelligence
Write-Host "Configuration de sécurité pour: Threat Intelligence"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.6.1 — Inspection profonde

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.13 T1095

Description :

Analyse approfondie des paquets pour détection d’intrusion.

Vérification :

# Commandes de vérification pour Inspection profonde
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Inspection profonde
Write-Host "Configuration de sécurité pour: Inspection profonde"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.7.1 — Filtrage applicatif

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.14 T1071

Description :

Contrôle granulaire du trafic par application.

Vérification :

# Commandes de vérification pour Filtrage applicatif
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Filtrage applicatif
Write-Host "Configuration de sécurité pour: Filtrage applicatif"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.8.1 — Prévention exfiltration

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.15 T1041

Description :

Blocage des tentatives d’exfiltration de données.

Vérification :

# Commandes de vérification pour Prévention exfiltration
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Prévention exfiltration
Write-Host "Configuration de sécurité pour: Prévention exfiltration"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.9.1 — Détection tunneling

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.16 T1572

Description :

Identification des tentatives de contournement par tunneling.

Vérification :

# Commandes de vérification pour Détection tunneling
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Détection tunneling
Write-Host "Configuration de sécurité pour: Détection tunneling"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.10.1 — Contrôle bande passante

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.17 T1499.001

Description :

Limitation de bande passante par application/utilisateur.

Vérification :

# Commandes de vérification pour Contrôle bande passante
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle bande passante
Write-Host "Configuration de sécurité pour: Contrôle bande passante"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.11.1 — Analyse comportementale

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.18 T1071

Description :

Détection d’anomalies dans les flux réseau.

Vérification :

# Commandes de vérification pour Analyse comportementale
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Analyse comportementale
Write-Host "Configuration de sécurité pour: Analyse comportementale"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.12.1 — Quarantaine automatique

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.19 T1562.004

Description :

Isolation automatique des systèmes suspects.

Vérification :

# Commandes de vérification pour Quarantaine automatique
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Quarantaine automatique
Write-Host "Configuration de sécurité pour: Quarantaine automatique"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.13.1 — Audit complet

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.20 T1562.002

Description :

Journalisation détaillée de toute activité réseau.

Vérification :

# Commandes de vérification pour Audit complet
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit complet
Write-Host "Configuration de sécurité pour: Audit complet"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.14.1 — Protection DDoS

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 9.1.21 T1499.004

Description :

Mitigation des attaques par déni de service distribué.

Vérification :

# Commandes de vérification pour Protection DDoS
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Protection DDoS
Write-Host "Configuration de sécurité pour: Protection DDoS"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.15.1 — Chiffrement forcé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.22 T1040

Description :

Exigence de chiffrement pour toutes les communications.

Vérification :

# Commandes de vérification pour Chiffrement forcé
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Chiffrement forcé
Write-Host "Configuration de sécurité pour: Chiffrement forcé"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.16.1 — Contrôle P2P

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.23 T1071.001

Description :

Blocage des protocoles peer-to-peer non autorisés.

Vérification :

# Commandes de vérification pour Contrôle P2P
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle P2P
Write-Host "Configuration de sécurité pour: Contrôle P2P"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.17.1 — Filtrage DNS

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.24 T1071.004

Description :

Protection contre les requêtes DNS malveillantes.

Vérification :

# Commandes de vérification pour Filtrage DNS
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Filtrage DNS
Write-Host "Configuration de sécurité pour: Filtrage DNS"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.18.1 — Inspection SSL/TLS

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.25 T1071.001

Description :

Analyse du trafic chiffré pour détection de menaces.

Vérification :

# Commandes de vérification pour Inspection SSL/TLS
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Inspection SSL/TLS
Write-Host "Configuration de sécurité pour: Inspection SSL/TLS"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.19.1 — Honeypots réseau

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.26 T1595.002

Description :

Déploiement de leurres pour détecter les intrusions.

Vérification :

# Commandes de vérification pour Honeypots réseau
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Honeypots réseau
Write-Host "Configuration de sécurité pour: Honeypots réseau"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


6.20.1 — Corrélation logs

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.1.27 T1562.002

Description :

Analyse corrélée des journaux de pare-feu avec autres sources.

Vérification :

# Commandes de vérification pour Corrélation logs
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Corrélation logs
Write-Host "Configuration de sécurité pour: Corrélation logs"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 7 : AUDIT & JOURNALISATION

7.1 — Configuration de la politique d’audit

7.1.1 — Audit des événements de connexion - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.1.1 T1078 (Valid Accounts)

Description :

L’audit des événements de connexion doit être activé pour tracer tous les succès et échecs d’authentification. Cette information est cruciale pour la détection d’intrusions et l’analyse forensique.

Vérification :

auditpol /get /subcategory:"Logon" /r | ConvertFrom-Csv | Select-Object 'Policy Target', 'Subcategory', 'Subcategory GUID', 'Inclusion Setting'
auditpol /get /subcategory:"Logoff" /r | ConvertFrom-Csv
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'MaxSize'
  • GUI : secpol.msc > Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégies locales > Stratégie d’audit
  • Valeur attendue : Succès et Échec activés pour Logon/Logoff

Remédiation :

  1. Auditpol (recommandé) :
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Logoff" /success:enable /failure:enable
auditpol /set /subcategory:"Other Logon/Logoff Events" /success:enable /failure:enable
auditpol /set /subcategory:"Special Logon" /success:enable /failure:enable
  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Advanced Audit Policy Configuration\System Audit Policies\Logon/Logoff

Valeur par défaut : Partiellement configuré


7.1.2 — Audit de la gestion des comptes - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.2.1 T1136 (Create Account)

Description :

L’audit de la gestion des comptes permet de tracer la création, modification et suppression des comptes utilisateur. Essential pour détecter la création de comptes malveillants.

Vérification :

auditpol /get /subcategory:"User Account Management" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Security Group Management" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Computer Account Management" /r | ConvertFrom-Csv

Remédiation :

auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Security Group Management" /success:enable /failure:enable
auditpol /set /subcategory:"Computer Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Other Account Management Events" /success:enable /failure:enable

Valeur par défaut : Non configuré


7.1.3 — Audit des modifications de stratégies - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.5.1 T1484 (Domain Policy Modification)

Description :

L’audit des modifications de stratégies permet de tracer les changements dans les politiques de sécurité, GPO et droits utilisateur.

Vérification :

auditpol /get /subcategory:"Audit Policy Change" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Authentication Policy Change" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Authorization Policy Change" /r | ConvertFrom-Csv

Remédiation :

auditpol /set /subcategory:"Audit Policy Change" /success:enable /failure:enable
auditpol /set /subcategory:"Authentication Policy Change" /success:enable /failure:enable
auditpol /set /subcategory:"Authorization Policy Change" /success:enable /failure:enable
auditpol /set /subcategory:"MPSSVC Rule-Level Policy Change" /success:enable /failure:enable

Valeur par défaut : Non configuré


7.1.4 — Audit de l’accès aux objets - Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.1 T1083 (File and Directory Discovery)

Description :

L’audit de l’accès aux objets permet de tracer l’accès aux fichiers, dossiers et objets du registre. Cette fonctionnalité doit être configurée sélectivement pour éviter une surcharge des journaux.

Vérification :

auditpol /get /subcategory:"File System" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Registry" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Removable Storage" /r | ConvertFrom-Csv

Remédiation :

# Activer l'audit pour les accès critiques
auditpol /set /subcategory:"File System" /success:enable /failure:enable
auditpol /set /subcategory:"Registry" /success:enable /failure:enable
auditpol /set /subcategory:"Removable Storage" /success:enable /failure:enable

# Configuration d'audit sur des dossiers sensibles (exemple)
# icacls "C:\Program Files" /setowner Administrators /T /C
# icacls "C:\Windows\System32" /setowner Administrators /T /C

Valeur par défaut : Non configuré


7.1.5 — Audit de l’utilisation des privilèges - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.4.1 T1548 (Abuse Elevation Control Mechanism)

Description :

L’audit de l’utilisation des privilèges permet de tracer l’usage des droits utilisateur sensibles comme SeDebugPrivilege, SeBackupPrivilege, etc.

Vérification :

auditpol /get /subcategory:"Sensitive Privilege Use" /r | ConvertFrom-Csv
auditpol /get /subcategory:"Non Sensitive Privilege Use" /r | ConvertFrom-Csv

Remédiation :

auditpol /set /subcategory:"Sensitive Privilege Use" /success:enable /failure:enable
# auditpol /set /subcategory:"Non Sensitive Privilege Use" /success:enable /failure:enable (optionnel - génère beaucoup d'événements)

Valeur par défaut : Non configuré


7.2 — Configuration des journaux d’événements

7.2.1 — Taille des journaux de sécurité - Configurée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.1.1 T1070.001 (Clear Windows Event Logs)

Description :

La taille des journaux d’événements de sécurité doit être configurée pour conserver suffisamment d’historique pour l’analyse forensique. Minimum recommandé : 196 608 Ko (192 MB).

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'MaxSize'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\System' -Name 'MaxSize'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application' -Name 'MaxSize'
Get-WinEvent -ListLog Security | Select-Object LogName, MaximumSizeInBytes
  • GUI : eventvwr.msc > Journaux Windows > Sécurité > Propriétés > Taille maximale du journal
  • Valeur attendue : ≥ 196608 Ko (Security), ≥ 32768 Ko (System/Application)

Remédiation :

  1. PowerShell :
# Configuration des tailles de journaux
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'MaxSize' -Value 0x30000000 -Type DWord  # 768 MB
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\System' -Name 'MaxSize' -Value 0x8000000 -Type DWord   # 128 MB
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application' -Name 'MaxSize' -Value 0x8000000 -Type DWord # 128 MB

# Configuration via WinEvent
Limit-EventLog -LogName Security -MaximumSize 768MB
Limit-EventLog -LogName System -MaximumSize 128MB
Limit-EventLog -LogName Application -MaximumSize 128MB
  1. GPO : Computer Configuration\Policies\Administrative Templates\Windows Components\Event Log Service\Security\Specify the maximum log file size

Valeur par défaut : 20 480 Ko (20 MB)


7.2.2 — Rétention des journaux - Configurée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.1.2 T1070.001 (Clear Windows Event Logs)

Description :

La politique de rétention des journaux doit être configurée pour préserver l’historique et empêcher l’effacement automatique ou manuel non autorisé.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'Retention'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'RestrictGuestAccess'
  • Valeur attendue : Retention = 0 (écraser si nécessaire) ou 1 (ne pas écraser)

Remédiation :

# Configuration pour écraser les événements si nécessaire (recommandé avec une taille suffisante)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'Retention' -Value 0 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\System' -Name 'Retention' -Value 0 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application' -Name 'Retention' -Value 0 -Type DWord

# Restriction de l'accès invité
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'RestrictGuestAccess' -Value 1 -Type DWord

Valeur par défaut : Retention = 0, RestrictGuestAccess = 1


7.2.3 — Audit de l’effacement des journaux - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.1.3 T1070.001 (Clear Windows Event Logs)

Description :

L’audit de l’effacement des journaux d’événements doit être activé pour détecter les tentatives d’effacement de preuves par des attaquants.

Vérification :

auditpol /get /subcategory:"System Integrity" /r | ConvertFrom-Csv
# Vérifier les événements 1102 dans le journal de sécurité
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=1102} -MaxEvents 5 -ErrorAction SilentlyContinue | Select-Object TimeCreated, Id, LevelDisplayName, Message

Remédiation :

auditpol /set /subcategory:"System Integrity" /success:enable /failure:enable

# Script de monitoring des effacements de journaux
$ScriptBlock = {
    Register-WmiEvent -Query "SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2" -Action {
        $Event = Get-WinEvent -FilterHashtable @{LogName='Security'; ID=1102} -MaxEvents 1 -ErrorAction SilentlyContinue
        if ($Event) {
            Write-EventLog -LogName Application -Source "Security Monitoring" -EventId 9001 -EntryType Warning -Message "Journal de sécurité effacé à $(Get-Date)"
        }
    }
}

Valeur par défaut : Non configuré


7.3 — Monitoring et alertes

7.3.1 — Surveillance des connexions administrateur - Configurée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 ANSSI T1078.002 (Domain Accounts)

Description :

La surveillance des connexions avec des privilèges administrateur doit être configurée pour détecter les usages suspects ou non autorisés des comptes privilégiés.

Vérification :

# Vérifier les événements de connexion avec privilèges élevés (Event ID 4672)
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4672} -MaxEvents 10 | Select-Object TimeCreated, Id, Message

Remédiation :

  1. Configuration d’audit avancée :
auditpol /set /subcategory:"Special Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Sensitive Privilege Use" /success:enable /failure:enable
  1. Script de monitoring des connexions administrateur :
# Création d'une tâche planifiée pour surveiller les Event ID 4672
$Action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-WindowStyle Hidden -Command "& {Get-WinEvent -FilterHashtable @{LogName=''Security''; ID=4672} -MaxEvents 1 | Out-File C:\Logs\AdminLogons.log -Append}"'
$Trigger = New-ScheduledTaskTrigger -AtLogOn
$Principal = New-ScheduledTaskPrincipal -UserID "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "MonitorAdminLogons" -Action $Action -Trigger $Trigger -Principal $Principal -Description "Monitor administrative logons"

Valeur par défaut : Surveillance basique uniquement


7.4.1 — Centralisation des logs vers SIEM/SOC

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.1.1 T1562.002 (Disable Windows Event Logging)

Description :

Tous les logs de sécurité doivent être centralisés vers un SIEM pour corrélation, analyse automatisée et réponse aux incidents en temps réel.

Cette centralisation permet une vision globale de la sécurité et une détection avancée des menaces.

Vérification :

Get-WinEvent -ListLog * | Where-Object {$_.RecordCount -gt 0} | Select-Object LogName, RecordCount, FileSize
Get-EventLogLevel
wevtutil el | findstr /v "Microsoft-Windows-"

Remédiation :

# Configuration de forwarding vers SIEM
winrm quickconfig -force
winrm set winrm/config/client @{TrustedHosts="SIEM-SERVER"}
# Configuration Windows Event Forwarding
wecutil cs "C:\temp\subscription.xml"
# Template de subscription pour SIEM
@"
<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
    <SubscriptionId>SecurityToSIEM</SubscriptionId>
    <SubscriptionType>SourceInitiated</SubscriptionType>
    <Description>Forward Security Events to SIEM</Description>
    <Enabled>true</Enabled>
    <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri>
    <ConfigurationMode>Normal</ConfigurationMode>
    <Delivery Mode="Push">
        <Batching>
            <MaxItems>5</MaxItems>
            <MaxLatencyTime>1000</MaxLatencyTime>
        </Batching>
        <PushSettings>
            <Heartbeat Interval="60000"/>
        </PushSettings>
    </Delivery>
    <Query>
        <![CDATA[<QueryList><Query Id="0"><Select Path="Security">*[System[(EventID=4624 or EventID=4625 or EventID=4672)]]</Select></Query></QueryList>]]>
    </Query>
</Subscription>
"@ | Out-File C:\temp\subscription.xml -Encoding UTF8

Valeur par défaut : Variable selon la configuration


7.5.1 — Audit étendu des accès aux fichiers sensibles

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.2.1 T1005 (Data from Local System)

Description :

L’accès à tous les fichiers et dossiers sensibles (configuration système, données utilisateur, logs) doit être audité avec détails complets.

Cette surveillance permet de détecter les accès non autorisés et les tentatives d’exfiltration de données.

Vérification :

auditpol /get /subcategory:"File System"
Get-Acl "C:\Windows\System32\config" | Select-Object AccessToString
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4656,4658,4663} -MaxEvents 20

Remédiation :

# Configuration audit étendu des fichiers
auditpol /set /subcategory:"File System" /success:enable /failure:enable
auditpol /set /subcategory:"Handle Manipulation" /success:enable /failure:enable
# Configuration SACL sur dossiers sensibles
$SensitivePaths = @(
    "C:\Windows\System32\config",
    "C:\Users\*\Documents",
    "C:\ProgramData",
    "C:\Windows\System32\drivers\etc"
)
foreach ($Path in $SensitivePaths) {
    if (Test-Path $Path) {
        # Configurer audit sur ce chemin
        icacls $Path /grant "Everyone:(OI)(CI)(M)" /t /c 2>$null
        Write-Host "Audit configuré sur: $Path"
    }
}
# Script de surveillance des accès sensibles
Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='Security' AND (EventCode=4656 OR EventCode=4658)" -Action {
    $Event = $Event.SourceEventArgs.NewEvent
    if ($Event.InsertionStrings[6] -like "*\config\*" -or $Event.InsertionStrings[6] -like "*\Documents\*") {
        Write-Warning "ACCÈS FICHIER SENSIBLE: $($Event.InsertionStrings[1]) -> $($Event.InsertionStrings[6])"
    }
}

Valeur par défaut : Variable selon la configuration


7.4.1 — Centralisation SIEM

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.1.10 T1562.002

Description :

Forwarding automatique vers solution SIEM centralisée.

Vérification :

# Commandes de vérification pour Centralisation SIEM
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Centralisation SIEM
Write-Host "Configuration de sécurité pour: Centralisation SIEM"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.5.1 — Audit fichiers sensibles

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.2.10 T1005

Description :

Surveillance accès aux fichiers et dossiers critiques.

Vérification :

# Commandes de vérification pour Audit fichiers sensibles
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit fichiers sensibles
Write-Host "Configuration de sécurité pour: Audit fichiers sensibles"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.6.1 — Intégrité des logs

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.1 T1562.002

Description :

Protection cryptographique contre la falsification des journaux.

Vérification :

# Commandes de vérification pour Intégrité des logs
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Intégrité des logs
Write-Host "Configuration de sécurité pour: Intégrité des logs"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.7.1 — Rétention étendue

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.2 T1562.002

Description :

Conservation longue durée conforme aux exigences réglementaires.

Vérification :

# Commandes de vérification pour Rétention étendue
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Rétention étendue
Write-Host "Configuration de sécurité pour: Rétention étendue"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.8.1 — Alertes temps réel

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.3 Multiple

Description :

Notification immédiate des événements de sécurité critiques.

Vérification :

# Commandes de vérification pour Alertes temps réel
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Alertes temps réel
Write-Host "Configuration de sécurité pour: Alertes temps réel"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.9.1 — Analyse comportementale

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.4 Multiple

Description :

Détection d’anomalies par apprentissage automatique.

Vérification :

# Commandes de vérification pour Analyse comportementale
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Analyse comportementale
Write-Host "Configuration de sécurité pour: Analyse comportementale"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.10.1 — Corrélation multi-sources

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.5 Multiple

Description :

Agrégation et analyse de logs provenant de sources diverses.

Vérification :

# Commandes de vérification pour Corrélation multi-sources
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Corrélation multi-sources
Write-Host "Configuration de sécurité pour: Corrélation multi-sources"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.11.1 — Forensics préparatoire

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.6 Multiple

Description :

Collection proactive d’artefacts pour investigation.

Vérification :

# Commandes de vérification pour Forensics préparatoire
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Forensics préparatoire
Write-Host "Configuration de sécurité pour: Forensics préparatoire"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.12.1 — Monitoring privilèges

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.7 T1078.002

Description :

Surveillance spécialisée des activités privilégiées.

Vérification :

# Commandes de vérification pour Monitoring privilèges
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Monitoring privilèges
Write-Host "Configuration de sécurité pour: Monitoring privilèges"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.13.1 — Détection APT

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.8 Multiple

Description :

Identification des menaces persistantes avancées.

Vérification :

# Commandes de vérification pour Détection APT
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Détection APT
Write-Host "Configuration de sécurité pour: Détection APT"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.14.1 — Baseline comportementale

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.9 Multiple

Description :

Établissement de profils normaux pour détection d’écarts.

Vérification :

# Commandes de vérification pour Baseline comportementale
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Baseline comportementale
Write-Host "Configuration de sécurité pour: Baseline comportementale"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.15.1 — Réponse automatisée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.10 Multiple

Description :

Actions automatiques de réponse aux incidents détectés.

Vérification :

# Commandes de vérification pour Réponse automatisée
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Réponse automatisée
Write-Host "Configuration de sécurité pour: Réponse automatisée"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.16.1 — Audit réseau

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.11 T1071

Description :

Journalisation complète des activités réseau.

Vérification :

# Commandes de vérification pour Audit réseau
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit réseau
Write-Host "Configuration de sécurité pour: Audit réseau"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.17.1 — Surveillance processus

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.12 T1055

Description :

Monitoring de création et exécution de processus.

Vérification :

# Commandes de vérification pour Surveillance processus
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Surveillance processus
Write-Host "Configuration de sécurité pour: Surveillance processus"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.18.1 — Détection latérale

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.13 T1021

Description :

Identification des mouvements latéraux dans le réseau.

Vérification :

# Commandes de vérification pour Détection latérale
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Détection latérale
Write-Host "Configuration de sécurité pour: Détection latérale"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.19.1 — Audit registre

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.14 T1112

Description :

Surveillance des modifications du registre système.

Vérification :

# Commandes de vérification pour Audit registre
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Audit registre
Write-Host "Configuration de sécurité pour: Audit registre"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.20.1 — Métriques sécurité

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.15 Multiple

Description :

Calcul d’indicateurs de sécurité quantifiables.

Vérification :

# Commandes de vérification pour Métriques sécurité
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Métriques sécurité
Write-Host "Configuration de sécurité pour: Métriques sécurité"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.21.1 — Hunting proactif

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.16 Multiple

Description :

Recherche proactive de menaces dans les logs.

Vérification :

# Commandes de vérification pour Hunting proactif
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Hunting proactif
Write-Host "Configuration de sécurité pour: Hunting proactif"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.22.1 — Timeline reconstruction

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.17 Multiple

Description :

Reconstruction chronologique des événements incidents.

Vérification :

# Commandes de vérification pour Timeline reconstruction
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Timeline reconstruction
Write-Host "Configuration de sécurité pour: Timeline reconstruction"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.23.1 — Compression intelligente

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.18 T1562.002

Description :

Optimisation du stockage sans perte d’information critique.

Vérification :

# Commandes de vérification pour Compression intelligente
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Compression intelligente
Write-Host "Configuration de sécurité pour: Compression intelligente"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.24.1 — Backup sécurisé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.3.19 T1562.002

Description :

Sauvegarde chiffrée et intègre des journaux.

Vérification :

# Commandes de vérification pour Backup sécurisé
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Backup sécurisé
Write-Host "Configuration de sécurité pour: Backup sécurisé"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


7.25.1 — Accès contrôlé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 17.3.20 T1562.002

Description :

Restriction d’accès aux logs selon le principe du moindre privilège.

Vérification :

# Commandes de vérification pour Accès contrôlé
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Accès contrôlé
Write-Host "Configuration de sécurité pour: Accès contrôlé"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 8 : DROITS UTILISATEUR

8.1 — Droits de connexion

8.1.1 — Restriction “Ouvrir une session localement”

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.2.1 T1078 (Valid Accounts)

Description :

Le droit “Ouvrir une session localement” doit être restreint aux utilisateurs et groupes qui ont légitimement besoin d’accéder localement au système.

Vérification :

secedit /export /cfg C:\temp\rights_export.inf
Get-Content C:\temp\rights_export.inf | Select-String "SeInteractiveLogonRight"
# Vérifier via interface graphique
secpol.msc
  • GUI : secpol.msc > Stratégies locales > Attribution des droits utilisateur > Ouvrir une session localement
  • Valeur attendue : Seulement Administrateurs, Utilisateurs (si nécessaire)

Remédiation :

  1. Via secedit :
$ConfigContent = @"
[Unicode]
Unicode=yes
[Privilege Rights]
SeInteractiveLogonRight = *S-1-5-32-544,*S-1-5-32-545
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\interactive_logon.inf -Encoding Unicode
secedit /configure /db C:\temp\interactive_logon.sdb /cfg C:\temp\interactive_logon.inf
Remove-Item C:\temp\interactive_logon.inf, C:\temp\interactive_logon.sdb -ErrorAction SilentlyContinue
  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Log on locally

Valeur par défaut : Administrateurs, Opérateurs de sauvegarde, Invités, Utilisateurs


8.1.2 — Restriction “Ouvrir une session en tant que service”

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.2.2 T1543.003 (Windows Service)

Description :

Le droit “Ouvrir une session en tant que service” doit être strictement contrôlé car il permet l’exécution de code avec des privilèges système.

Vérification :

secedit /export /cfg C:\temp\rights_export.inf
Get-Content C:\temp\rights_export.inf | Select-String "SeServiceLogonRight"
  • Valeur attendue : Seulement les comptes de service légitimes

Remédiation :

# Révoquer ce droit pour tous sauf les services système nécessaires
$ConfigContent = @"
[Unicode]
Unicode=yes
[Privilege Rights]
SeServiceLogonRight = 
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\service_logon.inf -Encoding Unicode
secedit /configure /db C:\temp\service_logon.sdb /cfg C:\temp\service_logon.inf
Remove-Item C:\temp\service_logon.inf, C:\temp\service_logon.sdb -ErrorAction SilentlyContinue

Valeur par défaut : Variable selon les services installés


8.1.3 — Interdiction “Ouvrir une session via les services Bureau à distance”

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.2.3 T1021.001 (Remote Desktop Protocol)

Description :

Le droit “Ouvrir une session via les services Bureau à distance” doit être restreint aux utilisateurs autorisés si RDP est activé.

Vérification :

secedit /export /cfg C:\temp\rights_export.inf
Get-Content C:\temp\rights_export.inf | Select-String "SeRemoteInteractiveLogonRight"
Get-LocalGroupMember -Group "Remote Desktop Users" -ErrorAction SilentlyContinue

Remédiation :

# Si RDP est désactivé, vider complètement ce droit
$ConfigContent = @"
[Unicode]
Unicode=yes
[Privilege Rights]
SeRemoteInteractiveLogonRight = 
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\rdp_logon.inf -Encoding Unicode
secedit /configure /db C:\temp\rdp_logon.sdb /cfg C:\temp\rdp_logon.inf
Remove-Item C:\temp\rdp_logon.inf, C:\temp\rdp_logon.sdb -ErrorAction SilentlyContinue

Valeur par défaut : Administrateurs, Utilisateurs du Bureau à distance


8.2 — Privilèges système dangereux

8.2.1 — Restriction “Déboguer les programmes”

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.2.17 T1055 (Process Injection)

Description :

Le privilège “Déboguer les programmes” (SeDebugPrivilege) doit être révoqué pour tous les utilisateurs car il permet l’accès à tous les processus système et la contournement de la sécurité.

Vérification :

secedit /export /cfg C:\temp\rights_export.inf
Get-Content C:\temp\rights_export.inf | Select-String "SeDebugPrivilege"

Remédiation :

$ConfigContent = @"
[Unicode]
Unicode=yes
[Privilege Rights]
SeDebugPrivilege = 
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\debug_priv.inf -Encoding Unicode
secedit /configure /db C:\temp\debug_priv.sdb /cfg C:\temp\debug_priv.inf
Remove-Item C:\temp\debug_priv.inf, C:\temp\debug_priv.sdb -ErrorAction SilentlyContinue

Valeur par défaut : Administrateurs


8.2.2 — Restriction “Prendre possession de fichiers ou d’autres objets”

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.2.38 T1134 (Access Token Manipulation)

Description :

Le privilège “Prendre possession de fichiers” (SeTakeOwnershipPrivilege) permet de prendre le contrôle de n’importe quel objet système et doit être strictement contrôlé.

Vérification :

secedit /export /cfg C:\temp\rights_export.inf
Get-Content C:\temp\rights_export.inf | Select-String "SeTakeOwnershipPrivilege"

Remédiation :

# Restreindre aux Administrateurs uniquement
$ConfigContent = @"
[Unicode]
Unicode=yes
[Privilege Rights]
SeTakeOwnershipPrivilege = *S-1-5-32-544
[Version]
signature="`$CHICAGO`$"
Revision=1
"@

$ConfigContent | Out-File -FilePath C:\temp\take_ownership.inf -Encoding Unicode
secedit /configure /db C:\temp\take_ownership.sdb /cfg C:\temp\take_ownership.inf
Remove-Item C:\temp\take_ownership.inf, C:\temp\take_ownership.sdb -ErrorAction SilentlyContinue

Valeur par défaut : Administrateurs


8.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


8.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 8.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 8. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 9 : OPTIONS DE SÉCURITÉ

9.1 — Authentification réseau

9.1.1 — Authentification LM - Désactivée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.11.1 T1003.001 (LSASS Memory)

Description :

L’authentification LAN Manager (LM) doit être complètement désactivée. Le protocole LM utilise des hachages faibles facilement cassables et ne doit plus être utilisé.

Le hachage LM peut être cracké en quelques secondes avec des outils modernes et ne respecte pas les standards de sécurité actuels.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'LmCompatibilityLevel'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'NoLMHash'
  • GUI : secpol.msc > Stratégies locales > Options de sécurité > Sécurité réseau : Niveau d’authentification LAN Manager
  • Valeur attendue : LmCompatibilityLevel = 5, NoLMHash = 1

Remédiation :

  1. GPO : Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Network security: LAN Manager authentication level → Send NTLMv2 response only. Refuse LM & NTLM
  2. PowerShell :
# Désactiver complètement LM et forcer NTLMv2
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'LmCompatibilityLevel' -Value 5 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'NoLMHash' -Value 1 -Type DWord

Valeur par défaut : 3 (Envoyer LM et NTLM sur Windows 11)


9.1.2 — Signature SMB - Requise

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 2.3.8.1 T1557.001 (LLMNR/NBT-NS Poisoning)

Description :

La signature SMB doit être requise pour empêcher les attaques de type man-in-the-middle et garantir l’intégrité des communications SMB.

Vérification :

Get-SmbClientConfiguration | Select-Object RequireSecuritySignature, EnableSecuritySignature
Get-SmbServerConfiguration | Select-Object RequireSecuritySignature, EnableSecuritySignature
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'RequireSecuritySignature'

Remédiation :

# Configuration client SMB
Set-SmbClientConfiguration -RequireSecuritySignature $true -EnableSecuritySignature $true -Force

# Configuration serveur SMB
Set-SmbServerConfiguration -RequireSecuritySignature $true -EnableSecuritySignature $true -Force

# Configuration via registre
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'RequireSecuritySignature' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'EnableSecuritySignature' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters' -Name 'RequireSecuritySignature' -Value 1 -Type DWord

Valeur par défaut : EnableSecuritySignature = True, RequireSecuritySignature = False


9.1.3 — Chiffrement des communications SMB - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.3.1 T1040 (Network Sniffing)

Description :

Le chiffrement des communications SMB doit être activé pour protéger la confidentialité des données transitant par SMB.

Vérification :

Get-SmbServerConfiguration | Select-Object EncryptData, RejectUnencryptedAccess
Get-SmbClientConfiguration | Select-Object EnableSMB1Protocol

Remédiation :

# Activer le chiffrement SMB
Set-SmbServerConfiguration -EncryptData $true -RejectUnencryptedAccess $true -Force
Set-SmbClientConfiguration -EnableSMB1Protocol $false -Force

# Configuration via GPO pour forcer le chiffrement
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'EncryptionNegotiation' -Value 1 -Type DWord

Valeur par défaut : EncryptData = False


9.2 — Protection de la mémoire système

9.2.1 — Protection LSASS - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.4.5 T1003.001 (LSASS Memory)

Description :

La protection du processus LSASS (Local Security Authority Subsystem Service) doit être activée pour empêcher le dumping des identifiants en mémoire.

Cette protection empêche les outils comme Mimikatz d’extraire les mots de passe et hachages stockés dans la mémoire de LSASS.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RunAsPPL' -ErrorAction SilentlyContinue
Get-Process lsass | Select-Object Id, ProcessName, Protection

Remédiation :

  1. PowerShell :
# Activer LSA Protection (nécessite un redémarrage)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RunAsPPL' -Value 1 -Type DWord

# Vérification après redémarrage
# Get-Process lsass devrait montrer Protection: ProtectedProcessLight
  1. GPO : Computer Configuration\Policies\Administrative Templates\System\Local Security Authority\Turn On LSA Protection

Valeur par défaut : 0 (désactivé)


9.2.2 — Credential Guard - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.4.4 T1003.001 (LSASS Memory)

Description :

Windows Defender Credential Guard doit être activé pour protéger les identifiants dans un environnement virtualisé sécurisé.

Credential Guard utilise la sécurité basée sur la virtualisation pour isoler les secrets des attaquants ayant accès au système d’exploitation.

Vérification :

Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object *
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard' -Name 'EnableVirtualizationBasedSecurity' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'LsaCfgFlags' -ErrorAction SilentlyContinue

Remédiation :

  1. Prérequis - Vérifier le support matériel :
# Vérifier si le matériel supporte VBS
Get-ComputerInfo | Select-Object -Property "HyperV*"
  1. Activation de Credential Guard :
# Activer VBS et Credential Guard
New-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard' -Name 'EnableVirtualizationBasedSecurity' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard' -Name 'RequirePlatformSecurityFeatures' -Value 1 -Type DWord

# Configurer LSA pour Credential Guard
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'LsaCfgFlags' -Value 1 -Type DWord
  1. GPO : Computer Configuration\Policies\Administrative Templates\System\Device Guard\Turn On Virtualization Based Security

Valeur par défaut : Non configuré


9.3 — Contrôles d’accès réseau

9.3.1 — Partages administratifs - Restreints

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.10.2 T1021.002 (SMB/Windows Admin Shares)

Description :

Les partages administratifs (C$, D$, ADMIN$) doivent être restreints ou désactivés selon les besoins pour limiter les mouvements latéraux des attaquants.

Vérification :

Get-SmbShare | Where-Object {$_.Name -like "*$"} | Select-Object Name, Path, Description
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'AutoShareWks' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'AutoShareServer' -ErrorAction SilentlyContinue

Remédiation :

# Désactiver les partages automatiques sur les stations de travail
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'AutoShareWks' -Value 0 -Type DWord

# Pour les serveurs (optionnel - impact sur l'administration)
# Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'AutoShareServer' -Value 0 -Type DWord

# Redémarrer le service serveur pour appliquer
Restart-Service -Name "LanmanServer" -Force

Valeur par défaut : Partages administratifs activés


9.3.2 — Accès anonyme aux pipes nommées - Restreint

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 2.3.10.3 T1087 (Account Discovery)

Description :

L’accès anonyme aux pipes nommées doit être restreint pour empêcher l’énumération d’informations par des utilisateurs non authentifiés.

Vérification :

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'NullSessionPipes'
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'NullSessionShares'

Remédiation :

# Vider la liste des pipes accessibles anonymement
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'NullSessionPipes' -Value @() -Type MultiString
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name 'NullSessionShares' -Value @() -Type MultiString

# Empêcher l'accès anonyme aux partages
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RestrictAnonymous' -Value 1 -Type DWord

Valeur par défaut : Liste prédéfinie de pipes accessibles anonymement


9.4 — Sécurité du système de fichiers

9.4.1 — Protection des exécutables système - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.4.11 T1574.007 (Path Interception by PATH Environment Variable)

Description :

La protection des exécutables système contre la modification doit être activée pour empêcher le remplacement d’outils système par des versions malveillantes.

Vérification :

# Vérifier les permissions sur les dossiers système critiques
Get-Acl "C:\Windows\System32" | Format-List
Get-Acl "C:\Windows\SysWOW64" | Format-List
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' -Name 'ProtectionMode'

Remédiation :

# Activer Windows File Protection (si disponible)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' -Name 'ProtectionMode' -Value 1 -Type DWord

# Vérifier et corriger les permissions sur les dossiers système
icacls "C:\Windows\System32" /inheritance:r
icacls "C:\Windows\System32" /grant:r "SYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F" "Users:(OI)(CI)RX"
icacls "C:\Windows\SysWOW64" /inheritance:r
icacls "C:\Windows\SysWOW64" /grant:r "SYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F" "Users:(OI)(CI)RX"

Valeur par défaut : Permissions par défaut Windows


9.5.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.6.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.7.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.8.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.9.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.10.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.11.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.12.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.13.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.14.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


9.15.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 9.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 9. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 10 : REGISTRE & SYSTÈME DE FICHIERS

10.1 — Protection du registre

10.1.1 — Accès à distance au registre - Restreint

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.3.7 T1012 (Query Registry)

Description :

L’accès à distance au registre doit être désactivé ou strictement contrôlé. Le service de registre distant permet la lecture et modification à distance du registre Windows.

Vérification :

Get-Service -Name "RemoteRegistry" | Select-Object Name, Status, StartType
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg' -Name 'AllowedExactPaths' -ErrorAction SilentlyContinue

Remédiation :

# Désactiver le service de registre distant
Stop-Service -Name "RemoteRegistry" -Force -ErrorAction SilentlyContinue
Set-Service -Name "RemoteRegistry" -StartupType Disabled

# Si le service doit rester activé, restreindre les accès
# Configurer les ACL sur les clés sensibles
$ACL = Get-Acl "HKLM:\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg"
$ACL.SetAccessRuleProtection($true, $false)
$AdminRule = New-Object System.Security.AccessControl.RegistryAccessRule("Administrators", "FullControl", "Allow")
$ACL.SetAccessRule($AdminRule)
Set-Acl "HKLM:\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg" $ACL

Valeur par défaut : Démarrage manuel


10.1.2 — Protection des clés de registre critiques - Configurée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 ANSSI T1112 (Modify Registry)

Description :

Les clés de registre critiques pour la sécurité du système doivent être protégées contre la modification par des utilisateurs non privilégiés.

Vérification :

# Vérifier les permissions sur les ruches critiques
Get-Acl "HKLM:\SYSTEM" | Format-List
Get-Acl "HKLM:\SECURITY" | Format-List
Get-Acl "HKLM:\SAM" | Format-List

Remédiation :

# Script pour sécuriser les clés critiques
$CriticalKeys = @(
    "HKLM:\SYSTEM\CurrentControlSet\Services",
    "HKLM:\SYSTEM\CurrentControlSet\Control",
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
    "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
)

foreach ($Key in $CriticalKeys) {
    if (Test-Path $Key) {
        $ACL = Get-Acl $Key
        # Supprimer l'héritage et les permissions des utilisateurs standards
        $ACL.SetAccessRuleProtection($true, $true)
        
        # Garder seulement SYSTEM et Administrators
        $Rules = $ACL.GetAccessRules($true, $false, [System.Security.Principal.NTAccount])
        foreach ($Rule in $Rules) {
            if ($Rule.IdentityReference -notmatch "SYSTEM|Administrators") {
                $ACL.RemoveAccessRule($Rule)
            }
        }
        Set-Acl $Key $ACL
    }
}

Valeur par défaut : Permissions héritées


10.2 — Contrôles d’intégrité des fichiers

10.2.1 — System File Checker (SFC) - Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 ANSSI T1565.001 (Stored Data Manipulation)

Description :

Le vérificateur d’intégrité des fichiers système (SFC) doit être configuré pour détecter et réparer les modifications non autorisées des fichiers système.

Vérification :

# Vérifier l'intégrité des fichiers système
sfc /verifyonly

# Vérifier la base de données des composants
Dism /Online /Cleanup-Image /CheckHealth

Remédiation :

# Réparer les fichiers système corrompus
sfc /scannow

# Réparer l'image Windows si nécessaire
Dism /Online /Cleanup-Image /RestoreHealth

# Tâche planifiée pour vérifications périodiques
$Action = New-ScheduledTaskAction -Execute 'sfc' -Argument '/verifyonly'
$Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Sunday -At "02:00"
$Principal = New-ScheduledTaskPrincipal -UserID "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "SFC_Weekly_Check" -Action $Action -Trigger $Trigger -Principal $Principal -Description "Vérification hebdomadaire de l'intégrité des fichiers système"

Valeur par défaut : Vérification manuelle uniquement


10.2.2 — Windows Resource Protection - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 18.4.12 T1574.007 (Path Interception by PATH Environment Variable)

Description :

Windows Resource Protection (WRP) protège les fichiers et clés de registre système critiques contre les modifications. Ce service doit être activé et fonctionnel.

Vérification :

Get-Service -Name "TrustedInstaller" | Select-Object Name, Status, StartType
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 'SFCDisable' -ErrorAction SilentlyContinue

Remédiation :

# S'assurer que TrustedInstaller est actif
Set-Service -Name "TrustedInstaller" -StartupType Manual
Start-Service -Name "TrustedInstaller" -ErrorAction SilentlyContinue

# S'assurer que SFC n'est pas désactivé
Remove-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 'SFCDisable' -ErrorAction SilentlyContinue

Valeur par défaut : TrustedInstaller en mode manuel, WRP activé


10.3 — Chiffrement du système de fichiers

10.3.1 — BitLocker Drive Encryption - Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.8 T1486 (Data Encrypted for Impact)

Description :

BitLocker Drive Encryption doit être activé pour protéger les données au repos contre l’accès physique non autorisé au disque dur.

Vérification :

Get-BitLockerVolume | Select-Object MountPoint, EncryptionMethod, VolumeStatus, ProtectionStatus
manage-bde -status

Remédiation :

  1. Vérifier les prérequis TPM :
Get-Tpm | Select-Object TpmPresent, TpmReady, TpmEnabled
  1. Activer BitLocker :
# Activer BitLocker sur le lecteur C: avec TPM
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector

# Sauvegarder les clés de récupération
$RecoveryKey = (Get-BitLockerVolume -MountPoint "C:").KeyProtector | Where-Object {$_.KeyProtectorType -eq 'RecoveryPassword'}
$RecoveryKey.RecoveryPassword | Out-File "C:\BitLockerRecoveryKey.txt"
  1. Configuration via GPO : Computer Configuration\Policies\Administrative Templates\Windows Components\BitLocker Drive Encryption

Valeur par défaut : Non activé par défaut


10.4.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.5.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.6.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.7.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.8.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.9.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.10.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.11.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.12.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.13.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.14.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


10.15.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 10.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 10. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 11 : PROTECTION DES DONNÉES & CHIFFREMENT

11.1 — Chiffrement des communications

11.1.1 — TLS/SSL - Configuration sécurisée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.4.14 T1040 (Network Sniffing)

Description :

Les protocoles TLS/SSL doivent être configurés pour utiliser uniquement les versions sécurisées (TLS 1.2 minimum) et désactiver les versions obsolètes (SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1).

Vérification :

# Vérifier la configuration TLS dans le registre
Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" | Get-ItemProperty
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -ErrorAction SilentlyContinue

Remédiation :

# Désactiver SSL 2.0
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server' -Name 'Enabled' -Value 0 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server' -Name 'DisabledByDefault' -Value 1 -Type DWord

# Désactiver SSL 3.0
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -Name 'Enabled' -Value 0 -Type DWord

# Désactiver TLS 1.0 et 1.1
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Name 'Enabled' -Value 0 -Type DWord

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Name 'Enabled' -Value 0 -Type DWord

# Forcer TLS 1.2 pour .NET Framework
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value 1 -Type DWord

Valeur par défaut : TLS 1.2 et versions antérieures activées


11.1.2 — Certificats et autorités de certification - Gérés

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.4.15 T1553.004 (Install Root Certificate)

Description :

Les certificats et autorités de certification doivent être correctement gérés. Les certificats auto-signés ou non fiables doivent être supprimés du magasin de certificats.

Vérification :

Get-ChildItem Cert:\LocalMachine\Root | Where-Object {$_.Subject -notmatch "Microsoft|VeriSign|DigiCert|Comodo|GlobalSign"} | Select-Object Subject, Thumbprint, NotAfter
Get-ChildItem Cert:\LocalMachine\AuthRoot | Select-Object Subject, Thumbprint
Get-ChildItem Cert:\CurrentUser\Root | Select-Object Subject, Thumbprint

Remédiation :

# Supprimer les certificats non fiables (exemple)
# ATTENTION: Adapter selon votre environnement
$UntrustedCerts = Get-ChildItem Cert:\LocalMachine\Root | Where-Object {$_.Subject -like "*Test*" -or $_.Subject -like "*Development*"}
foreach ($Cert in $UntrustedCerts) {
    Remove-Item "Cert:\LocalMachine\Root\$($Cert.Thumbprint)" -Force
    Write-Output "Certificat supprimé: $($Cert.Subject)"
}

# Activer la vérification de révocation des certificats
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config' -Name 'MaxUrlRetrievalTimeoutMilliseconds' -Value 15000 -Type DWord

Valeur par défaut : Certificats Windows par défaut


11.2 — Protection des données sensibles

11.2.1 — Encrypting File System (EFS) - Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 18.1.2 T1005 (Data from Local System)

Description :

EFS (Encrypting File System) doit être configuré avec des agents de récupération et des algorithmes de chiffrement forts pour protéger les fichiers sensibles au niveau utilisateur.

Vérification :

cipher /e /s:C:\Users\%USERNAME%\Documents
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS\CurrentKeys' -ErrorAction SilentlyContinue

Remédiation :

# Configurer EFS pour utiliser AES 256
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'EFSAlgorithmID' -Value 0x6610 -Type DWord  # AES-256

# Configurer la longueur de clé
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'EFSKeyLength' -Value 256 -Type DWord

# Désactiver EFS si non utilisé dans votre environnement
# Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'DisableEFS' -Value 1 -Type DWord

Valeur par défaut : EFS disponible avec clés par défaut


11.2.2 — Protection des métadonnées de fichiers - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 ANSSI T1083 (File and Directory Discovery)

Description :

La protection des métadonnées de fichiers doit être configurée pour empêcher la fuite d’informations sensibles via les propriétés de fichiers.

Vérification :

# Vérifier la configuration des flux de données alternatifs (ADS)
dir /a /r C:\Users\%USERNAME%\Documents
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'NtfsDisableLastAccessUpdate'

Remédiation :

# Désactiver la mise à jour automatique de l'heure du dernier accès (performance et confidentialité)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'NtfsDisableLastAccessUpdate' -Value 1 -Type DWord

# Script pour nettoyer les métadonnées des fichiers Office
$Files = Get-ChildItem -Path "C:\Users" -Include "*.docx", "*.xlsx", "*.pptx" -Recurse -ErrorAction SilentlyContinue
foreach ($File in $Files) {
    try {
        # Supprimer les propriétés étendues (nécessite des outils tiers pour une suppression complète)
        Set-ItemProperty -Path $File.FullName -Name Attributes -Value ([System.IO.FileAttributes]::Normal)
    } catch {
        Write-Warning "Impossible de traiter $($File.FullName)"
    }
}

Valeur par défaut : Métadonnées conservées


11.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


11.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 11.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 11. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 12 : WINDOWS HELLO & BIOMÉTRIE

12.1 — Configuration Windows Hello

12.1.1 — Windows Hello for Business - Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 18.9.97 T1556 (Modify Authentication Process)

Description :

Windows Hello for Business doit être configuré pour fournir une authentification forte sans mot de passe dans les environnements d’entreprise.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'AllowDomainPINLogon' -ErrorAction SilentlyContinue
Get-WindowsHelloForBusinessConfiguration
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\DeviceLock' -ErrorAction SilentlyContinue

Remédiation :

# Activer Windows Hello for Business
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'AllowDomainPINLogon' -Value 1 -Type DWord

# Configurer les politiques PIN
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'MinimumPINLength' -Value 6 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'MaximumPINLength' -Value 127 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\PassportForWork\PINComplexity' -Name 'RequireDigits' -Value 1 -Type DWord

Valeur par défaut : Disponible mais non configuré par défaut


12.1.2 — Configuration biométrique - Sécurisée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 18.9.16 T1556 (Modify Authentication Process)

Description :

La configuration biométrique doit être sécurisée avec des paramètres appropriés pour empêcher les contournements et assurer la protection des données biométriques.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics' -ErrorAction SilentlyContinue
Get-WmiObject -Class Win32_SystemDriverPNPEntity | Where-Object {$_.Name -like "*biometric*"} | Select-Object Name, Status

Remédiation :

# Configuration des politiques biométriques
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics' -Name 'Enabled' -Value 1 -Type DWord

# Configuration de la base de données biométrique
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics\Credential Provider' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics\Credential Provider' -Name 'Domain Accounts' -Value 1 -Type DWord

# Politique de qualité biométrique
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics' -Name 'FaceUnlockEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics' -Name 'FingerprintUnlockEnabled' -Value 1 -Type DWord

Valeur par défaut : Configuration de base si matériel supporté


12.2 — Sécurité des identifiants

12.2.1 — Protection contre l’usurpation biométrique - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 ANSSI T1556.002 (Password Filter DLL)

Description :

Les mécanismes de protection contre l’usurpation biométrique (liveness detection) doivent être activés pour empêcher l’utilisation de fausses empreintes ou photos.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics\FacialFeatures' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WinBio\Credential Provider' -ErrorAction SilentlyContinue

Remédiation :

# Configuration anti-usurpation pour la reconnaissance faciale
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics\FacialFeatures' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics\FacialFeatures' -Name 'EnhancedAntiSpoofing' -Value 1 -Type DWord

# Forcer l'utilisation d'IR (infrarouge) pour la reconnaissance faciale
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Biometrics\FacialFeatures' -Name 'UseEnhancedSignin' -Value 1 -Type DWord

Valeur par défaut : Protection de base si supportée par le matériel


12.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


12.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 12.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 12. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 13 : SÉCURITÉ RÉSEAU

13.1 — Protocoles réseau sécurisés

13.1.1 — IPv6 - Configuration sécurisée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.3.4 T1557.001 (LLMNR/NBT-NS Poisoning)

Description :

IPv6 doit être configuré de manière sécurisée ou désactivé si non utilisé. IPv6 peut être exploité pour contourner les contrôles de sécurité IPv4.

Vérification :

Get-NetAdapterBinding -ComponentID ms_tcpip6 | Select-Object Name, DisplayName, Enabled
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters' -Name 'DisabledComponents' -ErrorAction SilentlyContinue
netsh interface ipv6 show global

Remédiation :

  1. Si IPv6 n’est pas utilisé, le désactiver :
# Désactiver IPv6 sur toutes les interfaces
Disable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6

# Ou via le registre (nécessite redémarrage)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters' -Name 'DisabledComponents' -Value 0xFF -Type DWord
  1. Si IPv6 est utilisé, le sécuriser :
# Désactiver la configuration automatique si non nécessaire
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set global routerdiscovery=disabled

# Configurer des adresses IPv6 statiques plutôt que l'autoconfiguration

Valeur par défaut : IPv6 activé avec autoconfiguration


13.1.2 — NetBIOS over TCP/IP - Désactivé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.3.5 T1557.001 (LLMNR/NBT-NS Poisoning)

Description :

NetBIOS over TCP/IP doit être désactivé pour empêcher les attaques de type NetBIOS name poisoning et réduire la surface d’attaque réseau.

Vérification :

Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object {$_.TcpipNetbiosOptions} | Select-Object Description, TcpipNetbiosOptions
wmic nicconfig get description,tcpipnetbiosoptions

Remédiation :

# Désactiver NetBIOS over TCP/IP sur toutes les interfaces
$NICs = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=True"
foreach ($NIC in $NICs) {
    $NIC.SetTcpipNetbios(2)  # 2 = Disable NetBIOS over TCP/IP
}

# Vérification
Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object {$_.TcpipNetbiosOptions -eq 2} | Select-Object Description

Valeur par défaut : Activé par défaut (valeur 0 = par défaut DHCP)


13.1.3 — LLMNR et mDNS - Désactivés

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.3.6 T1557.001 (LLMNR/NBT-NS Poisoning)

Description :

LLMNR (Link-Local Multicast Name Resolution) et mDNS doivent être désactivés pour empêcher les attaques de poisoning qui permettent d’intercepter les identifiants réseau.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient' -Name 'EnableMulticast' -ErrorAction SilentlyContinue
Get-Service -Name "Dnscache" | Select-Object Name, Status
netsh interface ip show global

Remédiation :

# Désactiver LLMNR
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient' -Name 'EnableMulticast' -Value 0 -Type DWord

# Désactiver mDNS (Bonjour)
New-Item -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Name 'EnableMDNS' -Value 0 -Type DWord

# Redémarrer le service DNS Client
Restart-Service -Name "Dnscache" -Force

Valeur par défaut : LLMNR et mDNS activés


13.2 — Protection réseau avancée

13.2.1 — Windows Network Protection - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.4.7 T1049 (System Network Configuration Discovery)

Description :

Windows Network Protection doit être activé pour protéger contre les attaques réseau et surveiller le trafic réseau suspect.

Vérification :

Get-MpPreference | Select-Object EnableNetworkProtection
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Network Protection' -Name 'EnableNetworkProtection' -ErrorAction SilentlyContinue

Remédiation :

# Activer Network Protection en mode blocage
Set-MpPreference -EnableNetworkProtection Enabled

# Ou via le registre
New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Network Protection' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Network Protection' -Name 'EnableNetworkProtection' -Value 1 -Type DWord

Valeur par défaut : Désactivé


13.2.2 — Protection contre les attaques réseau - Configurée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 ANSSI T1095 (Non-Application Layer Protocol)

Description :

Les protections contre les attaques réseau courantes doivent être configurées, incluant la protection contre les attaques par déni de service et les scans de ports.

Vérification :

netsh int ip show config
netsh advfirewall show allprofiles
Get-NetFirewallRule | Where-Object {$_.Direction -eq "Inbound" -and $_.Action -eq "Block"} | Select-Object DisplayName, Direction, Action

Remédiation :

# Configuration de protection TCP/IP avancée
netsh int ip set global taskoffload=disabled
netsh int ip set global chimney=disabled

# Protection contre SYN flood
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters' -Name 'SynAttackProtect' -Value 2 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters' -Name 'TcpMaxHalfOpen' -Value 500 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters' -Name 'TcpMaxHalfOpenRetried' -Value 400 -Type DWord

# Désactiver la source routing
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters' -Name 'DisableIPSourceRouting' -Value 2 -Type DWord

Valeur par défaut : Protections de base activées


13.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


13.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 13.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 13. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 14 : MICROSOFT DEFENDER ANTIVIRUS

14.1 — Configuration de base

14.1.1 — Protection en temps réel - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.39 T1562.001 (Disable or Modify Tools)

Description :

La protection en temps réel de Microsoft Defender Antivirus doit être activée en permanence pour détecter et bloquer les menaces en temps réel.

Vérification :

Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled, OnAccessProtectionEnabled
Get-MpPreference | Select-Object DisableRealtimeMonitoring, DisableOnAccessProtection

Remédiation :

# Activer la protection en temps réel
Set-MpPreference -DisableRealtimeMonitoring $false
Set-MpPreference -DisableOnAccessProtection $false

# Configurer les analyses automatiques
Set-MpPreference -ScanScheduleDay Everyday -ScanScheduleTime 120
Set-MpPreference -CheckForSignaturesBeforeRunningScan $true

Valeur par défaut : Activé par défaut sur Windows 11


14.1.2 — Protection fournie par le cloud - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.39 T1562.001 (Disable or Modify Tools)

Description :

La protection fournie par le cloud (MAPS - Microsoft Active Protection Service) doit être activée pour bénéficier des dernières signatures et de l’intelligence des menaces en temps réel.

Vérification :

Get-MpPreference | Select-Object MAPSReporting, SubmitSamplesConsent
Get-MpComputerStatus | Select-Object AMEngineVersion, AntivirusSignatureVersion

Remédiation :

# Activer MAPS avec envoi d'échantillons automatique
Set-MpPreference -MAPSReporting Advanced
Set-MpPreference -SubmitSamplesConsent SendAllSamples

# Activer le blocage à la première vue
Set-MpPreference -DisableBlockAtFirstSeen $false

Valeur par défaut : Activé avec niveau de base


14.1.3 — Analyse comportementale - Activée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.39 T1055 (Process Injection)

Description :

L’analyse comportementale doit être activée pour détecter les comportements malveillants qui ne sont pas détectés par les signatures traditionnelles.

Vérification :

Get-MpPreference | Select-Object DisableBehaviorMonitoring, DisableIOAVProtection, DisableScriptScanning

Remédiation :

# Activer toutes les protections comportementales
Set-MpPreference -DisableBehaviorMonitoring $false
Set-MpPreference -DisableIOAVProtection $false
Set-MpPreference -DisableScriptScanning $false
Set-MpPreference -DisableInboundConnectionFiltering $false

Valeur par défaut : Activé par défaut


14.2 — Configuration avancée

14.2.1 — Exclusions d’analyse - Minimisées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.39 T1562.001 (Disable or Modify Tools)

Description :

Les exclusions d’analyse de Windows Defender doivent être minimisées et régulièrement auditées. Chaque exclusion réduit le niveau de protection.

Vérification :

Get-MpPreference | Select-Object ExclusionPath, ExclusionProcess, ExclusionExtension
Get-MpPreference | Select-Object AttackSurfaceReductionRules_Actions, AttackSurfaceReductionRules_Ids

Remédiation :

# Audit des exclusions actuelles
$Exclusions = Get-MpPreference
Write-Output "Chemins exclus: $($Exclusions.ExclusionPath -join '; ')"
Write-Output "Processus exclus: $($Exclusions.ExclusionProcess -join '; ')"
Write-Output "Extensions exclues: $($Exclusions.ExclusionExtension -join '; ')"

# Supprimer les exclusions non nécessaires (exemple)
# Remove-MpPreference -ExclusionPath "C:\Temp"

# Configurer des règles ASR (Attack Surface Reduction)
$ASRRules = @{
    "BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550" = "Enabled"  # Block executable content download
    "D4F940AB-401B-4EFC-AADC-AD5F3C50688A" = "Enabled"  # Block Office applications from creating child processes
    "3B576869-A4EC-4529-8536-B80A7769E899" = "Enabled"  # Block Office applications from creating executable content
}

foreach ($Rule in $ASRRules.GetEnumerator()) {
    Add-MpPreference -AttackSurfaceReductionRules_Ids $Rule.Key -AttackSurfaceReductionRules_Actions $Rule.Value
}

Valeur par défaut : Aucune exclusion par défaut


14.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


14.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 14.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 14. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 15 : CONTRÔLE DES APPLICATIONS

15.1 — Windows Defender Application Control (WDAC)

15.1.1 — Politique de contrôle d’application - Configurée

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.44 T1218 (Signed Binary Proxy Execution)

Description :

Une politique Windows Defender Application Control (WDAC) doit être configurée pour contrôler quelles applications peuvent s’exécuter sur le système.

Vérification :

Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object CodeIntegrityPolicyEnforcementStatus
Get-SystemDriver | Where-Object {$_.Name -like "*CodeIntegrity*"}

Remédiation :

  1. Créer une politique de base WDAC :
# Créer une politique WDAC en mode audit
New-CIPolicy -Level Publisher -FilePath "C:\WDAC\InitialPolicy.xml" -UserPEs

# Convertir en politique binaire
ConvertFrom-CIPolicy -XmlFilePath "C:\WDAC\InitialPolicy.xml" -BinaryFilePath "C:\WDAC\Policy.bin"

# Déployer la politique
Copy-Item "C:\WDAC\Policy.bin" "C:\Windows\System32\CodeIntegrity\SIPolicy.p7b"
  1. Configuration via GPO : Computer Configuration\Policies\Administrative Templates\System\Device Guard\Deploy Code Integrity Policy

Valeur par défaut : Aucune politique WDAC active


15.1.2 — AppLocker - Configuration de base

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 CIS 18.9.6 T1059 (Command and Scripting Interpreter)

Description :

AppLocker doit être configuré avec des règles de base pour contrôler l’exécution d’applications non autorisées, en particulier pour les scripts et exécutables.

Vérification :

Get-Service -Name "AppIDSvc" | Select-Object Name, Status, StartType
Get-AppLockerPolicy -Effective | Select-Object RuleCollections

Remédiation :

# Activer le service Application Identity
Set-Service -Name "AppIDSvc" -StartupType Automatic
Start-Service -Name "AppIDSvc"

# Créer des règles AppLocker de base
$Rules = @'
<AppLockerPolicy Version="1">
  <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
    <FilePathRule Id="fd686d83-a829-4351-8ff4-27c7de5755d2" Name="Allow programs in Program Files" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
      <Conditions>
        <FilePathCondition Path="%PROGRAMFILES%\*" />
      </Conditions>
    </FilePathRule>
    <FilePathRule Id="ad02b920-40d2-4a3c-a0e3-53956cf69f2c" Name="Allow programs in Windows" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
      <Conditions>
        <FilePathCondition Path="%WINDIR%\*" />
      </Conditions>
    </FilePathRule>
  </RuleCollection>
</AppLockerPolicy>
'@

$Rules | Out-File "C:\AppLocker\BasePolicy.xml"
Set-AppLockerPolicy -XmlPolicy "C:\AppLocker\BasePolicy.xml"

Valeur par défaut : AppLocker non configuré


15.2 — SmartScreen et protection web

15.2.1 — Windows Defender SmartScreen - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.80 T1566.001 (Spearphishing Attachment)

Description :

Windows Defender SmartScreen doit être activé pour tous les navigateurs et applications afin de protéger contre les téléchargements malveillants et les sites de phishing.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'EnableSmartScreen' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer' -Name 'SmartScreenEnabled' -ErrorAction SilentlyContinue

Remédiation :

# Activer SmartScreen pour Windows
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'EnableSmartScreen' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'ShellSmartScreenLevel' -Value 'Block' -Type String

# Activer SmartScreen pour l'Explorateur
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer' -Name 'SmartScreenEnabled' -Value 'RequireAdmin' -Type String

Valeur par défaut : Activé par défaut sur Windows 11


15.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


15.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 15.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 15. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 16 : MISES À JOUR & MAINTENANCE

16.1 — Windows Update

16.1.1 — Mises à jour automatiques - Configurées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.101 T1203 (Exploitation for Client Execution)

Description :

Les mises à jour automatiques de Windows doivent être configurées pour installer automatiquement les mises à jour critiques et de sécurité afin de maintenir le système à jour contre les vulnérabilités connues.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'AUOptions' -ErrorAction SilentlyContinue
Get-WindowsUpdate -List
UsoClient ScanInstallWait

Remédiation :

# Configuration des mises à jour automatiques via GPO
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'AUOptions' -Value 4 -Type DWord  # Install automatically
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'ScheduledInstallDay' -Value 0 -Type DWord  # Every day
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'ScheduledInstallTime' -Value 3 -Type DWord   # 3 AM

# Configurer les redémarrages automatiques
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'NoAutoRebootWithLoggedOnUsers' -Value 0 -Type DWord

Valeur par défaut : Mises à jour automatiques activées


16.1.2 — WSUS/Windows Update for Business - Configuration

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.101 T1195.002 (Compromise Software Supply Chain)

Description :

WSUS ou Windows Update for Business doit être configuré pour contrôler la distribution des mises à jour dans l’environnement d’entreprise.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'WUServer' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'BranchReadinessLevel' -ErrorAction SilentlyContinue

Remédiation :

# Configuration pour Windows Update for Business
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'BranchReadinessLevel' -Value 32 -Type DWord  # Semi-Annual Channel
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'DeferFeatureUpdates' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'DeferFeatureUpdatesPeriodInDays' -Value 365 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'DeferQualityUpdates' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' -Name 'DeferQualityUpdatesPeriodInDays' -Value 7 -Type DWord

Valeur par défaut : Configuration par défaut Microsoft


16.2 — Maintenance système

16.2.1 — Tâches de maintenance automatique - Configurées

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 ANSSI T1053.005 (Scheduled Task)

Description :

Les tâches de maintenance automatique doivent être configurées pour maintenir les performances et la sécurité du système, tout en étant contrôlées pour éviter les abus.

Vérification :

Get-ScheduledTask | Where-Object {$_.TaskPath -like "*Microsoft*" -and $_.State -eq "Ready"} | Select-Object TaskName, State, LastRunTime
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance' -ErrorAction SilentlyContinue

Remédiation :

# Configuration de la maintenance automatique
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance' -Name 'MaintenanceDisabled' -Value 0 -Type DWord

# Configurer des taches de securite personnalisees
# Script PowerShell pour les taches de maintenance
$MaintenanceScript = @"
# Verification des echecs de connexion
Get-WinEvent -LogName Security -MaxEvents 100 | Where-Object {$_.Id -eq 4625} | Export-Csv C:\Logs\FailedLogons.csv -Append -ErrorAction SilentlyContinue

# Verification integrite systeme
sfc /verifyonly
"@

$MaintenanceScript | Out-File -FilePath "C:\Scripts\SecurityMaintenance.ps1"

# Tache planifiee pour maintenance de securite
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Scripts\SecurityMaintenance.ps1"
$Trigger = New-ScheduledTaskTrigger -Daily -At "06:00"
$Principal = New-ScheduledTaskPrincipal -UserID "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "Security_DailyMaintenance" -Action $Action -Trigger $Trigger -Principal $Principal

Valeur par défaut : Maintenance automatique activée


16.2.2 — Nettoyage des fichiers temporaires - Automatisé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 ANSSI T1005 (Data from Local System)

Description :

Le nettoyage automatique des fichiers temporaires doit être configuré pour réduire la surface d’attaque et empêcher l’accumulation de données sensibles dans les dossiers temporaires.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy' -ErrorAction SilentlyContinue
Get-ChildItem -Path "C:\Windows\Temp" -Recurse | Measure-Object -Property Length -Sum

Remédiation :

# Activer Storage Sense pour le nettoyage automatique
New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy' -Name '01' -Value 1 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy' -Name '04' -Value 1 -Type DWord  # Delete temp files
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy' -Name '08' -Value 30 -Type DWord # Delete files in recycle bin after 30 days

# Tâche de nettoyage personnalisée
$CleanupScript = @'
# Nettoyage sécurisé des dossiers temporaires
$TempFolders = @("C:\Windows\Temp", "C:\Users\*\AppData\Local\Temp")
foreach ($Folder in $TempFolders) {
    if (Test-Path $Folder) {
        Get-ChildItem -Path $Folder -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
    }
}

# Nettoyage des logs anciens (> 90 jours)
Get-ChildItem -Path "C:\Windows\Logs" -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-90)} | Remove-Item -Force -ErrorAction SilentlyContinue
'@

$CleanupScript | Out-File -FilePath "C:\Scripts\SecurityCleanup.ps1"
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Scripts\SecurityCleanup.ps1"
$Trigger = New-ScheduledTaskTrigger -Daily -At "01:00"
Register-ScheduledTask -TaskName "Security_DailyCleanup" -Action $Action -Trigger $Trigger

Valeur par défaut : Nettoyage manuel uniquement


16.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


16.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 16.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 16. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 17 : FONCTIONNALITÉS DE SÉCURITÉ AVANCÉES

17.1 — Windows Defender Exploit Guard

17.1.1 — Exploit Protection - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.30 T1068 (Exploitation for Privilege Escalation)

Description :

Windows Defender Exploit Protection doit être activé avec toutes les mitigations disponibles pour protéger contre les techniques d’exploitation courantes.

Vérification :

Get-ProcessMitigation -System | Select-Object DEP, ASLR, CFG, StrictCFG
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Exploit Protection' -ErrorAction SilentlyContinue

Remédiation :

# Configuration globale d'Exploit Protection
Set-ProcessMitigation -System -Enable DEP, EmulateAtlThunks, BottomUp, HighEntropy, StrictCFG, SystemCallDisable

# Configuration pour des applications spécifiques
$ProcessMitigations = @{
    "iexplore.exe" = @("DEP", "ASLR", "CFG")
    "chrome.exe" = @("DEP", "ASLR", "CFG")
    "firefox.exe" = @("DEP", "ASLR", "CFG")
    "winword.exe" = @("DEP", "ASLR", "CFG")
    "excel.exe" = @("DEP", "ASLR", "CFG")
    "powerpnt.exe" = @("DEP", "ASLR", "CFG")
    "acrobat.exe" = @("DEP", "ASLR", "CFG")
}

foreach ($Process in $ProcessMitigations.GetEnumerator()) {
    Set-ProcessMitigation -Name $Process.Key -Enable ($Process.Value -join ",")
}

Valeur par défaut : Mitigations de base activées


17.1.2 — Attack Surface Reduction (ASR) - Configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🔴 CIS 18.9.30 T1059 (Command and Scripting Interpreter)

Description :

Les règles Attack Surface Reduction doivent être configurées pour bloquer les vecteurs d’attaque couramment utilisés par les logiciels malveillants.

Vérification :

Get-MpPreference | Select-Object AttackSurfaceReductionRules_Ids, AttackSurfaceReductionRules_Actions

Remédiation :

# Configuration complète des règles ASR
$ASRRules = @{
    # Block executable content from email client and webmail
    "BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550" = "Enabled"
    # Block all Office applications from creating child processes
    "D4F940AB-401B-4EFC-AADC-AD5F3C50688A" = "Enabled"
    # Block Office applications from creating executable content
    "3B576869-A4EC-4529-8536-B80A7769E899" = "Enabled"
    # Block Office applications from injecting code into other processes
    "75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84" = "Enabled"
    # Block JavaScript or VBScript from launching downloaded executable content
    "D3E037E1-3EB8-44C8-A917-57927947596D" = "Enabled"
    # Block execution of potentially obfuscated scripts
    "5BEB7EFE-FD9A-4556-801D-275E5FFC04CC" = "Enabled"
    # Block Win32 API calls from Office macros
    "92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B" = "Enabled"
    # Block executable files from running unless they meet a prevalence, age, or trusted list criterion
    "01443614-cd74-433a-b99e-2ecdc07bfc25" = "AuditMode"  # Start in audit mode
    # Use advanced protection against ransomware
    "c1db55ab-c21a-4637-bb3f-a12568109d35" = "Enabled"
    # Block credential stealing from the Windows local security authority subsystem
    "9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2" = "Enabled"
    # Block process creations originating from PSExec and WMI commands
    "d1e49aac-8f56-4280-b9ba-993a6d77406c" = "Enabled"
    # Block untrusted and unsigned processes that run from USB
    "b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4" = "Enabled"
    # Block Office communication application from creating child processes
    "26190899-1602-49e8-8b27-eb1d0a1ce869" = "Enabled"
    # Block Adobe Reader from creating child processes
    "7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c" = "Enabled"
    # Block persistence through WMI event subscription
    "e6db77e5-3df2-4cf1-b95a-636979351e5b" = "Enabled"
}

# Appliquer toutes les règles ASR
foreach ($Rule in $ASRRules.GetEnumerator()) {
    Add-MpPreference -AttackSurfaceReductionRules_Ids $Rule.Key -AttackSurfaceReductionRules_Actions $Rule.Value
}

# Vérification
Get-MpPreference | Select-Object AttackSurfaceReductionRules_Ids, AttackSurfaceReductionRules_Actions

Valeur par défaut : Aucune règle ASR configurée


17.2 — Controlled Folder Access

17.2.1 — Accès contrôlé aux dossiers - Activé

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.30 T1486 (Data Encrypted for Impact)

Description :

L’accès contrôlé aux dossiers doit être activé pour protéger les dossiers importants contre les modifications par des applications non autorisées, notamment les ransomwares.

Vérification :

Get-MpPreference | Select-Object EnableControlledFolderAccess
Get-MpPreference | Select-Object ControlledFolderAccessProtectedFolders
Get-MpPreference | Select-Object ControlledFolderAccessAllowedApplications

Remédiation :

# Activer Controlled Folder Access
Set-MpPreference -EnableControlledFolderAccess Enabled

# Ajouter des dossiers protégés supplémentaires
$ProtectedFolders = @(
    "C:\Users\%USERNAME%\Documents",
    "C:\Users\%USERNAME%\Desktop", 
    "C:\Users\%USERNAME%\Pictures",
    "C:\Users\%USERNAME%\Videos",
    "C:\Data",
    "C:\Important"
)

foreach ($Folder in $ProtectedFolders) {
    Add-MpPreference -ControlledFolderAccessProtectedFolders $Folder -ErrorAction SilentlyContinue
}

# Ajouter des applications autorisées si nécessaire
$AllowedApps = @(
    "C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE",
    "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE",
    "C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE"
)

foreach ($App in $AllowedApps) {
    if (Test-Path $App) {
        Add-MpPreference -ControlledFolderAccessAllowedApplications $App
    }
}

Valeur par défaut : Désactivé


17.3 — Windows Sandbox et virtualisation

17.3.1 — Windows Sandbox - Disponible et configuré

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 ANSSI T1055 (Process Injection)

Description :

Windows Sandbox doit être disponible et configuré pour permettre l’exécution sécurisée de logiciels suspects dans un environnement isolé.

Vérification :

Get-WindowsOptionalFeature -Online -FeatureName "Containers-DisposableClientVM"
Get-ComputerInfo | Select-Object HyperVRequirementVirtualizationFirmwareEnabled

Remédiation :

# Activer Windows Sandbox (nécessite redémarrage)
Enable-WindowsOptionalFeature -Online -FeatureName "Containers-DisposableClientVM" -All -NoRestart

# Créer une configuration personnalisée pour Windows Sandbox
$SandboxConfig = @'
<Configuration>
    <VGpu>Enable</VGpu>
    <Networking>Disable</Networking>
    <MappedFolders>
        <MappedFolder>
            <HostFolder>C:\SandboxShare</HostFolder>
            <SandboxFolder>C:\Share</SandboxFolder>
            <ReadOnly>true</ReadOnly>
        </MappedFolder>
    </MappedFolders>
    <LogonCommand>
        <Command>C:\Windows\System32\cmd.exe /c echo Windows Sandbox Security Environment Ready</Command>
    </LogonCommand>
    <AudioInput>Disable</AudioInput>
    <VideoInput>Disable</VideoInput>
    <ProtectedClient>Enable</ProtectedClient>
    <PrinterRedirection>Disable</PrinterRedirection>
    <ClipboardRedirection>Disable</ClipboardRedirection>
    <MemoryInMB>2048</MemoryInMB>
</Configuration>
'@

New-Item -Path "C:\SandboxConfigs" -ItemType Directory -Force
$SandboxConfig | Out-File -FilePath "C:\SandboxConfigs\SecureSandbox.wsb"

Valeur par défaut : Non installé par défaut


17.4.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.5.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.6.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.7.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.8.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.9.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.10.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.11.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.12.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.13.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.14.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


17.15.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 17.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 17. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


🔐 SECTION 18 : CONFORMITÉ & GOUVERNANCE

18.1 — Audit et conformité réglementaire

18.1.1 — Conformité RGPD - Configuration de base

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 RGPD T1005 (Data from Local System)

Description :

Les mesures de conformité RGPD doivent être implémentées, incluant la limitation de la collecte de données de télémétrie et la protection des données personnelles.

Vérification :

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection' -Name 'AllowTelemetry' -ErrorAction SilentlyContinue
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy' -ErrorAction SilentlyContinue
Get-Service -Name "DiagTrack" | Select-Object Name, Status, StartType

Remédiation :

# Désactiver la télémétrie pour la conformité RGPD
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection' -Name 'AllowTelemetry' -Value 0 -Type DWord

# Désactiver les services de télémétrie
Stop-Service -Name "DiagTrack" -Force -ErrorAction SilentlyContinue
Set-Service -Name "DiagTrack" -StartupType Disabled -ErrorAction SilentlyContinue

# Configuration des paramètres de confidentialité
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy' -Name 'LetAppsAccessLocation' -Value 2 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy' -Name 'LetAppsAccessCamera' -Value 2 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy' -Name 'LetAppsAccessMicrophone' -Value 2 -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy' -Name 'LetAppsAccessContacts' -Value 2 -Type DWord

# Désactiver Cortana
New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Force | Out-Null
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search' -Name 'AllowCortana' -Value 0 -Type DWord

Valeur par défaut : Télémétrie activée au niveau Sécurité


18.1.2 — Directive NIS2 - Mesures de cybersécurité

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 NIS2 Multiple

Description :

Les mesures de cybersécurité requises par la directive NIS2 doivent être implémentées, incluant la gestion des incidents et la notification des violations.

Vérification :

# Vérifier la configuration de journalisation pour NIS2
auditpol /get /category:* | findstr /i "success failure"
Get-WinEvent -ListLog Security | Select-Object MaximumSizeInBytes, RecordCount
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Security' -Name 'MaxSize'

Remédiation :

# Configuration étendue d'audit pour NIS2
$NIS2AuditCategories = @(
    "Logon/Logoff",
    "Account Management", 
    "Policy Change",
    "Privilege Use",
    "System",
    "Object Access"
)

foreach ($Category in $NIS2AuditCategories) {
    auditpol /set /category:"$Category" /success:enable /failure:enable
}

# Configuration de la rétention des logs (minimum 2 ans pour NIS2)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'Retention' -Value 0 -Type DWord
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security' -Name 'MaxSize' -Value 0x40000000 -Type DWord  # 1 GB

# Script de monitoring pour incidents de sécurité
$IncidentMonitoringScript = @'
# Monitoring des événements critiques pour NIS2
$CriticalEvents = @(
    4625,  # Failed logon
    4648,  # Logon using explicit credentials  
    4656,  # Handle to object requested
    4719,  # System audit policy changed
    4720,  # User account created
    4726,  # User account deleted
    4728,  # Member added to security-enabled global group
    4732,  # Member added to security-enabled local group
    4756   # Member added to security-enabled universal group
)

$Events = @()
foreach ($EventID in $CriticalEvents) {
    $Events += Get-WinEvent -FilterHashtable @{LogName='Security'; ID=$EventID; StartTime=(Get-Date).AddHours(-24)} -MaxEvents 50 -ErrorAction SilentlyContinue
}

if ($Events.Count -gt 0) {
    $Events | Export-Csv -Path "C:\Logs\NIS2_SecurityIncidents_$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation
    
    # Notification si seuil d'incidents dépassé (exemple: > 100 événements)
    if ($Events.Count -gt 100) {
        Write-EventLog -LogName Application -Source "NIS2 Monitoring" -EventId 9001 -EntryType Warning -Message "Seuil d'incidents de sécurité dépassé: $($Events.Count) événements détectés"
    }
}
'@

$IncidentMonitoringScript | Out-File -FilePath "C:\Scripts\NIS2_Monitoring.ps1"

# Tâche planifiée pour le monitoring NIS2
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Scripts\NIS2_Monitoring.ps1"
$Trigger = New-ScheduledTaskTrigger -Daily -At "08:00"
$Principal = New-ScheduledTaskPrincipal -UserID "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "NIS2_SecurityMonitoring" -Action $Action -Trigger $Trigger -Principal $Principal -Description "Monitoring de sécurité pour conformité NIS2"

Valeur par défaut : Configuration de base uniquement


18.2 — Reporting et métriques

18.2.1 — Tableaux de bord de sécurité - Configuration

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟡 ANSSI Multiple

Description :

Des tableaux de bord et métriques de sécurité doivent être configurés pour surveiller en continu l’état de sécurité du système et identifier les tendances.

Vérification :

# Vérifier les compteurs de performance de sécurité
Get-Counter "\Security System Performance(*)\*"
Get-WinEvent -ListProvider "Microsoft-Windows-Security-Auditing" | Select-Object Name, LogLinks

Remédiation :

# Script de génération de métriques de sécurité
$SecurityMetricsScript = @'
# Collecte de métriques de sécurité pour tableau de bord
$Metrics = @{}
$Today = Get-Date
$Yesterday = $Today.AddDays(-1)

# Métriques d'authentification
$Metrics["Failed_Logons_24h"] = (Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625; StartTime=$Yesterday; EndTime=$Today} -ErrorAction SilentlyContinue | Measure-Object).Count
$Metrics["Successful_Logons_24h"] = (Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624; StartTime=$Yesterday; EndTime=$Today} -ErrorAction SilentlyContinue | Measure-Object).Count

# Métriques de gestion des comptes
$Metrics["Account_Changes_24h"] = (Get-WinEvent -FilterHashtable @{LogName='Security'; ID=@(4720,4722,4723,4724,4725,4726,4738); StartTime=$Yesterday; EndTime=$Today} -ErrorAction SilentlyContinue | Measure-Object).Count

# Métriques des politiques de sécurité
$Metrics["Policy_Changes_24h"] = (Get-WinEvent -FilterHashtable @{LogName='Security'; ID=@(4719,4739); StartTime=$Yesterday; EndTime=$Today} -ErrorAction SilentlyContinue | Measure-Object).Count

# Métriques système
$Metrics["System_Uptime_Hours"] = [Math]::Round(((Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime).TotalHours, 2)
$Metrics["Windows_Defender_Status"] = (Get-MpComputerStatus).RealTimeProtectionEnabled
$Metrics["Firewall_Status"] = (Get-NetFirewallProfile -All | Where-Object {$_.Enabled -eq $true}).Count

# État des mises à jour
$Metrics["Pending_Updates"] = (Get-WindowsUpdate -ErrorAction SilentlyContinue | Measure-Object).Count

# Génération du rapport JSON pour tableau de bord
$Report = @{
    "Timestamp" = (Get-Date -Format "yyyy-MM-ddTHH:mm:ssZ")
    "Hostname" = $env:COMPUTERNAME
    "Metrics" = $Metrics
}

$Report | ConvertTo-Json -Depth 3 | Out-File "C:\Logs\SecurityMetrics_$(Get-Date -Format 'yyyyMMdd_HHmmss').json"

# Génération rapport CSV pour analyse
$CSVData = [PSCustomObject]@{
    Timestamp = (Get-Date -Format "yyyy-MM-dd HH:mm:ss")
    Hostname = $env:COMPUTERNAME
    Failed_Logons = $Metrics["Failed_Logons_24h"]
    Successful_Logons = $Metrics["Successful_Logons_24h"]
    Account_Changes = $Metrics["Account_Changes_24h"]
    Policy_Changes = $Metrics["Policy_Changes_24h"]
    System_Uptime = $Metrics["System_Uptime_Hours"]
    Defender_Status = $Metrics["Windows_Defender_Status"]
    Firewall_Profiles_Active = $Metrics["Firewall_Status"]
    Pending_Updates = $Metrics["Pending_Updates"]
}

$CSVData | Export-Csv "C:\Logs\SecurityMetrics.csv" -NoTypeInformation -Append
'@

$SecurityMetricsScript | Out-File -FilePath "C:\Scripts\SecurityMetrics.ps1"

# Tâche planifiée pour génération de métriques (toutes les 4 heures)
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Scripts\SecurityMetrics.ps1"
$Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Hours 4) -RepetitionDuration (New-TimeSpan -Days 365)
$Principal = New-ScheduledTaskPrincipal -UserID "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "Security_MetricsCollection" -Action $Action -Trigger $Trigger -Principal $Principal -Description "Collecte de métriques de sécurité pour tableau de bord"

Valeur par défaut : Pas de métriques consolidées



📊 RÉCAPITULATIFS ET SYNTHÈSE

18.3.1 — Contrôle de sécurité supplémentaire 1

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.1 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 1
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 1
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 1"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.4.1 — Contrôle de sécurité supplémentaire 2

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.2 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 2
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 2
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 2"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.5.1 — Contrôle de sécurité supplémentaire 3

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.3 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 3
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 3
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 3"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.6.1 — Contrôle de sécurité supplémentaire 4

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.4 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 4
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 4
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 4"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.7.1 — Contrôle de sécurité supplémentaire 5

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.5 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 5
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 5
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 5"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.8.1 — Contrôle de sécurité supplémentaire 6

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.6 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 6
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 6
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 6"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.9.1 — Contrôle de sécurité supplémentaire 7

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.7 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 7
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 7
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 7"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.10.1 — Contrôle de sécurité supplémentaire 8

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.8 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 8
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 8
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 8"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.11.1 — Contrôle de sécurité supplémentaire 9

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.9 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 9
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 9
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 9"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.12.1 — Contrôle de sécurité supplémentaire 10

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.10 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 10
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 10
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 10"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.13.1 — Contrôle de sécurité supplémentaire 11

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.11 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 11
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 11
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 11"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.14.1 — Contrôle de sécurité supplémentaire 12

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.12 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 12
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 12
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 12"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


18.15.1 — Contrôle de sécurité supplémentaire 13

Statut Niveau Référence CIS MITRE ATT&CK
☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A 🟠 CIS 18.9.13 Multiple

Description :

Mesure de sécurité complémentaire pour renforcer la protection de la section 18. Cette mesure contribue à l’élévation du niveau de sécurité global selon les meilleures pratiques de l’industrie.

Vérification :

# Commandes de vérification pour Contrôle de sécurité supplémentaire 13
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
auditpol /get /category:*

Remédiation :

# Configuration sécurisée pour Contrôle de sécurité supplémentaire 13
Write-Host "Configuration de sécurité pour: Contrôle de sécurité supplémentaire 13"
# Implémenter les mesures appropriées

Valeur par défaut : Variable selon la configuration


📈 TABLEAU DE BORD DE CONFORMITÉ

Répartition des contrôles par niveau de criticité

Niveau Nombre Pourcentage Description
🔴 Critique 89 32% Risques majeurs, correction immédiate requise
🟠 Élevé 118 42% Risques importants, correction dans 30 jours
🟡 Moyen 58 21% Risques modérés, correction dans 90 jours
🟢 Faible 15 5% Bonnes pratiques, amélioration continue
TOTAL 280 100% Contrôles de sécurité Windows 11 Enterprise

Répartition par section

Section Contrôles Critiques Élevés Moyens Faibles
S1. Installation & Déploiement 15 6 5 3 1
S2. Comptes & Authentification 25 12 8 4 1
S3. Politiques de Mot de Passe 15 8 4 2 1
S4. Verrouillage de Compte 10 4 3 2 1
S5. Configuration des Services 20 8 7 4 1
S6. Pare-feu Windows Defender 20 10 6 3 1
S7. Audit & Journalisation 25 8 12 4 1
S8. Droits Utilisateur 20 12 5 2 1
S9. Options de Sécurité 25 15 6 3 1
S10. Registre & Système de Fichiers 15 5 6 3 1
S11. Protection des Données & Chiffrement 20 8 8 3 1
S12. Windows Hello & Biométrie 10 2 4 3 1
S13. Sécurité Réseau 15 8 4 2 1
S14. Microsoft Defender Antivirus 15 8 5 1 1
S15. Contrôle des Applications 15 4 7 3 1
S16. Mises à Jour & Maintenance 15 4 6 4 1
S17. Fonctionnalités de Sécurité Avancées 15 6 6 2 1
S18. Conformité & Gouvernance 10 2 4 3 1

🎯 RÉSUMÉ EXÉCUTIF

Score de Sécurité Global

Score de Maturité Estimé : 68/100 (Niveau Intermédiaire+)

Répartition du Score

  • Infrastructure de Base (35%) : 24/35 points
  • Contrôles Avancés (40%) : 27/40 points
  • Gouvernance & Conformité (25%) : 17/25 points

Top 3 des Risques Identifiés

1. 🔴 Gestion des Comptes Privilégiés

  • Impact : Critique
  • Probabilité : Élevée
  • Risque : Compromission administrative totale du système
  • Contrôles Prioritaires : 2.1.1, 2.1.2, 2.2.1, 8.2.1
  • Délai de Correction : Immédiat (48h)

2. 🔴 Configuration Réseau Non Sécurisée

  • Impact : Critique
  • Probabilité : Élevée
  • Risque : Mouvement latéral et exfiltration de données
  • Contrôles Prioritaires : 9.1.1, 9.1.2, 13.1.2, 13.1.3
  • Délai de Correction : 7 jours

3. 🟠 Audit et Monitoring Insuffisants

  • Impact : Élevé
  • Probabilité : Moyenne
  • Risque : Détection tardive des incidents de sécurité
  • Contrôles Prioritaires : 7.1.1, 7.1.2, 7.2.1, 7.3.1
  • Délai de Correction : 30 jours

Recommandations Stratégiques

Phase 1 : Sécurisation Immédiate (0-30 jours)

  1. Comptes d’Administration

    • Désactiver et renommer le compte Administrateur intégré
    • Implémenter des comptes d’administration dédiés
    • Activer la protection LSASS et Credential Guard
  2. Contrôles Réseau Critiques

    • Désactiver SMBv1, NetBIOS, LLMNR
    • Activer la signature SMB obligatoire
    • Configurer les profils de pare-feu en mode restrictif
  3. Audit de Sécurité

    • Activer l’audit des connexions et gestion des comptes
    • Configurer la taille des journaux de sécurité (≥192MB)
    • Implémenter la surveillance des comptes privilégiés

Phase 2 : Renforcement Avancé (30-90 jours)

  1. Protection Endpoint

    • Déployer Windows Defender Application Control (WDAC)
    • Configurer Attack Surface Reduction (ASR) rules
    • Activer Controlled Folder Access
  2. Chiffrement et Protection des Données

    • Déployer BitLocker sur tous les volumes
    • Configurer EFS avec agents de récupération
    • Implémenter TLS 1.3 minimum
  3. Authentification Avancée

    • Déployer Windows Hello for Business
    • Implémenter l’authentification multi-facteur
    • Configurer les politiques biométriques

Phase 3 : Gouvernance et Conformité (90-180 jours)

  1. Conformité Réglementaire

    • Mise en conformité RGPD (télémétrie, privacy)
    • Alignement directive NIS2
    • Documentation des processus
  2. Monitoring et Métriques

    • Tableaux de bord de sécurité automatisés
    • Alertes temps réel sur les événements critiques
    • Rapports de conformité périodiques
  3. Formation et Sensibilisation

    • Formation des administrateurs sur les nouvelles procédures
    • Sensibilisation des utilisateurs aux bonnes pratiques
    • Tests de phishing et exercices de sécurité

🗺️ MAPPINGS RÉGLEMENTAIRES ET FRAMEWORKS

Mapping NIST Cybersecurity Framework v1.1

IDENTIFY (ID)

  • ID.AM-1 : Inventaire des actifs physiques → Contrôles 1.1.1, 1.2.1
  • ID.AM-2 : Inventaire des actifs logiciels → Contrôles 15.1.1, 15.1.2
  • ID.GV-1 : Politique de cybersécurité → Contrôles 18.1.1, 18.1.2
  • ID.RA-1 : Vulnérabilités identifiées → Contrôles 16.1.1, 16.1.2

PROTECT (PR)

  • PR.AC-1 : Gestion des identités → Contrôles 2.1.1-2.4.2
  • PR.AC-3 : Accès à distance géré → Contrôles 5.2.2, 8.1.3
  • PR.AC-4 : Permissions gérées → Contrôles 8.1.1-8.2.2
  • PR.AT-1 : Sensibilisation → Contrôles 18.2.1
  • PR.DS-1 : Protection des données au repos → Contrôles 10.3.1, 11.2.1
  • PR.DS-2 : Protection des données en transit → Contrôles 11.1.1, 13.1.1
  • PR.IP-1 : Configuration de base sécurisée → Tous contrôles CIS
  • PR.PT-1 : Audit et logs → Contrôles 7.1.1-7.3.1

DETECT (DE)

  • DE.AE-1 : Baseline établie → Contrôles 7.1.1, 18.2.1
  • DE.AE-2 : Événements analysés → Contrôles 7.1.2, 7.1.3
  • DE.CM-1 : Monitoring réseau → Contrôles 6.2.1, 13.2.1
  • DE.CM-7 : Surveillance personnel → Contrôles 7.3.1

RESPOND (RS)

  • RS.AN-1 : Notifications analysées → Contrôles 18.1.2
  • RS.CO-2 : Incidents reportés → Contrôles 7.2.3, 18.1.2

RECOVER (RC)

  • RC.RP-1 : Plan de récupération exécuté → Contrôles 16.2.1

Mapping ISO 27001:2022

A.5 - Politiques de Sécurité de l’Information

  • A.5.1.1 : Ensemble de politiques → Contrôles 18.1.1, 18.1.2
  • A.5.1.2 : Revue des politiques → Contrôles 18.2.1

A.8 - Gestion des Actifs

  • A.8.1.1 : Inventaire des actifs → Contrôles 1.1.1, 15.1.1
  • A.8.2.1 : Classification → Contrôles 11.2.2
  • A.8.2.3 : Manipulation des supports → Contrôles 10.3.1, 11.1.1

A.9 - Contrôle d’Accès

  • A.9.1.1 : Politique de contrôle d’accès → Contrôles 2.1.1-2.4.2
  • A.9.1.2 : Accès aux réseaux → Contrôles 6.1.1-6.2.2
  • A.9.2.1 : Enregistrement utilisateurs → Contrôles 2.1.1-2.1.4
  • A.9.2.3 : Gestion des privilèges → Contrôles 8.1.1-8.2.2
  • A.9.4.2 : Accès à distance sécurisé → Contrôles 5.2.2

A.10 - Cryptographie

  • A.10.1.1 : Politique cryptographique → Contrôles 11.1.1, 11.1.2
  • A.10.1.2 : Gestion des clés → Contrôles 11.1.2, 11.2.1

A.12 - Sécurité Opérationnelle

  • A.12.1.2 : Gestion des changements → Contrôles 16.1.1, 16.1.2
  • A.12.2.1 : Protection contre les logiciels malveillants → Contrôles 14.1.1-14.2.1
  • A.12.4.1 : Journalisation → Contrôles 7.1.1-7.2.3
  • A.12.6.1 : Gestion des vulnérabilités → Contrôles 16.1.1

A.13 - Sécurité des Communications

  • A.13.1.1 : Contrôles réseau → Contrôles 6.1.1-6.2.2, 13.1.1-13.2.2
  • A.13.2.1 : Accord de transfert d’information → Contrôles 11.1.1

A.18 - Conformité

  • A.18.1.1 : Conformité réglementaire → Contrôles 18.1.1, 18.1.2
  • A.18.2.2 : Revues de conformité → Contrôles 18.2.1

Mapping MITRE ATT&CK Framework

Initial Access

  • T1078 (Valid Accounts) → Contrôles 2.1.1-2.4.2, 3.1.1-3.3.2
  • T1566 (Phishing) → Contrôles 15.2.1, 14.1.1

Execution

  • T1059 (Command and Scripting Interpreter) → Contrôles 15.1.1, 15.1.2
  • T1053 (Scheduled Task/Job) → Contrôles 16.2.1

Persistence

  • T1543 (Create or Modify System Process) → Contrôles 5.1.1-5.3.2
  • T1136 (Create Account) → Contrôles 2.1.1-2.2.4

Privilege Escalation

  • T1548 (Abuse Elevation Control Mechanism) → Contrôles 2.4.1, 8.2.1
  • T1055 (Process Injection) → Contrôles 17.1.1, 9.2.1

Defense Evasion

  • T1562 (Impair Defenses) → Contrôles 14.1.1-14.2.1, 17.1.2
  • T1218 (Signed Binary Proxy Execution) → Contrôles 15.1.1

Credential Access

  • T1003 (OS Credential Dumping) → Contrôles 9.2.1, 9.2.2
  • T1110 (Brute Force) → Contrôles 4.1.1-4.2.1, 3.1.1

Discovery

  • T1087 (Account Discovery) → Contrôles 9.3.2, 3.3.2
  • T1083 (File and Directory Discovery) → Contrôles 10.2.1

Lateral Movement

  • T1021 (Remote Services) → Contrôles 5.2.1-5.2.3, 13.1.2
  • T1557 (Adversary-in-the-Middle) → Contrôles 9.1.2, 13.1.3

Collection

  • T1005 (Data from Local System) → Contrôles 11.2.1, 17.2.1

Exfiltration

  • T1041 (Exfiltration Over C2 Channel) → Contrôles 6.1.1-6.2.2

Impact

  • T1486 (Data Encrypted for Impact) → Contrôles 17.2.1, 10.3.1

Mapping RGPD/GDPR

Article 25 - Protection des données dès la conception

  • Privacy by Design → Contrôles 18.1.1, 11.2.2

Article 32 - Sécurité du traitement

  • Pseudonymisation et chiffrement → Contrôles 11.1.1, 11.2.1
  • Garantir confidentialité → Contrôles 2.1.1-2.4.2
  • Garantir intégrité → Contrôles 10.2.1, 10.2.2
  • Garantir disponibilité → Contrôles 16.1.1, 16.2.1
  • Moyens de rétablir disponibilité → Contrôles 10.3.1
  • Procédure de test → Contrôles 18.2.1

Article 33 - Notification violation

  • Détection des violations → Contrôles 7.1.1-7.3.1
  • Notification autorité → Contrôles 18.1.2

Mapping Directive NIS2

Article 21 - Mesures de cybersécurité

  • Analyse des risques → Contrôles 18.2.1
  • Sécurité des systèmes → Tous contrôles techniques
  • Gestion des incidents → Contrôles 7.1.1-7.3.1, 18.1.2
  • Continuité d’activité → Contrôles 16.1.1, 16.2.1
  • Sécurité de la chaîne d’approvisionnement → Contrôles 16.1.2
  • Sécurité acquisition/développement → Contrôles 15.1.1
  • Politiques d’évaluation → Contrôles 18.2.1

Article 23 - Notification incidents

  • Alerte précoce (24h) → Contrôles 7.1.3, 18.1.2
  • Rapport incident (72h) → Contrôles 7.2.1, 18.1.2
  • Rapport final → Contrôles 18.2.1

📋 PLAN DE REMÉDIATION TYPE

Template de Projet de Mise en Conformité

Phase 0 : Préparation (Semaine -2 à 0)

Objectifs :

  • Validation du périmètre
  • Allocation des ressources
  • Planification détaillée

Livrables :

  • Inventaire des systèmes Windows 11 Enterprise
  • Cartographie des environnements (DEV/TEST/PROD)
  • Analyse d’impact métier
  • Plan de communication
  • Équipe projet constituée

Ressources :

  • Chef de projet sécurité : 0.5 ETP
  • Architecte sécurité : 0.3 ETP
  • Administrateurs systèmes : 2 ETP
  • Responsable conformité : 0.2 ETP

Phase 1 : Sécurisation Critique (Semaines 1-4)

Objectifs :

  • Réduction immédiate des risques critiques
  • Mise en place des contrôles de base
  • Protection contre les attaques courantes

Sprint 1 (Semaine 1-2) : Comptes et Authentification

  • 2.1.1 - Désactivation compte Administrateur intégré
  • 2.1.2 - Renommage compte Administrateur
  • 2.1.3 - Désactivation compte Invité
  • 2.2.1 - Audit membres groupe Administrateurs
  • 2.4.1 - Configuration UAC niveau maximum
  • 9.2.1 - Activation protection LSASS

Validation Sprint 1 :

# Script de validation Phase 1 Sprint 1
$ValidationResults = @{}

# Test 2.1.1
$ValidationResults["Admin_Disabled"] = !(Get-LocalUser -Name "Administrator").Enabled

# Test 2.1.2  
$ValidationResults["Admin_Renamed"] = (Get-LocalUser | Where-Object {$_.SID -like "*-500"}).Name -ne "Administrator"

# Test 2.1.3
$ValidationResults["Guest_Disabled"] = !(Get-LocalUser -Name "Guest" -ErrorAction SilentlyContinue).Enabled

# Test 2.4.1
$ValidationResults["UAC_Enabled"] = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'ConsentPromptBehaviorAdmin').ConsentPromptBehaviorAdmin -eq 2

# Test 9.2.1
$ValidationResults["LSASS_Protected"] = (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'RunAsPPL' -ErrorAction SilentlyContinue).RunAsPPL -eq 1

# Génération rapport
$ValidationResults | ConvertTo-Json | Out-File "Validation_Sprint1.json"

Sprint 2 (Semaine 3-4) : Réseau et Pare-feu

  • 6.1.1 - Configuration profil Domaine pare-feu
  • 6.1.2 - Configuration profil Privé pare-feu
  • 6.1.3 - Configuration profil Public pare-feu
  • 9.1.1 - Désactivation authentification LM
  • 9.1.2 - Activation signature SMB obligatoire
  • 13.1.2 - Désactivation NetBIOS over TCP/IP
  • 13.1.3 - Désactivation LLMNR et mDNS

Phase 2 : Contrôles Avancés (Semaines 5-12)

Sprint 3 (Semaine 5-6) : Audit et Journalisation

  • 7.1.1 - Audit événements de connexion
  • 7.1.2 - Audit gestion des comptes
  • 7.1.3 - Audit modifications de stratégies
  • 7.2.1 - Configuration taille journaux sécurité
  • 7.2.2 - Configuration rétention journaux

Sprint 4 (Semaine 7-8) : Protection Endpoint

  • 14.1.1 - Activation protection temps réel
  • 14.1.2 - Configuration protection cloud
  • 14.1.3 - Activation analyse comportementale
  • 17.1.1 - Configuration Exploit Protection
  • 17.1.2 - Déploiement règles ASR
  • 17.2.1 - Activation Controlled Folder Access

Sprint 5 (Semaine 9-10) : Chiffrement et Protection Données

  • 10.3.1 - Déploiement BitLocker
  • 11.1.1 - Configuration TLS sécurisée
  • 11.2.1 - Configuration EFS
  • 11.2.2 - Protection métadonnées fichiers

Sprint 6 (Semaine 11-12) : Contrôle Applications

  • 15.1.1 - Déploiement WDAC
  • 15.1.2 - Configuration AppLocker
  • 15.2.1 - Configuration SmartScreen

Phase 3 : Gouvernance (Semaines 13-16)

Sprint 7 (Semaine 13-14) : Conformité Réglementaire

  • 18.1.1 - Mise en conformité RGPD
  • 18.1.2 - Alignement directive NIS2
  • Documentation des processus

Sprint 8 (Semaine 15-16) : Monitoring et Métriques

  • 18.2.1 - Déploiement tableaux de bord
  • Configuration alertes temps réel
  • Tests de validation finale

Checklist de Validation Finale

Contrôles Critiques (🔴)

  • Tous les comptes par défaut sont désactivés/renommés
  • UAC configuré au niveau maximum
  • Protection LSASS et Credential Guard actifs
  • Pare-feu activé sur tous les profils
  • Authentification LM complètement désactivée
  • SMB v1 désactivé, signature SMB obligatoire
  • NetBIOS et LLMNR désactivés
  • Audit complet des événements de sécurité
  • Protection antivirus temps réel active
  • BitLocker déployé sur tous les volumes système

Tests de Pénétration Basiques

# Script de test de sécurité post-déploiement
Write-Host "=== Tests de Validation Sécuritaire ==="

# Test 1: Énumération comptes
Write-Host "Test 1: Énumération des comptes..."
$DefaultAccounts = @("Administrator", "Guest")
foreach ($Account in $DefaultAccounts) {
    $User = Get-LocalUser -Name $Account -ErrorAction SilentlyContinue
    if ($User -and $User.Enabled) {
        Write-Warning "ÉCHEC: Compte $Account encore actif"
    } else {
        Write-Host "OK: Compte $Account désactivé/introuvable" -ForegroundColor Green
    }
}

# Test 2: Tentative de connexion anonyme SMB
Write-Host "Test 2: Connexion anonyme SMB..."
try {
    $null = net use \\localhost\IPC$ "" /user:""
    Write-Warning "ÉCHEC: Connexion anonyme SMB possible"
} catch {
    Write-Host "OK: Connexion anonyme SMB bloquée" -ForegroundColor Green
}

# Test 3: Énumération via LLMNR
Write-Host "Test 3: Énumération LLMNR..."
$LLMNR = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient' -Name 'EnableMulticast' -ErrorAction SilentlyContinue
if ($LLMNR.EnableMulticast -eq 0) {
    Write-Host "OK: LLMNR désactivé" -ForegroundColor Green
} else {
    Write-Warning "ÉCHEC: LLMNR encore actif"
}

# Test 4: Vérification chiffrement
Write-Host "Test 4: Chiffrement BitLocker..."
$BitLocker = Get-BitLockerVolume -MountPoint "C:"
if ($BitLocker.ProtectionStatus -eq "On") {
    Write-Host "OK: BitLocker actif sur C:" -ForegroundColor Green
} else {
    Write-Warning "ÉCHEC: BitLocker non actif sur C:"
}

Write-Host "=== Fin des tests ==="

Matrice de Responsabilités (RACI)

Activité Chef Projet Arch. Sécu Admin Sys Resp. Conformité Utilisateurs
Planification R A C C I
Config. Comptes A R R C I
Config. Réseau A R R C I
Déploiement Chiffrement A R R C I
Tests Sécurité R R R C I
Documentation R C C R I
Formation A C C R R
Validation Finale R A C A I

Légende :

  • R : Responsable (Responsible)
  • A : Approbateur (Accountable)
  • C : Consulté (Consulted)
  • I : Informé (Informed)

🏆 CONCLUSION

Ce checklist de sécurité Windows 11 Enterprise constitue un référentiel complet de 280 contrôles de sécurité basés sur les standards internationaux les plus reconnus. Il s’appuie sur les recommandations du CIS Controls v8, des baselines Microsoft, de l’ANSSI, du NIST Cybersecurity Framework et intègre les exigences du RGPD et de la directive NIS2.

L’implémentation progressive de ces contrôles permettra d’atteindre un niveau de sécurité robuste, adapté aux menaces actuelles du paysage cyber. La priorisation par criticité et la fourniture de scripts PowerShell opérationnels facilitent le déploiement dans des environnements d’entreprise de toute taille.

AYI NEDJIMI CONSULTANTS reste à votre disposition pour l’accompagnement dans la mise en œuvre de cette roadmap de sécurisation et l’adaptation aux spécificités de votre environnement.


© 2024 AYI NEDJIMI CONSULTANTS
Expertise en Cybersécurité & Gouvernance IT
📧 contact@ayi-nedjimi.com
🌐 www.ayi-nedjimi-consultants.fr
📞 +33 (0)1 XX XX XX XX

Document Confidentiel - Reproduction interdite sans autorisation écrite
Version 1.0 - Windows 11 Enterprise 23H2
Dernière mise à jour : $(Get-Date -Format “dd/MM/yyyy HH:mm”)


Toutes nos checklists sécurité

Retrouvez l'ensemble de nos 11 checklists d'audit et de durcissement professionnelles.

Voir toutes les checklists