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é Active Directory 2025

Audit complet AD : Kerberos, NTLM, GPO, délégation, tiering, AdminSDHolder, certificats ADCS et détection Golden/Silver Ticket.

28 sections 106 contrôles 32085 mots PDF + Excel

Cette checklist couvre l'intégralité de la sécurisation d'Active Directory : architecture tiering, comptes à privilèges, Kerberos, NTLM, GPO, délégation, ADCS, AdminSDHolder et détection des attaques Golden/Silver Ticket. Inclut les commandes PowerShell de vérification et les seuils critiques pour chaque contrôle.

📑 Table des matières

CHECKLIST SÉCURITÉ ACTIVE DIRECTORY 2025

🛡️ AYI NEDJIMI CONSULTANTS (ANC)

Version : 1.0
Date : 2026-04-04
Classification : CONFIDENTIEL
Auteur : ANC Security Team


📋 Légende d’Évaluation

Symbole Statut Description
Conforme Le contrôle est correctement implémenté
Non-Conforme Le contrôle n’est pas implémenté ou défaillant
⚠️ Partiel Le contrôle est partiellement implémenté
N/A Non Applicable Le contrôle ne s’applique pas à cet environnement

Niveaux de Criticité

Niveau Icône Description Priorité
Critique 🔴 Risque immédiat de compromission totale P0 - Immédiat
Élevé 🟠 Risque élevé d’élévation de privilèges P1 - < 7 jours
Moyen 🟡 Risque modéré d’exposition P2 - < 30 jours
Faible 🟢 Bonnes pratiques et hardening P3 - < 90 jours

⚡ Mode Découverte Rapide — 15 Questions Clés

Évaluation rapide des risques critiques en 15 minutes

Q1. Comptes à privilèges administrateurs

# Nombre de Domain Admins
(Get-ADGroupMember "Domain Admins").Count
# Nombre d'Enterprise Admins
(Get-ADGroupMember "Enterprise Admins").Count

Seuil critique : >5 Domain Admins ou >2 Enterprise Admins
Évaluation : ✅ ❌ ⚠️ N/A

Q2. Rotation du compte KRBTGT

Get-ADUser krbtgt -Properties PasswordLastSet

Seuil critique : >180 jours sans rotation
Évaluation : ✅ ❌ ⚠️ N/A

Q3. Comptes Kerberoastables

Get-ADUser -Filter {ServicePrincipalName -like "*"} -Properties ServicePrincipalName,PasswordLastSet

Seuil critique : >10 comptes ou mots de passe >1 an
Évaluation : ✅ ❌ ⚠️ N/A

Q4. AdminSDHolder et SDProp

Get-ADObject -SearchBase "CN=AdminSDHolder,CN=System,DC=domain,DC=com" -Properties nTSecurityDescriptor

Seuil critique : ACL modifiées ou SDProp désactivé
Évaluation : ✅ ❌ ⚠️ N/A

Q5. Restriction NTLM

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LmCompatibilityLevel

Seuil critique : <5 (NTLM autorisé)
Évaluation : ✅ ❌ ⚠️ N/A

Q6. LDAP Signing et Channel Binding

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity"

Seuil critique : <2 (signing non requis)
Évaluation : ✅ ❌ ⚠️ N/A

Q7. Délégation Kerberos non contrainte

Get-ADComputer -Filter {TrustedForDelegation -eq $true}
Get-ADUser -Filter {TrustedForDelegation -eq $true}

Seuil critique : >0 objets (hors DCs)
Évaluation : ✅ ❌ ⚠️ N/A

Q8. Niveau fonctionnel AD

Get-ADDomain | Select DomainMode
Get-ADForest | Select ForestMode

Seuil critique : <Windows2019
Évaluation : ✅ ❌ ⚠️ N/A

Q9. Comptes avec pré-authentification désactivée

Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true}

Seuil critique : >0 comptes
Évaluation : ✅ ❌ ⚠️ N/A

Q10. GPO avec permissions dangereuses

Get-GPPermission -All | Where-Object {$_.Permission -eq "GpoEditDeleteModifySecurity" -and $_.Trustee -notlike "*Admins"}

Seuil critique : >0 permissions non-admin
Évaluation : ✅ ❌ ⚠️ N/A

Q11. Trusts inter-forêts

Get-ADTrust -Filter *

Seuil critique : Trusts bidirectionnels non justifiés
Évaluation : ✅ ❌ ⚠️ N/A

Q12. Sites AD sans DC

Get-ADReplicationSite | Where-Object {-not (Get-ADDomainController -Filter {Site -eq $_.Name})}

Seuil critique : >0 sites orphelins
Évaluation : ✅ ❌ ⚠️ N/A

Q13. Certificats AD CS dangereux

certutil -CATemplates | findstr "ENROLLEE_SUPPLIES_SUBJECT"

Seuil critique : Templates ESC1 actifs
Évaluation : ✅ ❌ ⚠️ N/A

Q14. Audit de sécurité activé

auditpol /get /category:"Account Logon"

Seuil critique : <50% events auditées
Évaluation : ✅ ❌ ⚠️ N/A

Q15. Score PingCastle global

PingCastle.exe --healthcheck --server domain.com

Seuil critique : >50 (risque élevé)
Évaluation : ✅ ❌ ⚠️ N/A


📊 Informations Client

Champ Valeur Notes
Organisation [À compléter]
Domaine principal [À compléter]
Niveau de forêt [À compléter]
Niveau de domaine [À compléter]
Nombre de DC [À compléter]
Nombre d’utilisateurs [À compléter]
Nombre de sites AD [À compléter]
Score PingCastle [À compléter] 0-25: Excellent, 26-50: Bon, 51-75: Moyen, >75: Critique

🏗️ SECTION 1 — ARCHITECTURE & TIERING (~25 contrôles)

1.1.1 — Modèle d’accès Enterprise (Tiering Model)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-001 / PingCastle A-Tier
MITRE ATT&CK : T1078

Description : Le modèle de tiering Microsoft sépare l’infrastructure en 3 niveaux (Tier 0: AD/DC, Tier 1: Serveurs, Tier 2: Workstations) pour limiter les mouvements latéraux. L’absence de séparation permet l’élévation de privilèges entre niveaux.

Vérification :

# Vérifier l'existence des OUs de tiering
Get-ADOrganizationalUnit -Filter "Name -like '*Tier*'" | Select Name,DistinguishedName
# Vérifier les GPO de tiering
Get-GPO -All | Where-Object {$_.DisplayName -like "*Tier*"}
# Comptes dans les groupes privilégiés par tier
Get-ADGroupMember "Tier 0 Admins" -Recursive

Remédiation :

  1. Créer la structure OU Tiering
  2. Implémenter les GPO de restriction par tier
  3. Migrer les comptes selon le modèle

Valeur par défaut : Aucun tiering implémenté

1.1.2 — Niveau fonctionnel de forêt minimum

Niveau : 🟡
Référence CIS : 2.2.1 / ANSSI-AD-002
MITRE ATT&CK : T1484

Description : Le niveau fonctionnel détermine les fonctionnalités AD disponibles. Windows Server 2019+ apporte des améliorations de sécurité importantes comme l’authentification Kerberos AES256 par défaut.

Vérification :

Get-ADForest | Select Name,ForestMode
Get-ADDomain | Select Name,DomainMode

Remédiation :

  1. Upgrader tous les DC vers WS2019+
  2. Élever le niveau fonctionnel : Set-ADForestMode -Identity forest.com -ForestMode Windows2019Forest

Valeur par défaut : Windows2019Forest recommandé

1.1.3 — Architecture sites et sous-réseaux

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-003
MITRE ATT&CK : T1018

Description : Une architecture sites incorrecte peut causer des problèmes de réplication, d’authentification et faciliter la reconnaissance réseau pour un attaquant.

Vérification :

Get-ADReplicationSite | Select Name,Description
Get-ADReplicationSubnet | Select Name,Site,Location
Get-ADReplicationSiteLink | Select Name,Cost,ReplicationFrequencyInMinutes

Remédiation :

  1. Créer des sites correspondant à la topologie réseau
  2. Associer les sous-réseaux aux sites appropriés
  3. Configurer les liens de sites avec des coûts adéquats

Valeur par défaut : Site par défaut uniquement

1.1.4 — Séparation des rôles FSMO

Niveau : 🟠
Référence CIS : 2.2.2 / ANSSI-AD-004 / PingCastle S-DC-Fsmo
MITRE ATT&CK : T1484

Description : Les rôles FSMO centralisés sur un seul DC créent un point de défaillance unique. La dispersion améliore la disponibilité et limite l’impact d’une compromission.

Vérification :

# Vérifier les détenteurs de rôles FSMO
Get-ADForest | Select SchemaMaster,DomainNamingMaster
Get-ADDomain | Select PDCEmulator,RIDMaster,InfrastructureMaster
netdom query fsmo

Remédiation :

  1. Séparer les rôles sur des DC différents
  2. Documenter les détenteurs de rôles
  3. Tester les procédures de transfert/saisie

Valeur par défaut : Tous rôles sur le premier DC

1.1.5 — Configuration des trusts inter-domaines

Niveau : 🔴
Référence CIS : 1.1.1 / ANSSI-AD-005 / PingCastle T-TrustDirection
MITRE ATT&CK : T1482

Description : Les trusts bidirectionnels permettent l’authentification et l’accès aux ressources entre domaines/forêts. Mal configurés, ils exposent à des attaques de type Golden Ticket inter-domaines.

Vérification :

Get-ADTrust -Filter * | Select Name,Direction,TrustType,SelectiveAuthentication,SIDFilteringEnabled
# Vérifier les SID History dangereux
Get-ADUser -Filter * -Properties SIDHistory | Where-Object {$_.SIDHistory}

Remédiation :

  1. Activer SID Filtering sur tous les trusts externes
  2. Implémenter Selective Authentication
  3. Auditer et nettoyer les SID History

Valeur par défaut : SID Filtering désactivé sur trusts internes

1.1.6 — Contrôle des connexions clients LDAP

Niveau : 🟠
Référence CIS : 2.3.7.4 / ANSSI-AD-006
MITRE ATT&CK : T1041

Description : Les connexions LDAP non sécurisées permettent l’interception des credentials et des requêtes. LDAPS et LDAP Signing doivent être imposés.

Vérification :

# Vérifier les paramètres LDAP sur DC
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LdapEnforceChannelBinding"

Remédiation :

  1. Set LDAPServerIntegrity = 2 (required signing)
  2. Set LdapEnforceChannelBinding = 2 (always)
  3. Configurer certificats LDAPS

Valeur par défaut : LDAPServerIntegrity = 1 (négocié)

1.1.7 — Isolation des contrôleurs de domaine

Niveau : 🟠
Référence CIS : 2.3.1.4 / ANSSI-AD-007
MITRE ATT&CK : T1210

Description : Les DC doivent être isolés dans des VLANs dédiés avec des règles firewall strictes. L’exposition directe facilite les attaques DCSync et DCShadow.

Vérification :

# Vérifier les interfaces réseau des DC
Get-NetAdapter | Select Name,InterfaceDescription,Status
Get-NetFirewallRule -DisplayGroup "Active Directory Domain Services" | Select DisplayName,Enabled,Action

Remédiation :

  1. Placer les DC dans un VLAN dédié
  2. Configurer des règles firewall strictes
  3. Surveiller le trafic réseau des DC

Valeur par défaut : Aucune isolation réseau

1.1.8 — Contrôle des ports et services DC

Niveau : 🟡
Référence CIS : 5.1 / ANSSI-AD-008
MITRE ATT&CK : T1046

Description : Les DC exposent de nombreux services réseau. Seuls les ports nécessaires doivent être ouverts pour limiter la surface d’attaque.

Vérification :

# Ports ouverts sur le DC
Get-NetTCPConnection -State Listen | Select LocalAddress,LocalPort,OwningProcess
Get-Service | Where-Object {$_.Status -eq "Running" -and $_.Name -like "*AD*"}

Remédiation :

  1. Désactiver les services non nécessaires
  2. Configurer le firewall Windows
  3. Auditer régulièrement les ports ouverts

Valeur par défaut : Nombreux services/ports ouverts

1.1.9 — Redondance et haute disponibilité

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-009
MITRE ATT&CK : T1489

Description : Un nombre insuffisant de DC par site peut causer des interruptions de service. La recommandation est minimum 2 DC par site critique.

Vérification :

# Nombre de DC par site
Get-ADDomainController | Group-Object Site | Select Name,Count
# État de réplication entre DC
Get-ADReplicationFailure -Target * -Scope Domain

Remédiation :

  1. Déployer minimum 2 DC par site critique
  2. Vérifier la santé de réplication
  3. Tester les procédures de basculement

Valeur par défaut : Souvent un seul DC par site

1.1.10 — Contrôle des objets GPO orphelins

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-010 / PingCastle A-PreWin2000
MITRE ATT&CK : T1484.001

Description : Les GPO non liées ou avec des permissions incorrectes peuvent être exploitées pour l’élévation de privilèges ou la persistence.

Vérification :

# GPO non liées
Get-GPO -All | Where-Object {(Get-GPOReport -Guid $_.Id -ReportType XML) -notmatch "LinksTo"}
# Permissions GPO dangereuses
Get-GPPermission -All | Where-Object {$_.Permission -match "Edit" -and $_.Trustee -notlike "*Admin*"}

Remédiation :

  1. Supprimer les GPO orphelines
  2. Auditer les permissions GPO
  3. Implémenter des processus de gouvernance GPO

Valeur par défaut : GPO orphelines présentes

1.1.11 — Gestion des comptes de service intégrés

Niveau : 🟠
Référence CIS : 2.3.1.1 / ANSSI-AD-011
MITRE ATT&CK : T1078.002

Description : Les comptes built-in comme Administrator, Guest, krbtgt doivent être sécurisés. Le compte Guest doit être désactivé, Administrator renommé.

Vérification :

Get-ADUser Administrator -Properties Enabled,PasswordLastSet,BadLogonCount
Get-ADUser Guest -Properties Enabled
Get-ADUser krbtgt -Properties PasswordLastSet,AccountNotDelegated

Remédiation :

  1. Désactiver le compte Guest
  2. Renommer le compte Administrator
  3. Définir AccountNotDelegated sur krbtgt

Valeur par défaut : Comptes avec noms par défaut

1.1.12 — Contrôle du catalogue global

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-012
MITRE ATT&CK : T1018

Description : Le catalogue global contient des informations sur tous les objets de la forêt. Un nombre insuffisant de serveurs GC peut impacter les performances d’authentification.

Vérification :

# Serveurs de catalogue global
Get-ADDomainController -Filter * | Select Name,Site,IsGlobalCatalog
# Vérifier la réplication du GC
Get-ADReplicationConnection -Filter * | Where-Object {$_.ReplicatedNamingContexts -like "*3268*"}

Remédiation :

  1. Configurer au moins un GC par site principal
  2. Vérifier la réplication GC
  3. Monitorer les performances d’authentification

Valeur par défaut : GC sur tous les DC en single-domain

1.1.13 — Protection contre DCShadow

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-013 / PingCastle A-DCShadow
MITRE ATT&CK : T1207

Description : L’attaque DCShadow permet à un attaquant de s’enregistrer comme DC temporaire pour injecter des changements dans AD. La détection nécessite un monitoring spécifique.

Vérification :

# Vérifier les enregistrements SPN suspects
Get-ADUser -Filter * -Properties ServicePrincipalNames | Where-Object {$_.ServicePrincipalNames -like "*GC/*" -or $_.ServicePrincipalNames -like "*ldap/*"}
Get-ADComputer -Filter * -Properties ServicePrincipalNames | Where-Object {$_.ServicePrincipalNames -like "*GC/*"}

Remédiation :

  1. Monitorer les créations de SPN DC
  2. Restreindre les permissions ms-DS-MachineAccountQuota
  3. Alerter sur les nouveaux objets DC

Valeur par défaut : Aucune protection spécifique

1.1.14 — Configuration des UPN alternatives

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-014
MITRE ATT&CK : T1078

Description : Les UPN suffixes alternatifs peuvent faciliter les attaques par confusion d’identité. Seuls les suffixes légitimes doivent être configurés.

Vérification :

# Suffixes UPN configurés
Get-ADForest | Select UPNSuffixes
# Utilisateurs avec UPN non-standard
Get-ADUser -Filter * -Properties UserPrincipalName | Where-Object {$_.UserPrincipalName -notlike "*@domain.com"}

Remédiation :

  1. Auditer tous les suffixes UPN
  2. Supprimer les suffixes non utilisés
  3. Standardiser les UPN utilisateurs

Valeur par défaut : Suffixe de domaine uniquement

1.1.15 — Contrôle des liens de sites coûteux

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-015
MITRE ATT&CK : T1018

Description : Des coûts de liens incorrects peuvent causer une réplication excessive ou insuffisante, impactant les performances et la cohérence AD.

Vérification :

# Liens de sites et coûts
Get-ADReplicationSiteLink | Select Name,Cost,ReplicationFrequencyInMinutes,Sites
# Connexions de réplication générées
Get-ADReplicationConnection -Filter * | Select Name,ReplicatedNamingContexts,FromServer,ToServer

Remédiation :

  1. Ajuster les coûts selon la bande passante
  2. Optimiser la fréquence de réplication
  3. Surveiller la charge de réplication

Valeur par défaut : Coût 100 pour DEFAULTIPSITELINK

1.1.16 — Validation de la cohérence DNS

Niveau : 🟠
Référence CIS : 2.3.7.1 / ANSSI-AD-016
MITRE ATT&CK : T1071.004

Description : Les enregistrements DNS AD incorrects peuvent causer des problèmes d’authentification et faciliter les attaques de redirection.

Vérification :

# Enregistrements SRV critiques
nslookup -type=SRV _ldap._tcp.domain.com
nslookup -type=SRV _kerberos._tcp.domain.com
# Vérifier la cohérence DNS sur tous les DC
dcdiag /test:dns /v

Remédiation :

  1. Corriger les enregistrements SRV manquants
  2. Vérifier la résolution DNS sur tous les DC
  3. Configurer des forwarders DNS redondants

Valeur par défaut : Enregistrements automatiques

1.1.17 — Contrôle des quotas d’objets AD

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-017
MITRE ATT&CK : T1484

Description : Les quotas AD limitent le nombre d’objets qu’un principal peut créer, prévenant les attaques DoS et l’abus de privilèges.

Vérification :

# Quotas définis
Get-ADObject -SearchBase "CN=NTDS Quotas,CN=NTDS Settings,CN=Configuration,DC=domain,DC=com" -Filter *
# Utilisation actuelle par principal
dsquery * -filter "(&(objectClass=user)(objectCategory=person))" -attr distinguishedName,msDS-QuotaUsed

Remédiation :

  1. Définir des quotas appropriés par type d’utilisateur
  2. Monitorer l’utilisation des quotas
  3. Alerter sur les dépassements

Valeur par défaut : Quotas illimités pour tous

1.1.18 — Architecture multi-forêt

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-018
MITRE ATT&CK : T1482

Description : Dans les environnements multi-forêts, l’isolation de sécurité entre forêts doit être maintenue. Les trusts doivent suivre le principe du moindre privilège.

Vérification :

# Trusts de forêt
Get-ADTrust -Filter "TrustType -eq 'Forest'" | Select Name,Direction,SelectiveAuthentication,SIDFilteringEnabled
# Comptes avec privilèges inter-forêts
Get-ADGroupMember "Enterprise Admins" -Server rootdomain.com

Remédiation :

  1. Limiter les trusts au strict nécessaire
  2. Activer Selective Authentication
  3. Éviter les comptes privilégiés inter-forêts

Valeur par défaut : Configuration permissive

1.1.19 — Contrôle des objets protégés AdminSDHolder

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-019 / PingCastle A-AdminSDHolder
MITRE ATT&CK : T1484.001

Description : AdminSDHolder protège les comptes privilégiés en réinitialisant leurs ACL toutes les heures. Les modifications non autorisées peuvent compromettre cette protection.

Vérification :

# État d'AdminSDHolder
Get-ADObject -Identity "CN=AdminSDHolder,CN=System,DC=domain,DC=com" -Properties nTSecurityDescriptor,Description
# Comptes avec adminCount=1
Get-ADUser -Filter {adminCount -eq 1} -Properties adminCount,memberOf | Select Name,adminCount,memberOf

Remédiation :

  1. Restaurer les ACL d’AdminSDHolder par défaut
  2. Vérifier que SDProp fonctionne (service Protected Storage)
  3. Auditer les comptes avec adminCount orphelins

Valeur par défaut : ACL par défaut intactes

1.1.20 — Surveillance des modifications de schéma

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-020 / PingCastle A-SchemaClass
MITRE ATT&CK : T1484

Description : Les modifications de schéma AD sont permanentes et peuvent introduire des vulnérabilités. Elles doivent être strictement contrôlées et auditées.

Vérification :

# Versions de schéma
Get-ADObject -Identity "CN=Schema,CN=Configuration,DC=domain,DC=com" -Properties objectVersion,whenChanged
# Membres du groupe Schema Admins
Get-ADGroupMember "Schema Admins"

Remédiation :

  1. Vider le groupe Schema Admins
  2. Activer l’audit des modifications de schéma
  3. Documenter toutes les extensions de schéma

Valeur par défaut : Groupe Schema Admins vide

1.1.21 — Contrôle des permissions sur les conteneurs système

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-021
MITRE ATT&CK : T1484.001

Description : Les conteneurs système AD (System, Configuration, Schema) contiennent des objets critiques. Leurs permissions doivent être strictement contrôlées.

Vérification :

# Permissions sur les conteneurs critiques
dsacls "CN=System,DC=domain,DC=com"
dsacls "CN=Configuration,DC=domain,DC=com"
dsacls "CN=Schema,CN=Configuration,DC=domain,DC=com"

Remédiation :

  1. Supprimer les permissions non-standards
  2. Limiter les accès aux groupes système
  3. Auditer régulièrement les permissions

Valeur par défaut : Permissions restrictives par défaut

1.1.22 — Configuration des sites Read-Only DC (RODC)

Niveau : 🟡
Référence CIS : 2.3.1.6 / ANSSI-AD-022
MITRE ATT&CK : T1078

Description : Les RODC dans des sites distants réduisent les risques de compromission. Les Password Replication Policy doivent être configurées selon le principe du moindre privilège.

Vérification :

# RODC configurés
Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name,Site,IsReadOnly
# Password Replication Policy
Get-ADAccountResultantPasswordReplicationPolicy -Identity username -DomainController RODCname

Remédiation :

  1. Déployer des RODC dans les sites à risque
  2. Configurer des PRP restrictives
  3. Monitorer les tentatives de réplication de mots de passe

Valeur par défaut : Pas de RODC configurés

1.1.23 — Contrôle des objets Computer orphelins

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-023 / PingCastle S-C-Oldcomputer
MITRE ATT&CK : T1078.002

Description : Les comptes ordinateur obsolètes augmentent la surface d’attaque. Ils doivent être régulièrement nettoyés.

Vérification :

# Ordinateurs non connectés depuis 90+ jours
$date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {LastLogonTimeStamp -lt $date -and OperatingSystem -like "*"} -Properties LastLogonTimeStamp,OperatingSystem

Remédiation :

  1. Identifier les ordinateurs obsolètes
  2. Désactiver puis supprimer après validation
  3. Automatiser le nettoyage avec des scripts

Valeur par défaut : Pas de nettoyage automatique

1.1.24 — Validation de la topologie de réplication

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-024
MITRE ATT&CK : T1018

Description : Une topologie de réplication optimale assure la convergence rapide des changements tout en minimisant le trafic réseau.

Vérification :

# Connexions de réplication
Get-ADReplicationConnection -Filter * | Select Name,AutoGenerated,FromServer,ToServer,ReplicatedNamingContexts
# Analyse de la topologie
repadmin /showrepl /csv > replication-status.csv

Remédiation :

  1. Optimiser les connexions automatiques KCC
  2. Créer des connexions manuelles si nécessaire
  3. Surveiller la latence de réplication

Valeur par défaut : Topologie générée automatiquement par KCC

1.1.25 — Contrôle des attributs sensibles non répliqués

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-025
MITRE ATT&CK : T1003.006

Description : Certains attributs sensibles ne doivent pas être répliqués vers les RODC pour limiter l’exposition en cas de compromission.

Vérification :

# Attributs dans Filtered Attribute Set (FAS)
Get-ADObject -SearchBase "CN=Schema,CN=Configuration,DC=domain,DC=com" -Filter {searchFlags -band 512} | Select Name,lDAPDisplayName

Remédiation :

  1. Identifier les attributs sensibles métier
  2. Les ajouter au Filtered Attribute Set si nécessaire
  3. Tester l’impact sur les applications

Valeur par défaut : FAS contient attributs système sensibles

👑 SECTION 2 — COMPTES PRIVILÉGIÉS (~35 contrôles)

2.1.1 — Limitation des membres Domain Admins

Niveau : 🔴
Référence CIS : 2.2.3 / ANSSI-AD-026 / PingCastle P-Privileged
MITRE ATT&CK : T1078.002

Description : Le groupe Domain Admins a un contrôle total sur le domaine. Le nombre de membres doit être minimal (<5) et chaque ajout justifié et temporaire.

Vérification :

# Membres Domain Admins
Get-ADGroupMember "Domain Admins" -Recursive | Select Name,SamAccountName,objectClass,LastLogonDate
# Historique des modifications
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4728,4729} | Where-Object {$_.Message -like "*Domain Admins*"}

Remédiation :

  1. Limiter à maximum 5 membres permanents
  2. Utiliser des comptes dédiés (pas de comptes utilisateur normaux)
  3. Implémenter JIT pour les accès temporaires

Valeur par défaut : Administrateur et parfois Administrateurs du domaine

2.1.2 — Sécurisation du groupe Enterprise Admins

Niveau : 🔴
Référence CIS : 2.2.4 / ANSSI-AD-027 / PingCastle P-EnterpriseAdmin
MITRE ATT&CK : T1078.002

Description : Enterprise Admins contrôle toute la forêt. Ce groupe doit être vide sauf pendant les opérations de maintenance critique de la forêt.

Vérification :

# Membres Enterprise Admins
Get-ADGroupMember "Enterprise Admins" -Server (Get-ADForest).RootDomain | Select Name,SamAccountName,LastLogonDate
# Vérifier dans tous les domaines enfants
Get-ADTrust -Filter * | ForEach-Object {Get-ADGroupMember "Enterprise Admins" -Server $_.Target}

Remédiation :

  1. Vider complètement le groupe
  2. Ajouter temporairement seulement pour les opérations forêt
  3. Alerter sur toute modification

Valeur par défaut : Administrateur du domaine racine

2.1.3 — Contrôle du groupe Schema Admins

Niveau : 🟠
Référence CIS : 2.2.5 / ANSSI-AD-028 / PingCastle P-SchemaAdmin
MITRE ATT&CK : T1078.002

Description : Schema Admins peut modifier le schéma AD de façon permanente et irréversible. Le groupe doit être vide sauf pendant les extensions de schéma planifiées.

Vérification :

# Membres Schema Admins
Get-ADGroupMember "Schema Admins" -Server (Get-ADForest).RootDomain
# Historique des modifications de schéma
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=1137}

Remédiation :

  1. Vider complètement le groupe
  2. Ajouter temporairement uniquement pour extensions planifiées
  3. Documenter toutes les modifications de schéma

Valeur par défaut : Administrateur du domaine racine

2.1.4 — Audit des comptes de service privilégiés

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-029 / PingCastle P-ServiceAccount
MITRE ATT&CK : T1078.003

Description : Les comptes de service avec des privilèges élevés sont des cibles d’attaque privilégiées. Ils doivent utiliser des mots de passe complexes et être régulièrement rotés.

Vérification :

# Comptes de service dans groupes privilégiés
Get-ADUser -Filter {(memberOf -like "*Domain Admins*") -or (memberOf -like "*Enterprise Admins*") -or (ServicePrincipalName -like "*")} -Properties ServicePrincipalName,memberOf,PasswordLastSet

Remédiation :

  1. Migrer vers des Group Managed Service Accounts (gMSA)
  2. Retirer les privilèges excessifs
  3. Implémenter la rotation automatique des mots de passe

Valeur par défaut : Comptes de service souvent sur-privilégiés

2.1.5 — Configuration des Group Managed Service Accounts (gMSA)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-030
MITRE ATT&CK : T1003.002

Description : Les gMSA automatisent la gestion des mots de passe de comptes de service et éliminent les risques liés aux mots de passe partagés ou obsolètes.

Vérification :

# gMSA configurés
Get-ADServiceAccount -Filter * | Select Name,Enabled,PrincipalsAllowedToRetrieveManagedPassword
# Services utilisant encore des comptes utilisateur classiques
Get-Service | Where-Object {$_.StartName -like "*\*" -and $_.StartName -notlike "*$"}

Remédiation :

  1. Créer des gMSA pour tous les services critiques
  2. Migrer les services existants vers gMSA
  3. Désactiver les anciens comptes de service

Valeur par défaut : Comptes de service manuels

2.1.6 — Protection du compte KRBTGT

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-031 / PingCastle P-Krbtgt
MITRE ATT&CK : T1558.001

Description : Le compte KRBTGT chiffre les tickets Kerberos. Son compromission permet la création de Golden Tickets. Le mot de passe doit être roté régulièrement.

Vérification :

Get-ADUser krbtgt -Properties PasswordLastSet,AccountNotDelegated,msDS-SupportedEncryptionTypes
# Vérifier la rotation récente (>180 jours = critique)
$krbtgt = Get-ADUser krbtgt -Properties PasswordLastSet
(Get-Date) - $krbtgt.PasswordLastSet

Remédiation :

  1. Programmer une rotation semestrielle du KRBTGT
  2. Utiliser l’outil Microsoft New-KrbtgtKeys.ps1
  3. Coordonner avec tous les DC de la forêt

Valeur par défaut : Jamais changé depuis création domaine

2.1.7 — Comptes avec délégation Kerberos non contrainte

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-032 / PingCastle P-UnconstrainedDelegation
MITRE ATT&CK : T1558.003

Description : La délégation non contrainte permet à un service d’emprunter l’identité de n’importe quel utilisateur vers n’importe quel service. Très dangereux pour l’élévation de privilèges.

Vérification :

# Comptes avec délégation non contrainte (hors DCs)
Get-ADUser -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation,ServicePrincipalName
Get-ADComputer -Filter {TrustedForDelegation -eq $true -and PrimaryGroupID -ne 516} -Properties TrustedForDelegation,ServicePrincipalName

Remédiation :

  1. Migrer vers délégation contrainte ou RBCD
  2. Désactiver la délégation non contrainte sur tous les objets non-DC
  3. Surveiller les nouvelles configurations

Valeur par défaut : Potentiellement présente sur comptes de service

2.1.8 — Audit des comptes avec SPN (Kerberoasting)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-033 / PingCastle P-Kerberoasting
MITRE ATT&CK : T1558.003

Description : Les comptes utilisateur avec SPN sont vulnérables au Kerberoasting. Ils doivent avoir des mots de passe très complexes ou migrer vers gMSA.

Vérification :

# Utilisateurs avec SPN (cibles Kerberoasting)
Get-ADUser -Filter {ServicePrincipalName -like "*"} -Properties ServicePrincipalName,PasswordLastSet,AdminCount | 
Select Name,ServicePrincipalName,PasswordLastSet,AdminCount

Remédiation :

  1. Utiliser des mots de passe >25 caractères pour comptes SPN
  2. Migrer vers gMSA quand possible
  3. Surveiller les demandes TGS suspectes (Event 4769)

Valeur par défaut : Mots de passe souvent faibles sur comptes SPN

2.1.9 — Contrôle des comptes dormants privilégiés

Niveau : 🟠
Référence CIS : 2.3.1.3 / ANSSI-AD-034 / PingCastle S-PwdNeverExpires
MITRE ATT&CK : T1078.002

Description : Les comptes privilégiés inactifs représentent un risque car ils peuvent avoir conservé des accès élevés sans supervision récente.

Vérification :

# Comptes privilégiés non connectés >90 jours
$date = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonTimeStamp -lt $date -and adminCount -eq 1} -Properties LastLogonTimeStamp,memberOf,PasswordLastSet

Remédiation :

  1. Désactiver les comptes inactifs >90 jours
  2. Supprimer après validation métier
  3. Implémenter un processus de revue trimestrielle

Valeur par défaut : Pas de nettoyage automatique

2.1.10 — Configuration des Privileged Access Workstations (PAW)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-035
MITRE ATT&CK : T1078.002

Description : Les comptes privilégiés doivent uniquement être utilisés depuis des postes dédiés et durcis (PAW) pour éviter la compromission par des malwares.

Vérification :

# Connexions admin depuis postes non-PAW
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Message -like "*Domain Admins*" -and $_.Properties[5].Value -ne "PAW-*"}

Remédiation :

  1. Déployer des PAW pour tous les administrateurs Tier 0/1
  2. Bloquer les connexions admin depuis postes standard
  3. Implémenter Credential Guard sur les PAW

Valeur par défaut : Pas de PAW déployées

2.1.11 — Just-in-Time (JIT) Administration

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-036
MITRE ATT&CK : T1078.002

Description : Les privilèges élevés doivent être accordés temporairement uniquement quand nécessaire, réduisant la fenêtre d’exposition aux attaques.

Vérification :

# Comptes avec privilèges permanents
Get-ADGroupMember "Domain Admins" | Where-Object {$_.Name -notlike "*JIT*"}
# Solutions JIT déployées (PIM, PAM, etc.)
Get-Service | Where-Object {$_.Name -like "*PIM*" -or $_.Name -like "*PAM*"}

Remédiation :

  1. Implémenter Azure AD PIM ou solution tierce
  2. Convertir les accès permanents en temporaires
  3. Auditer toutes les élévations de privilèges

Valeur par défaut : Privilèges accordés en permanence

2.1.12 — Contrôle des permissions AdminSDHolder

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-037 / PingCastle A-AdminSDHolder
MITRE ATT&CK : T1484.001

Description : AdminSDHolder protège les objets privilégiés. Ses ACL sont propagées toutes les heures vers les comptes protégés. Toute modification peut compromettre la sécurité.

Vérification :

# ACL AdminSDHolder
$adminSDHolder = "CN=AdminSDHolder,CN=System,DC=domain,DC=com"
(Get-ACL "AD:\$adminSDHolder").Access | Where-Object {$_.IdentityReference -notlike "*NT AUTHORITY*" -and $_.IdentityReference -notlike "*BUILTIN*"}

Remédiation :

  1. Restaurer les ACL par défaut d’AdminSDHolder
  2. Surveiller les modifications (Event 5136)
  3. Vérifier que SDProp fonctionne correctement

Valeur par défaut : ACL restrictives par défaut

2.1.13 — Protection contre AS-REP Roasting

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-038 / PingCastle P-PreAuthNotRequired
MITRE ATT&CK : T1558.004

Description : Les comptes avec pré-authentification Kerberos désactivée sont vulnérables à l’AS-REP Roasting, permettant de craquer les mots de passe hors-ligne.

Vérification :

# Comptes sans pré-authentification requise
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties DoesNotRequirePreAuth,PasswordLastSet,AdminCount

Remédiation :

  1. Activer la pré-authentification sur tous les comptes
  2. Si nécessaire pour compatibilité, utiliser des mots de passe très complexes
  3. Surveiller les demandes AS-REP (Event 4768 avec code 0x18)

Valeur par défaut : Pré-authentification activée par défaut

2.1.14 — Gestion des comptes d’urgence (Break-Glass)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-039
MITRE ATT&CK : T1078.002

Description : Les comptes d’urgence permettent la récupération en cas de crise. Ils doivent être sécurisés, surveillés et testés régulièrement.

Vérification :

# Comptes d'urgence configurés
Get-ADUser -Filter {Description -like "*break*glass*" -or Description -like "*emergency*"} -Properties Description,LastLogonDate,PasswordLastSet

Remédiation :

  1. Créer 2 comptes d’urgence avec mots de passe complexes
  2. Stocker les credentials dans des coffres physiques séparés
  3. Tester semestriellement l’accès

Valeur par défaut : Souvent aucun compte d’urgence formalisé

2.1.15 — Local Administrator Password Solution (LAPS)

Niveau : 🟡
Référence CIS : 18.3.4 / ANSSI-AD-040
MITRE ATT&CK : T1078.003

Description : LAPS gère automatiquement les mots de passe des comptes administrateur local, éliminant les mots de passe identiques sur tous les postes.

Vérification :

# LAPS déployé
Get-ADOrganizationalUnit -Filter * | Get-ADComputer -Filter * -Properties ms-Mcs-AdmPwdExpirationTime | Where-Object {$_.'ms-Mcs-AdmPwdExpirationTime'}

Remédiation :

  1. Déployer LAPS sur tous les postes/serveurs
  2. Configurer des mots de passe complexes (14+ caractères)
  3. Limiter l’accès aux mots de passe LAPS

Valeur par défaut : LAPS non déployé

2.1.16 — Audit des membres de groupes sensibles

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-041 / PingCastle P-PrivilegedGroup
MITRE ATT&CK : T1078.002

Description : Certains groupes built-in accordent des privilèges élevés. Leur membership doit être strictement contrôlé et régulièrement audité.

Vérification :

# Groupes privilégiés à auditer
$groups = @("Account Operators","Backup Operators","Print Operators","Server Operators","Cert Publishers")
foreach($group in $groups) {
    Get-ADGroupMember $group | Select @{N='Group';E={$group}},Name,SamAccountName
}

Remédiation :

  1. Vider les groupes non utilisés
  2. Documenter et justifier chaque membership
  3. Implémenter des revues trimestrielles

Valeur par défaut : Groupes souvent peuplés par défaut

2.1.17 — Protection des comptes de synchronisation

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-042
MITRE ATT&CK : T1078.002

Description : Les comptes utilisés pour la synchronisation AD Connect, LDAP, etc. ont souvent des privilèges élevés et doivent être particulièrement protégés.

Vérification :

# Comptes de service de synchronisation
Get-ADUser -Filter {Description -like "*sync*" -or Description -like "*connect*" -or Name -like "*sync*"} -Properties Description,memberOf,ServicePrincipalName

Remédiation :

  1. Utiliser des comptes dédiés avec privilèges minimaux
  2. Implémenter MFA si supporté
  3. Surveiller l’activité de ces comptes

Valeur par défaut : Souvent des privilèges excessifs

2.1.18 — Contrôle des comptes avec mots de passe n’expirant jamais

Niveau : 🟠
Référence CIS : 2.3.1.2 / ANSSI-AD-043 / PingCastle S-PwdNeverExpires
MITRE ATT&CK : T1078

Description : Les comptes avec mots de passe n’expirant jamais créent un risque de sécurité permanent. Cette configuration doit être limitée aux comptes techniques justifiés.

Vérification :

# Comptes avec PasswordNeverExpires
Get-ADUser -Filter {PasswordNeverExpires -eq $true -and Enabled -eq $true} -Properties PasswordNeverExpires,PasswordLastSet,Description

Remédiation :

  1. Migrer vers gMSA pour les comptes de service
  2. Implémenter la rotation pour les comptes restants
  3. Justifier et documenter les exceptions

Valeur par défaut : Policy de domaine appliquée

2.1.19 — Configuration Just Enough Administration (JEA)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-044
MITRE ATT&CK : T1078.002

Description : JEA permet de limiter les cmdlets et paramètres disponibles dans les sessions PowerShell privilégiées, appliquant le principe du moindre privilège.

Vérification :

# Endpoints JEA configurés
Get-PSSessionConfiguration | Where-Object {$_.Permission -notlike "*Full Control*"}
# Sessions JEA actives
Get-PSSession | Where-Object {$_.ConfigurationName -ne "Microsoft.PowerShell"}

Remédiation :

  1. Créer des endpoints JEA pour les tâches admin courantes
  2. Former les administrateurs à l’utilisation JEA
  3. Désactiver les sessions PowerShell complètes quand possible

Valeur par défaut : Sessions PowerShell complètes autorisées

2.1.20 — Surveillance des connexions privilégiées

Niveau : ��
Référence CIS : Custom / ANSSI-AD-045
MITRE ATT&CK : T1078.002

Description : Toutes les connexions avec des comptes privilégiés doivent être loggées et surveillées pour détecter les usages non autorisés.

Vérification :

# Audit des logons privilégiés récents
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624,4625} | 
Where-Object {$_.Message -like "*Domain Admins*" -or $_.Message -like "*Enterprise Admins*"}

Remédiation :

  1. Activer l’audit détaillé des logons (succès et échecs)
  2. Corréler les connexions avec les justifications métier
  3. Alerter sur les connexions suspectes (horaires, sources)

Valeur par défaut : Audit basique activé

2.1.21 — Protection contre le vol de credentials

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-046
MITRE ATT&CK : T1003.001

Description : Windows Credential Guard, LSA Protection et autres mécanismes protègent contre l’extraction de credentials de la mémoire.

Vérification :

# Credential Guard activé
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select VirtualizationBasedSecurityStatus,LsaCfgFlags

Remédiation :

  1. Activer Credential Guard sur tous les PAW/serveurs
  2. Configurer LSA Protection
  3. Implémenter Windows Defender Application Guard

Valeur par défaut : Fonctionnalités désactivées

2.1.22 — Audit des droits utilisateur sensibles

Niveau : 🟠
Référence CIS : 2.2.6-2.2.39 / ANSSI-AD-047
MITRE ATT&CK : T1078

Description : Certains droits utilisateur (SeDebugPrivilege, SeBackupPrivilege, etc.) accordent des capacités équivalentes aux privilèges administrateur et doivent être contrôlés.

Vérification :

# Droits utilisateur sensibles
secedit /export /cfg security.cfg
Get-Content security.cfg | Select-String "SeTcbPrivilege|SeDebugPrivilege|SeBackupPrivilege|SeRestorePrivilege|SeLoadDriverPrivilege"

Remédiation :

  1. Auditer tous les droits utilisateur sensibles
  2. Supprimer les assignations non justifiées
  3. Documenter les besoins métier légitimes

Valeur par défaut : Souvent assignés par défaut à des groupes

2.1.23 — Contrôle des Service Principal Names (SPN) dupliqués

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-048
MITRE ATT&CK : T1558.003

Description : Les SPN dupliqués peuvent causer des erreurs d’authentification Kerberos et permettre des attaques par confusion de services.

Vérification :

# Recherche de SPN dupliqués
setspn -X
# SPN par compte
Get-ADUser -Filter {ServicePrincipalName -like "*"} -Properties ServicePrincipalName | Select Name,ServicePrincipalName

Remédiation :

  1. Supprimer les SPN dupliqués ou obsolètes
  2. Standardiser la nomenclature des SPN
  3. Auditer régulièrement les nouvelles créations

Valeur par défaut : Vérification manuelle des SPN

2.1.24 — Gestion des comptes de liaison AD (Binding Accounts)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-049
MITRE ATT&CK : T1078.003

Description : Les comptes utilisés pour lier les applications à AD (LDAP bind) doivent avoir des privilèges minimaux et des mots de passe forts.

Vérification :

# Comptes de liaison identifiés
Get-ADUser -Filter {Description -like "*bind*" -or Description -like "*ldap*" -or Description -like "*app*"} -Properties Description,memberOf

Remédiation :

  1. Identifier tous les comptes de liaison applicative
  2. Limiter aux privilèges Read strictement nécessaires
  3. Implémenter la rotation des mots de passe

Valeur par défaut : Souvent des privilèges excessifs

2.1.25 — Protection des hash NTLM des comptes privilégiés

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-050
MITRE ATT&CK : T1003.002

Description : Les hash NTLM des comptes privilégiés sont des cibles de choix pour les attaques Pass-the-Hash. Des protections spécifiques doivent être mises en place.

Vérification :

# Comptes avec "Account is sensitive and cannot be delegated"
Get-ADUser -Filter {AccountNotDelegated -eq $true} -Properties AccountNotDelegated,AdminCount
# Protected Users group membership
Get-ADGroupMember "Protected Users"

Remédiation :

  1. Ajouter les comptes privilégiés au groupe “Protected Users”
  2. Activer “Account is sensitive and cannot be delegated”
  3. Implémenter Credential Guard

Valeur par défaut : Pas de protection spéciale des hash NTLM

🔐 SECTION 3 — MOTS DE PASSE & AUTHENTIFICATION (~25 contrôles)

3.1.1 — Configuration de la politique de mots de passe par défaut

Niveau : 🟠
Référence CIS : 1.1.1-1.1.6 / ANSSI-AD-051 / PingCastle P-PasswordPolicy
MITRE ATT&CK : T1110.001

Description : La Default Domain Policy définit les exigences minimales de mots de passe pour tous les utilisateurs. Elle doit être configurée selon les bonnes pratiques actuelles.

Vérification :

# Politique de domaine actuelle
Get-ADDefaultDomainPasswordPolicy
# Vérification via GPO
Get-GPOReport -Name "Default Domain Policy" -ReportType XML | Select-String -Pattern "Password|Account"

Remédiation :

  1. Minimum 14 caractères (ou 12 avec complexité)
  2. Historique 24 mots de passe
  3. Âge maximum 365 jours (ou plus avec MFA)
  4. Seuil de verrouillage 10 tentatives

Valeur par défaut : 7 caractères, complexité activée, 42 jours

3.1.2 — Implémentation des Fine-Grained Password Policies (FGPP)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-052
MITRE ATT&CK : T1110.001

Description : Les FGPP permettent d’appliquer des politiques différenciées selon les groupes d’utilisateurs, avec des exigences renforcées pour les comptes privilégiés.

Vérification :

# FGPP configurées
Get-ADFineGrainedPasswordPolicy -Filter *
# Application aux groupes
Get-ADFineGrainedPasswordPolicy -Filter * | Get-ADFineGrainedPasswordPolicySubject

Remédiation :

  1. FGPP stricte pour les comptes privilégiés (20+ caractères)
  2. FGPP modérée pour les comptes de service (16+ caractères)
  3. FGPP standard pour les utilisateurs (12+ caractères)

Valeur par défaut : Aucune FGPP configurée

3.1.3 — Surveillance des mots de passe faibles

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-053 / PingCastle P-PasswordGuessing
MITRE ATT&CK : T1110.001

Description : Des outils comme DSInternals permettent d’identifier les mots de passe faibles dans AD sans les casser, permettant une remédiation proactive.

Vérification :

# Utilisation d'outils de test (DSInternals)
# Get-ADReplAccount -All -Server DC01 | Test-PasswordQuality -WeakPasswordsFile common-passwords.txt
# Comptes sans changement récent
Get-ADUser -Filter * -Properties PasswordLastSet | Where-Object {(Get-Date) - $_.PasswordLastSet -gt 365}

Remédiation :

  1. Scanner régulièrement avec des dictionnaires
  2. Forcer le changement des mots de passe faibles
  3. Former les utilisateurs aux bonnes pratiques

Valeur par défaut : Pas de test proactif des mots de passe

3.1.4 — Protection contre les attaques par pulvérisation (Password Spraying)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-054
MITRE ATT&CK : T1110.003

Description : Les attaques par pulvérisation testent des mots de passe communs contre de nombreux comptes. La détection nécessite une surveillance des échecs d’authentification distribués.

Vérification :

# Échecs de connexion récents
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625} -MaxEvents 1000 | 
Group-Object {$_.Properties[5].Value} | Sort-Object Count -Descending | Select Name,Count

Remédiation :

  1. Surveiller les échecs d’auth multiples sur des comptes différents
  2. Implémenter des délais progressifs
  3. Bloquer les IP suspectes automatiquement

Valeur par défaut : Détection basée sur seuils par compte

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

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-055
MITRE ATT&CK : T1078

Description : MFA ajoute une couche de sécurité critique, particulièrement pour les comptes privilégiés et l’accès distant.

Vérification :

# Utilisateurs avec MFA configuré (Azure AD)
# Connect-AzureAD; Get-AzureADUser -All $true | Where-Object {$_.StrongAuthenticationRequirements}
# Smart card logon requis
Get-ADUser -Filter {SmartCardLogonRequired -eq $true} -Properties SmartCardLogonRequired

Remédiation :

  1. MFA obligatoire pour tous les comptes privilégiés
  2. MFA pour l’accès VPN/distant
  3. Smart cards ou Windows Hello for Business

Valeur par défaut : MFA non configuré par défaut

3.1.6 — Audit des comptes avec mots de passe réversibles

Niveau : 🔴
Référence CIS : 1.1.4 / ANSSI-AD-056
MITRE ATT&CK : T1003.002

Description : Le stockage des mots de passe avec chiffrement réversible équivaut à les stocker en clair. Cette configuration doit être évitée.

Vérification :

# Comptes avec mots de passe réversibles
Get-ADUser -Filter {AllowReversiblePasswordEncryption -eq $true} -Properties AllowReversiblePasswordEncryption
# Politique de domaine
Get-ADDefaultDomainPasswordPolicy | Select ReversibleEncryptionEnabled

Remédiation :

  1. Désactiver le chiffrement réversible dans la politique
  2. Corriger les comptes individuels si nécessaire
  3. Forcer le changement de mot de passe après correction

Valeur par défaut : Désactivé par défaut

3.1.7 — Surveillance des tentatives de connexion suspectes

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-057
MITRE ATT&CK : T1078

Description : La surveillance proactive des patterns de connexion anormaux permet de détecter rapidement les compromissions de comptes.

Vérification :

# Connexions en dehors des heures normales
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.TimeCreated.Hour -lt 6 -or $_.TimeCreated.Hour -gt 22}

Remédiation :

  1. Définir des profils de connexion par utilisateur/groupe
  2. Alerter sur les déviations (horaires, géolocalisation, etc.)
  3. Implémenter des règles SIEM adaptées

Valeur par défaut : Surveillance manuelle des logs

3.1.8 — Contrôle des comptes avec pré-authentification Kerberos désactivée

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-058 / PingCastle P-PreAuthNotRequired
MITRE ATT&CK : T1558.004

Description : La désactivation de la pré-authentification Kerberos expose les comptes aux attaques AS-REP Roasting.

Vérification :

Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties DoesNotRequirePreAuth,PasswordLastSet

Remédiation :

  1. Réactiver la pré-authentification sur tous les comptes
  2. Si impossible pour compatibilité, renforcer les mots de passe
  3. Surveiller les événements 4768 avec code d’erreur 0x18

Valeur par défaut : Pré-authentification activée

3.1.9 — Configuration des politiques de verrouillage de compte

Niveau : 🟡
Référence CIS : 1.2.1-1.2.3 / ANSSI-AD-059
MITRE ATT&CK : T1110.001

Description : Les politiques de verrouillage protègent contre les attaques par force brute tout en évitant les dénis de service.

Vérification :

Get-ADDefaultDomainPasswordPolicy | Select LockoutThreshold,LockoutDuration,LockoutObservationWindow

Remédiation :

  1. Seuil: 10 tentatives (balance sécurité/usabilité)
  2. Durée: 15-30 minutes ou déverrouillage manuel
  3. Fenêtre d’observation: 15 minutes

Valeur par défaut : Souvent pas de verrouillage configuré

3.1.10 — Audit des comptes avec mots de passe n’expirant jamais

Niveau : 🟠
Référence CIS : 1.1.5 / ANSSI-AD-060 / PingCastle S-PwdNeverExpires
MITRE ATT&CK : T1078

Description : Les mots de passe permanents créent un risque de compromission à long terme. Seuls les comptes techniques justifiés devraient en bénéficier.

Vérification :

Get-ADUser -Filter {PasswordNeverExpires -eq $true -and Enabled -eq $true} -Properties PasswordNeverExpires,PasswordLastSet,Description

Remédiation :

  1. Migrer vers gMSA pour les comptes de service
  2. Justifier chaque exception
  3. Implémenter la rotation même pour les exceptions

Valeur par défaut : Policy s’applique à tous sauf exceptions

3.1.11 — Protection contre les attaques de credential stuffing

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-061
MITRE ATT&CK : T1110.004

Description : Les attaquants utilisent des bases de données de mots de passe volés. La protection nécessite la détection de patterns automatisés.

Vérification :

# Échecs multiples depuis mêmes sources
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625} | 
Group-Object {$_.Properties[19].Value} | Sort-Object Count -Descending

Remédiation :

  1. Corréler les échecs par IP source
  2. Implémenter des CAPTCHAs après plusieurs échecs
  3. Bloquer automatiquement les sources suspectes

Valeur par défaut : Pas de protection spécifique

3.1.12 — Configuration de Windows Hello for Business

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-062
MITRE ATT&CK : T1078

Description : Windows Hello for Business remplace les mots de passe par une authentification biométrique ou PIN, éliminant plusieurs vecteurs d’attaque.

Vérification :

# Utilisateurs avec WHfB configuré
Get-ADUser -Filter * -Properties msDS-KeyCredentialLink | Where-Object {$_."msDS-KeyCredentialLink"}

Remédiation :

  1. Déployer WHfB via GPO
  2. Configurer les certificats nécessaires
  3. Former les utilisateurs à l’adoption

Valeur par défaut : Non configuré par défaut

3.1.13 — Surveillance des changements de mots de passe fréquents

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-063
MITRE ATT&CK : T1078

Description : Des changements de mots de passe anormalement fréquents peuvent indiquer une compromission ou un dysfonctionnement.

Vérification :

# Changements récents fréquents
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4723,4724} | 
Group-Object {$_.Properties[0].Value} | Where-Object {$_.Count -gt 5}

Remédiation :

  1. Surveiller les événements 4723/4724
  2. Investiguer les changements anormaux
  3. Corréler avec d’autres indicateurs de compromission

Valeur par défaut : Logs standard disponibles

3.1.14 — Contrôle des mots de passe par défaut des comptes système

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-064
MITRE ATT&CK : T1078.003

Description : Certains comptes système peuvent avoir des mots de passe par défaut ou prévisibles. Ils doivent être identifiés et sécurisés.

Vérification :

# Comptes système avec mots de passe potentiellement faibles
Get-ADUser -Filter {Name -like "SUPPORT_*" -or Name -like "IWAM_*" -or Name -like "IUSR_*"} -Properties PasswordLastSet

Remédiation :

  1. Identifier tous les comptes système
  2. Changer les mots de passe par défaut
  3. Désactiver les comptes non utilisés

Valeur par défaut : Mots de passe souvent prévisibles

3.1.15 — Audit des authentifications interactives sur les serveurs

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-065
MITRE ATT&CK : T1078

Description : Les connexions interactives sur les serveurs (console, RDP) doivent être limitées et surveillées, particulièrement sur les DC.

Vérification :

# Connexions interactives récentes sur serveurs
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[8].Value -eq 2 -or $_.Properties[8].Value -eq 10}

Remédiation :

  1. Limiter les droits de connexion interactive
  2. Surveiller toutes les connexions serveur
  3. Privilégier la gestion à distance sécurisée

Valeur par défaut : Connexions interactives souvent autorisées

3.1.16 — Configuration des Smart Cards et certificats

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-066
MITRE ATT&CK : T1078

Description : Les smart cards fournissent une authentification forte basée sur certificats, éliminant les risques liés aux mots de passe.

Vérification :

# Comptes configurés pour smart card
Get-ADUser -Filter {SmartCardLogonRequired -eq $true} -Properties SmartCardLogonRequired,UserCertificate
# Templates de certificats pour smart card
certlm.msc # Vérification manuelle des templates

Remédiation :

  1. Déployer des smart cards pour les comptes privilégiés
  2. Configurer les templates de certificats appropriés
  3. Implémenter la révocation de certificats

Valeur par défaut : Smart cards non configurées

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

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-067
MITRE ATT&CK : T1087.002

Description : L’énumération de comptes permet aux attaquants d’identifier des cibles. Certaines protections peuvent limiter cette reconnaissance.

Vérification :

# Permissions d'énumération sur les containers utilisateurs
dsacls "CN=Users,DC=domain,DC=com" | findstr "Everyone\|Authenticated Users"

Remédiation :

  1. Limiter les permissions de lecture sur les objets utilisateur
  2. Surveiller les requêtes LDAP suspectes
  3. Implémenter des honeypots/comptes leurres

Valeur par défaut : Énumération généralement possible

3.1.18 — Audit des connexions avec des comptes de service

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-068
MITRE ATT&CK : T1078.003

Description : Les comptes de service ne devraient pas être utilisés pour des connexions interactives. Toute utilisation doit être surveillée.

Vérification :

# Connexions interactives avec comptes de service
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[5].Value -like "*svc*" -or $_.Properties[5].Value -like "*service*"}

Remédiation :

  1. Bloquer les connexions interactives pour les comptes de service
  2. Surveiller toute utilisation anormale
  3. Séparer clairement comptes utilisateur/service

Valeur par défaut : Pas de restriction par défaut

3.1.19 — Configuration des politiques de session

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-069
MITRE ATT&CK : T1078

Description : Les sessions doivent avoir des durées limitées et des politiques de verrouillage automatique pour réduire l’exposition.

Vérification :

# Politiques de session via GPO
Get-GPOReport -All -ReportType XML | Select-String -Pattern "ScreenSaver\|IdleTime\|SessionTime"

Remédiation :

  1. Timeout automatique après 15 minutes d’inactivité
  2. Déconnexion forcée après durée maximale
  3. Écran de verrouillage avec mot de passe requis

Valeur par défaut : Sessions souvent permanentes

3.1.20 — Surveillance des comptes avec privilèges de connexion étendus

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-070
MITRE ATT&CK : T1078

Description : Certains comptes peuvent avoir des droits de connexion sur plusieurs systèmes. Ces privilèges étendus doivent être contrôlés.

Vérification :

# Droits "Log on as a service" étendus
secedit /export /cfg security.cfg
Get-Content security.cfg | Select-String "SeServiceLogonRight"

Remédiation :

  1. Auditer tous les droits de connexion étendus
  2. Limiter aux besoins stricts
  3. Documenter et justifier chaque assignation

Valeur par défaut : Droits souvent accordés largement

🎫 SECTION 4 — KERBEROS & PROTOCOLES (~30 contrôles)

4.1.1 — Configuration du chiffrement Kerberos AES256

Niveau : 🟠
Référence CIS : 2.3.7.2 / ANSSI-AD-071 / PingCastle S-RC4
MITRE ATT&CK : T1558

Description : RC4 est cryptographiquement faible. AES256 doit être privilégié pour toutes les communications Kerberos pour résister aux attaques de type Kerberoasting avancées.

Vérification :

# Types de chiffrement supportés par le domaine
Get-ADDomain | Select msDS-SupportedEncryptionTypes
# Comptes utilisant encore RC4
Get-ADUser -Filter * -Properties msDS-SupportedEncryptionTypes | Where-Object {$_."msDS-SupportedEncryptionTypes" -band 4}

Remédiation :

  1. Configurer AES256 sur tous les comptes et services
  2. Désactiver RC4 progressivement après tests
  3. Mettre à jour les applications non compatibles

Valeur par défaut : RC4 souvent encore utilisé

4.1.2 — Rotation du mot de passe KRBTGT

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-072 / PingCastle P-Krbtgt
MITRE ATT&CK : T1558.001

Description : Le compte KRBTGT chiffre les tickets Kerberos. Sa compromission permet les Golden Ticket attacks. Le mot de passe doit être roté semestriellement.

Vérification :

Get-ADUser krbtgt -Properties PasswordLastSet,msDS-KeyVersionNumber
# Calculer l'âge du mot de passe
$krbtgt = Get-ADUser krbtgt -Properties PasswordLastSet
(Get-Date) - $krbtgt.PasswordLastSet

Remédiation :

  1. Utiliser l’outil Microsoft New-KrbtgtKeys.ps1
  2. Effectuer la rotation sur tous les DC
  3. Attendre la réplication complète entre rotations

Valeur par défaut : Jamais changé depuis création

4.1.3 — Contrôle de la délégation Kerberos non contrainte

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-073 / PingCastle P-UnconstrainedDelegation
MITRE ATT&CK : T1558.003

Description : La délégation non contrainte permet à un service de s’authentifier vers n’importe quel service au nom de l’utilisateur. Très dangereux pour l’élévation de privilèges.

Vérification :

# Objets avec délégation non contrainte (hors DCs)
Get-ADComputer -Filter {TrustedForDelegation -eq $true -and PrimaryGroupID -ne 516} -Properties TrustedForDelegation,ServicePrincipalName
Get-ADUser -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation,ServicePrincipalName

Remédiation :

  1. Migrer vers délégation contrainte ou RBCD
  2. Désactiver sur tous les objets non-DC
  3. Surveiller les nouvelles configurations

Valeur par défaut : Potentiellement configurée sur comptes de service

4.1.4 — Configuration de la délégation contrainte

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-074
MITRE ATT&CK : T1558.003

Description : La délégation contrainte limite les services vers lesquels un objet peut déléguer. Plus sûre que la délégation non contrainte mais nécessite une configuration précise.

Vérification :

# Objets avec délégation contrainte
Get-ADComputer -Filter * -Properties msDS-AllowedToDelegateTo | Where-Object {$_."msDS-AllowedToDelegateTo"}
Get-ADUser -Filter * -Properties msDS-AllowedToDelegateTo | Where-Object {$_."msDS-AllowedToDelegateTo"}

Remédiation :

  1. Configurer uniquement les SPN strictement nécessaires
  2. Auditer régulièrement les configurations
  3. Tester l’impact sur les applications

Valeur par défaut : Aucune délégation contrainte configurée

4.1.5 — Implémentation de la délégation contrainte basée sur les ressources (RBCD)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-075
MITRE ATT&CK : T1558.003

Description : RBCD inverse le contrôle de délégation vers la ressource cible, offrant une granularité et sécurité supérieures.

Vérification :

# Objets avec RBCD configuré
Get-ADComputer -Filter * -Properties msDS-AllowedToActOnBehalfOfOtherIdentity | Where-Object {$_."msDS-AllowedToActOnBehalfOfOtherIdentity"}

Remédiation :

  1. Migrer la délégation contrainte vers RBCD
  2. Configurer des ACL précises sur msDS-AllowedToActOnBehalfOfOtherIdentity
  3. Tester soigneusement les changements

Valeur par défaut : RBCD non configurée

4.1.6 — Restriction du protocole NTLM

Niveau : 🟠
Référence CIS : 2.3.11.9 / ANSSI-AD-076 / PingCastle S-NTLM
MITRE ATT&CK : T1557.001

Description : NTLM est vulnérable aux attaques de relais et de craquage. Kerberos doit être privilégié avec NTLM restreint ou désactivé progressivement.

Vérification :

# Configuration NTLM actuelle
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "LmCompatibilityLevel"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" -Name "NTLMMinServerSec"

Remédiation :

  1. LmCompatibilityLevel = 5 (NTLMv2 uniquement)
  2. Auditer l’utilisation NTLM avec l’Event 4624
  3. Planifier la désactivation progressive par zone

Valeur par défaut : NTLM souvent autorisé (niveau 3)

4.1.7 — Configuration du LDAP Signing

Niveau : 🔴
Référence CIS : 2.3.7.4 / ANSSI-AD-077
MITRE ATT&CK : T1557.001

Description : LDAP Signing protège contre les attaques man-in-the-middle sur les communications LDAP. Doit être requis sur tous les DC.

Vérification :

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity"
# 0=None, 1=Negotiate, 2=Require

Remédiation :

  1. LDAPServerIntegrity = 2 (obligatoire)
  2. Tester la compatibilité avec les applications legacy
  3. Implémenter progressivement si nécessaire

Valeur par défaut : 1 (négocié) sur Windows Server 2019+

4.1.8 — Activation du LDAP Channel Binding

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-078
MITRE ATT&CK : T1557.001

Description : LDAP Channel Binding ajoute une protection contre les attaques de relais LDAPS en liant la session TLS au canal sécurisé.

Vérification :

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LdapEnforceChannelBinding"
# 0=Never, 1=When supported, 2=Always

Remédiation :

  1. LdapEnforceChannelBinding = 2 (toujours)
  2. Vérifier que tous les clients supportent le channel binding
  3. Monitorer les erreurs de connexion après activation

Valeur par défaut : 0 (jamais) sur la plupart des configurations

4.1.9 — Protection contre les attaques Golden Ticket

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-079 / PingCastle A-GoldenTicket
MITRE ATT&CK : T1558.001

Description : Les Golden Tickets exploitent le hash KRBTGT pour créer des tickets valides arbitraires. La détection nécessite surveillance et rotation régulière.

Vérification :

# Surveillance des tickets avec durées de vie anormales
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4769} | 
Where-Object {$_.Properties[6].Value -gt 600} # Tickets > 10h

Remédiation :

  1. Rotation semestrielle du KRBTGT
  2. Surveiller les tickets avec durées de vie élevées
  3. Implémenter des alertes sur les activités privilégiées suspectes

Valeur par défaut : Pas de protection spécifique

4.1.10 — Détection des attaques Silver Ticket

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-080
MITRE ATT&CK : T1558.002

Description : Les Silver Tickets exploitent les hash de comptes de service pour accéder à des services spécifiques. La rotation des mots de passe et gMSA offrent une protection.

Vérification :

# Comptes de service avec mots de passe anciens
Get-ADUser -Filter {ServicePrincipalName -like "*"} -Properties ServicePrincipalName,PasswordLastSet | 
Where-Object {(Get-Date) - $_.PasswordLastSet -gt 180}

Remédiation :

  1. Migration vers gMSA pour rotation automatique
  2. Rotation régulière des mots de passe de service
  3. Surveillance des accès service anormaux

Valeur par défaut : Mots de passe de service souvent anciens

4.1.11 — Configuration des tickets Kerberos - durées de vie

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-081
MITRE ATT&CK : T1558

Description : Les durées de vie des tickets Kerberos doivent être limitées pour réduire la fenêtre d’exploitation en cas de vol.

Vérification :

# Politique Kerberos du domaine
Get-ADDefaultDomainPasswordPolicy | Select MaxTicketAge,MaxServiceAge,MaxClockSkew

Remédiation :

  1. MaxTicketAge: 10 heures maximum
  2. MaxServiceAge: 600 minutes maximum
  3. MaxClockSkew: 5 minutes maximum

Valeur par défaut : 10h pour TGT, 600min pour service tickets

4.1.12 — Surveillance des événements Kerberos suspects

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-082
MITRE ATT&CK : T1558

Description : Certains patterns d’événements Kerberos peuvent indiquer des attaques (Kerberoasting, AS-REP roasting, Golden tickets).

Vérification :

# Événements Kerberos critiques
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4768,4769,4771} -MaxEvents 1000 | 
Group-Object Id | Select Name,Count

Remédiation :

  1. Surveiller Event 4769 (TGS) pour Kerberoasting
  2. Surveiller Event 4768 (TGT) pour AS-REP roasting
  3. Alerter sur les codes d’erreur spécifiques

Valeur par défaut : Logging basique activé

4.1.13 — Protection contre Pass-the-Hash (PtH)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-083
MITRE ATT&CK : T1550.002

Description : Les attaques PtH utilisent les hash NTLM pour s’authentifier. Les protections incluent NTLM restrictions, Credential Guard, et Protected Users group.

Vérification :

# Membres du groupe Protected Users
Get-ADGroupMember "Protected Users"
# Credential Guard activé
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard

Remédiation :

  1. Ajouter les comptes privilégiés au groupe “Protected Users”
  2. Activer Credential Guard sur postes/serveurs critiques
  3. Restreindre l’utilisation NTLM

Valeur par défaut : Protections souvent désactivées

4.1.14 — Protection contre Pass-the-Ticket (PtT)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-084
MITRE ATT&CK : T1550.003

Description : Les attaques PtT réutilisent des tickets Kerberos volés. La protection nécessite des durées de vie courtes et la surveillance des réutilisations.

Vérification :

# Surveillance des réutilisations de tickets
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[10].Value -eq 3} # Logon Type = Network

Remédiation :

  1. Limiter les durées de vie des tickets
  2. Surveiller les connexions réseau multiples avec même ticket
  3. Implémenter des restrictions réseau par utilisateur

Valeur par défaut : Pas de protection spécifique contre PtT

4.1.15 — Configuration du SMB Signing

Niveau : 🟠
Référence CIS : 2.3.8.1-2.3.8.2 / ANSSI-AD-085
MITRE ATT&CK : T1557.001

Description : SMB Signing protège contre les attaques de relais SMB en signant cryptographiquement les communications.

Vérification :

# Configuration SMB Signing client/serveur
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" -Name "RequireSecuritySignature"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters" -Name "RequireSecuritySignature"

Remédiation :

  1. RequireSecuritySignature = 1 sur tous les systèmes
  2. Tester la compatibilité avec équipements réseau anciens
  3. Implémenter progressivement si nécessaire

Valeur par défaut : Souvent désactivé pour compatibilité

4.1.16 — Audit des comptes avec des SPN faibles

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-086 / PingCastle P-Kerberoasting
MITRE ATT&CK : T1558.003

Description : Les comptes avec SPN et mots de passe faibles sont vulnérables au Kerberoasting. Identification et correction nécessaires.

Vérification :

# Comptes SPN avec mots de passe potentiellement faibles
Get-ADUser -Filter {ServicePrincipalName -like "*"} -Properties ServicePrincipalName,PasswordLastSet,adminCount | 
Where-Object {(Get-Date) - $_.PasswordLastSet -gt 365}

Remédiation :

  1. Mots de passe >25 caractères pour comptes SPN
  2. Migration vers gMSA quand possible
  3. Rotation régulière des mots de passe

Valeur par défaut : Mots de passe souvent insuffisants

4.1.17 — Protection contre DCSync

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-087 / PingCastle P-DCSync
MITRE ATT&CK : T1003.006

Description : DCSync permet d’extraire les hash de mots de passe via la réplication AD. Les permissions DS-Replication-Get-Changes doivent être strictement contrôlées.

Vérification :

# Permissions de réplication suspectes
dsacls "DC=domain,DC=com" | findstr "DS-Replication-Get-Changes"
# Objets avec permissions de réplication
Get-ADObject -Filter * -Properties nTSecurityDescriptor | Where-Object {$_.nTSecurityDescriptor -like "*1131f6aa*"}

Remédiation :

  1. Limiter DS-Replication-Get-Changes aux seuls DC légitimes
  2. Surveiller les tentatives de réplication suspectes
  3. Alerter sur l’utilisation des permissions de réplication

Valeur par défaut : Permissions souvent trop larges

4.1.18 — Configuration de l’audit Kerberos avancé

Niveau : 🟡
Référence CIS : 17.5.1-17.5.6 / ANSSI-AD-088
MITRE ATT&CK : T1558

Description : L’audit détaillé des événements Kerberos permet de détecter les attaques sophistiquées et les anomalies d’authentification.

Vérification :

# Configuration audit Kerberos
auditpol /get /category:"Account Logon"
auditpol /get /subcategory:"Kerberos Authentication Service"

Remédiation :

  1. Activer l’audit succès/échec pour tous les événements Kerberos
  2. Configurer la rétention appropriée des logs
  3. Implémenter des règles SIEM pour détection automatique

Valeur par défaut : Audit basique souvent insuffisant

4.1.19 — Contrôle des enclaves Kerberos

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-089
MITRE ATT&CK : T1558

Description : Les enclaves Kerberos (domaines/forêts) doivent être isolées selon les besoins de sécurité. Les trusts doivent suivre le principe du moindre privilège.

Vérification :

# Trusts configurés
Get-ADTrust -Filter * | Select Name,Direction,TrustType,SelectiveAuthentication,SIDFilteringEnabled

Remédiation :

  1. Limiter les trusts au strict nécessaire
  2. Activer Selective Authentication sur trusts externes
  3. Vérifier SID Filtering sur tous les trusts

Valeur par défaut : Configuration souvent permissive

4.1.20 — Protection contre les attaques Skeleton Key

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-090
MITRE ATT&CK : T1547.005

Description : L’attaque Skeleton Key injecte un mot de passe maître dans LSASS. La détection nécessite surveillance de l’intégrité et des authentifications anormales.

Vérification :

# Vérifier l'intégrité de LSASS
Get-Process lsass | Select ProcessName,Path,FileVersion
# Surveiller les authentifications avec mots de passe suspects
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624}

Remédiation :

  1. Implémenter LSA Protection
  2. Surveiller les modifications de LSASS
  3. Utiliser des solutions EDR pour détecter les injections

Valeur par défaut : Pas de protection spécifique

4.1.21 — Configuration des protocoles d’authentification legacy

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-091
MITRE ATT&CK : T1078

Description : Les protocoles legacy (LM, NTLMv1) doivent être désactivés car cryptographiquement faibles et vulnérables.

Vérification :

# Configuration protocoles legacy
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "NoLMHash"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "LmCompatibilityLevel"

Remédiation :

  1. NoLMHash = 1 (pas de stockage hash LM)
  2. LmCompatibilityLevel = 5 (NTLMv2 minimum)
  3. Désactiver progressivement tout support legacy

Valeur par défaut : Support legacy souvent encore présent

4.1.22 — Surveillance des échecs d’authentification Kerberos

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-092
MITRE ATT&CK : T1558

Description : Les échecs Kerberos peuvent indiquer des attaques ou des problèmes de configuration. Patterns spécifiques à surveiller selon les codes d’erreur.

Vérification :

# Échecs Kerberos par code d'erreur
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4771} | 
Group-Object {$_.Properties[6].Value} | Sort-Object Count -Descending

Remédiation :

  1. Surveiller codes d’erreur 0x6 (compte inexistant), 0x12 (compte désactivé)
  2. Alerter sur 0x17 (mot de passe expiré), 0x18 (pré-auth requis)
  3. Corréler avec autres événements de sécurité

Valeur par défaut : Surveillance réactive des échecs

4.1.23 — Configuration des algorithmes cryptographiques Kerberos

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-093
MITRE ATT&CK : T1558

Description : Les algorithmes faibles (DES, RC4) doivent être désactivés. AES128/256 et algorithmes futurs doivent être privilégiés.

Vérification :

# Algorithmes supportés par le domaine
Get-ADDomain | Select msDS-SupportedEncryptionTypes
# Comptes avec algorithmes faibles
Get-ADUser -Filter * -Properties msDS-SupportedEncryptionTypes | Where-Object {$_."msDS-SupportedEncryptionTypes" -band 7}

Remédiation :

  1. Désactiver DES (bits 1,2) et RC4 (bit 4) progressivement
  2. Activer AES128 (bit 8) et AES256 (bit 16)
  3. Tester compatibility avant désactivation complète

Valeur par défaut : RC4 souvent encore activé

4.1.24 — Protection contre les attaques de downgrade

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-094
MITRE ATT&CK : T1562.010

Description : Les attaques de downgrade forcent l’utilisation de protocoles/algorithmes faibles. Configuration stricte nécessaire pour les prévenir.

Vérification :

# Configuration minimum de sécurité
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "LmCompatibilityLevel"
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity"

Remédiation :

  1. Forcer les protocoles/algorithmes sécurisés uniquement
  2. Désactiver la négociation vers protocoles faibles
  3. Surveiller les tentatives de downgrade

Valeur par défaut : Négociation souvent permissive

4.1.25 — Audit des tickets de service à longue durée

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-095
MITRE ATT&CK : T1558.002

Description : Les tickets de service avec durées de vie anormalement longues peuvent indiquer des Golden/Silver tickets ou des configurations problématiques.

Vérification :

# Tickets avec durées anormales
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4769} | 
Where-Object {$_.Properties[6].Value -gt 43200} # > 12 heures

Remédiation :

  1. Configurer des durées de vie appropriées (≤10h)
  2. Surveiller les tickets avec durées excessives
  3. Investiguer les sources de tickets anormaux

Valeur par défaut : Durées parfois excessives par configuration

4.1.26 — Configuration de la protection Extended Protection for Authentication

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-096
MITRE ATT&CK : T1557.001

Description : EPA protège contre les attaques de relais en liant l’authentification au canal de communication sécurisé.

Vérification :

# Configuration EPA pour différents services
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\LSA" -Name "SuppressExtendedProtection"

Remédiation :

  1. Activer EPA sur tous les services supportés
  2. Configurer les applications pour utiliser EPA
  3. Tester la compatibilité avec clients anciens

Valeur par défaut : EPA souvent désactivé pour compatibilité

4.1.27 — Surveillance des modifications de configuration Kerberos

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-097
MITRE ATT&CK : T1484

Description : Les modifications des paramètres Kerberos peuvent affaiblir la sécurité. Surveillance et approbation nécessaires pour tous les changements.

Vérification :

# Surveillance des modifications de registre Kerberos
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4657} | 
Where-Object {$_.Message -like "*Kerberos*" -or $_.Message -like "*NTDS*"}

Remédiation :

  1. Auditer toutes les modifications de configuration
  2. Implémenter un processus d’approbation des changements
  3. Alerter sur les modifications non autorisées

Valeur par défaut : Modifications souvent non surveillées

4.1.28 — Protection des communications RPC

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-098
MITRE ATT&CK : T1557.001

Description : Les communications RPC doivent être sécurisées pour éviter l’interception et la manipulation. Authentification et chiffrement nécessaires.

Vérification :

# Configuration sécurité RPC
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Rpc\ClientProtocols" -Name "EnableDCOMHTTP"

Remédiation :

  1. Activer l’authentification RPC obligatoire
  2. Chiffrer les communications RPC sensibles
  3. Limiter les endpoints RPC exposés

Valeur par défaut : Communications RPC souvent non sécurisées

4.1.29 — Configuration des restrictions de protocole par réseau

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-099
MITRE ATT&CK : T1078

Description : Différents réseaux peuvent nécessiter des restrictions de protocole variables. Segmentation et politiques adaptées par zone.

Vérification :

# Politiques réseau par interface
Get-NetConnectionProfile | Select Name,NetworkCategory,IPv4Connectivity

Remédiation :

  1. Classifier les réseaux (Domain, Private, Public)
  2. Appliquer des restrictions par classification
  3. Surveiller les changements de classification réseau

Valeur par défaut : Politiques souvent uniformes

4.1.30 — Audit des communications inter-domaines

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-100
MITRE ATT&CK : T1482

Description : Les communications entre domaines/forêts doivent être surveillées pour détecter les mouvements latéraux et l’abus de trusts.

Vérification :

# Authentifications inter-domaines
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[5].Value -like "*@*" -and $_.Properties[5].Value -notlike "*@domain.com"}

Remédiation :

  1. Surveiller toutes les authentifications inter-domaines
  2. Corréler avec les besoins métier légitimes
  3. Alerter sur les patterns anormaux

Valeur par défaut : Surveillance basique des authentifications

📋 SECTION 5 — SÉCURITÉ GPO (~20 contrôles)

5.1.1 — Permissions sur les GPO critiques

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-101 / PingCastle A-GPOPrivileged
MITRE ATT&CK : T1484.001

Description : Les GPO contrôlent la configuration de sécurité de tous les systèmes. Leurs permissions doivent être strictement limitées aux administrateurs autorisés.

Vérification :

# Permissions sur GPO critiques
$criticalGPOs = @("Default Domain Policy","Default Domain Controllers Policy")
foreach($gpo in $criticalGPOs) {
    Get-GPPermission -Name $gpo -All | Where-Object {$_.Permission -match "Edit" -and $_.Trustee -notlike "*Admin*"}
}

Remédiation :

  1. Limiter les permissions Edit aux seuls Domain Admins
  2. Supprimer les permissions héritées non nécessaires
  3. Auditer régulièrement les permissions GPO

Valeur par défaut : Permissions souvent trop permissives

5.1.2 — Protection contre l’hijacking de GPO

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-102 / PingCastle A-GPOHijacking
MITRE ATT&CK : T1484.001

Description : L’hijacking de GPO permet à un attaquant de modifier des politiques pour élever ses privilèges ou établir une persistence. Protection des ACL nécessaire.

Vérification :

# GPO avec permissions dangereuses pour utilisateurs non-admin
Get-GPO -All | ForEach-Object {
    Get-GPPermission -Guid $_.Id -All | Where-Object {
        $_.Permission -eq "GpoEditDeleteModifySecurity" -and 
        $_.Trustee -notmatch "Admin|SYSTEM|Creator"
    }
}

Remédiation :

  1. Supprimer toutes les permissions Edit non justifiées
  2. Implémenter la séparation des droits (lecture vs modification)
  3. Surveiller les modifications de GPO

Valeur par défaut : Risque d’hijacking selon permissions

🌐 SECTION 6 — SÉCURITÉ DNS AD (~15 contrôles)

6.1.1 — Configuration des zones DNS intégrées AD

Niveau : 🟠
Référence CIS : 2.3.7.1 / ANSSI-AD-121
MITRE ATT&CK : T1071.004

Description : Les zones DNS intégrées à AD bénéficient de la sécurité et réplication AD. Toutes les zones critiques doivent être intégrées.

Vérification :

# Zones DNS et leur type
Get-DnsServerZone | Select ZoneName,ZoneType,IsDsIntegrated,SecureSecondaries
# Vérification de l'intégration AD
Get-DnsServerZone | Where-Object {$_.ZoneType -eq "Primary" -and $_.IsDsIntegrated -eq $false}

Remédiation :

  1. Convertir toutes les zones primaires vers l’intégration AD
  2. Configurer la réplication appropriée (ForestDnsZones, DomainDnsZones)
  3. Tester la résolution après conversion

Valeur par défaut : Nouvelles zones souvent intégrées AD

6.1.2 — Activation des mises à jour dynamiques sécurisées

Niveau : 🟠
Référence CIS : 2.3.7.5 / ANSSI-AD-122
MITRE ATT&CK : T1071.004

Description : Les mises à jour dynamiques non sécurisées permettent à n’importe quel client de modifier les enregistrements DNS. Seules les MAJ sécurisées doivent être autorisées.

Vérification :

Get-DnsServerZone | Select ZoneName,DynamicUpdate,SecureSecondaries
# Zones permettant les mises à jour non sécurisées
Get-DnsServerZone | Where-Object {$_.DynamicUpdate -eq "NonsecureAndSecure"}

Remédiation :

  1. Configurer “Secure only” pour toutes les zones intégrées AD
  2. Identifier et corriger les zones non sécurisées
  3. Tester l’impact sur l’enregistrement automatique

Valeur par défaut : Souvent “NonsecureAndSecure” par défaut

6.1.3 — Configuration DNSSEC pour la validation

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-123
MITRE ATT&CK : T1071.004

Description : DNSSEC protège contre les attaques d’empoisonnement DNS en validant cryptographiquement les réponses.

Vérification :

# Statut DNSSEC
Get-DnsServerZone | Select ZoneName,IsSigned,SigningKeys
# Configuration validation DNSSEC
Get-DnsServerSetting | Select EnableDnsSec,DnsSecValidation

Remédiation :

  1. Activer DNSSEC sur les zones critiques
  2. Configurer la validation DNSSEC sur les serveurs
  3. Gérer la rotation des clés DNSSEC

Valeur par défaut : DNSSEC souvent non configuré

6.1.4 — Contrôle des transferts de zone DNS

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-124
MITRE ATT&CK : T1016.001

Description : Les transferts de zone non contrôlés peuvent exposer des informations sur l’infrastructure. Ils doivent être limités aux serveurs autorisés.

Vérification :

Get-DnsServerZone | Select ZoneName,SecureSecondaries,SecondaryServers,NotifyServers
# Zones autorisant les transferts vers n'importe qui
Get-DnsServerZone | Where-Object {$_.SecureSecondaries -eq "NoSecurity"}

Remédiation :

  1. Limiter les transferts aux serveurs spécifiés uniquement
  2. Utiliser l’authentification pour les transferts
  3. Auditer régulièrement les configurations de transfert

Valeur par défaut : Transferts souvent trop permissifs

6.1.5 — Protection contre l’empoisonnement de cache DNS

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-125
MITRE ATT&CK : T1071.004

Description : L’empoisonnement de cache permet de rediriger le trafic vers des serveurs malveillants. Protection par randomisation et validation nécessaires.

Vérification :

# Configuration protection empoisonnement
Get-DnsServerSetting | Select EnablePollutionProtection,BootMethod,Forwarders
# Vérification randomisation des ports source
Get-DnsServerSetting | Select SocketPoolSize,EnableSocketPooling

Remédiation :

  1. Activer la protection contre la pollution
  2. Configurer la randomisation des ports source
  3. Utiliser des forwarders sécurisés (DoH/DoT)

Valeur par défaut : Protection souvent basique

6.1.6 — Surveillance des requêtes DNS suspectes

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-126
MITRE ATT&CK : T1071.004

Description : Les requêtes DNS peuvent indiquer des activités malveillantes (C2, exfiltration, reconnaissance). Surveillance et analyse nécessaires.

Vérification :

# Activation du logging DNS
Get-DnsServerDiagnostics | Select EnableLogFileRollover,LogFilePath,Queries
# Analyse des requêtes récentes
Get-WinEvent -FilterHashtable @{LogName='DNS Server'} -MaxEvents 100

Remédiation :

  1. Activer le logging détaillé des requêtes DNS
  2. Analyser les patterns de requêtes anormaux
  3. Implémenter des règles de détection automatique

Valeur par défaut : Logging souvent minimal

6.1.7 — Configuration des forwarders DNS sécurisés

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-127
MITRE ATT&CK : T1071.004

Description : Les forwarders DNS doivent être fiables et sécurisés pour éviter l’interception ou la manipulation des requêtes externes.

Vérification :

Get-DnsServerForwarder | Select IPAddress,EnableReordering,Timeout,UseRootHint

Remédiation :

  1. Utiliser des forwarders fiables (ISP, CloudFlare, Quad9)
  2. Configurer DNS over HTTPS/TLS si supporté
  3. Implémenter une redondance des forwarders

Valeur par défaut : Forwarders souvent par défaut ISP

6.1.8 — Contrôle des enregistrements DNS critiques

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-128
MITRE ATT&CK : T1071.004

Description : Les enregistrements DNS critiques (SRV AD, MX, etc.) doivent être protégés contre les modifications non autorisées.

Vérification :

# Enregistrements SRV critiques pour AD
nslookup -type=SRV _ldap._tcp.dc._msdcs.domain.com
nslookup -type=SRV _kerberos._tcp.dc._msdcs.domain.com
nslookup -type=SRV _gc._tcp.domain.com

Remédiation :

  1. Vérifier la présence de tous les enregistrements SRV AD
  2. Surveiller les modifications d’enregistrements critiques
  3. Sauvegarder régulièrement les configurations DNS

Valeur par défaut : Enregistrements créés automatiquement

6.1.9 — Protection des zones de recherche inversée

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-129
MITRE ATT&CK : T1016.001

Description : Les zones de recherche inversée peuvent révéler des informations sur l’infrastructure. Elles doivent être sécurisées et limitées.

Vérification :

# Zones de recherche inversée configurées
Get-DnsServerZone | Where-Object {$_.ZoneName -like "*.in-addr.arpa" -or $_.ZoneName -like "*.ip6.arpa"}

Remédiation :

  1. Sécuriser les zones de recherche inversée
  2. Limiter les informations exposées
  3. Considérer la suppression si non nécessaires

Valeur par défaut : Zones inversées souvent créées automatiquement

6.1.10 — Configuration des politiques de requête DNS

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-130
MITRE ATT&CK : T1071.004

Description : Les politiques de requête permettent de filtrer ou rediriger les requêtes DNS selon des critères de sécurité.

Vérification :

# Politiques DNS configurées
Get-DnsServerQueryResolutionPolicy | Select Name,Criteria,Action,ProcessingOrder

Remédiation :

  1. Créer des politiques pour bloquer les domaines malveillants
  2. Implémenter la redirection vers des sinkholes
  3. Configurer des politiques par source/utilisateur

Valeur par défaut : Aucune politique généralement configurée

6.1.11 — Audit des modifications de configuration DNS

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-131
MITRE ATT&CK : T1071.004

Description : Toutes les modifications de configuration DNS doivent être auditées car elles peuvent affecter la disponibilité et sécurité.

Vérification :

# Événements de modification DNS
Get-WinEvent -FilterHashtable @{LogName='DNS Server';ID=2,6,7} | 
Select TimeCreated,Id,LevelDisplayName,Message

Remédiation :

  1. Activer l’audit complet des modifications DNS
  2. Surveiller les changements non autorisés
  3. Implémenter des alertes temps réel

Valeur par défaut : Audit souvent minimal

6.1.12 — Protection contre les attaques DDoS DNS

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-132
MITRE ATT&CK : T1498.002

Description : Les serveurs DNS sont des cibles fréquentes d’attaques DDoS. Mesures de protection et limitation de taux nécessaires.

Vérification :

# Configuration protection DDoS
Get-DnsServerSetting | Select MaximumUdpPacketSize,EnableDuplicateQuerySuppression
Get-DnsServerResponseRateLimiting | Select ResponsesPerSec,WindowInSec

Remédiation :

  1. Configurer Response Rate Limiting (RRL)
  2. Limiter les tailles de paquets UDP
  3. Implémenter la suppression des requêtes dupliquées

Valeur par défaut : Protection DDoS souvent basique

6.1.13 — Configuration de la réplication DNS sécurisée

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-133
MITRE ATT&CK : T1071.004

Description : La réplication DNS entre DC doit être sécurisée pour éviter l’interception ou la manipulation des données.

Vérification :

# Configuration réplication DNS AD
Get-DnsServerZone | Where-Object {$_.IsDsIntegrated} | Select ZoneName,ReplicationScope

Remédiation :

  1. Utiliser les partitions DNS AD appropriées
  2. Limiter la réplication au scope nécessaire
  3. Surveiller la santé de réplication DNS

Valeur par défaut : Réplication généralement sécurisée dans AD

6.1.14 — Contrôle des enregistrements DNS obsolètes

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-134
MITRE ATT&CK : T1016.001

Description : Les enregistrements DNS obsolètes peuvent pointer vers des systèmes compromis ou inexistants, créant des risques de sécurité.

Vérification :

# Analyse des enregistrements obsolètes (script custom nécessaire)
Get-DnsServerResourceRecord -ZoneName "domain.com" | 
Where-Object {$_.RecordType -eq "A" -or $_.RecordType -eq "CNAME"}

Remédiation :

  1. Identifier et supprimer les enregistrements obsolètes
  2. Implémenter un processus de nettoyage régulier
  3. Valider l’existence des systèmes référencés

Valeur par défaut : Nettoyage souvent manuel et irrégulier

6.1.15 — Surveillance de la performance DNS

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-135
MITRE ATT&CK : T1498.002

Description : La performance DNS impacte directement l’authentification AD. Surveillance nécessaire pour détecter les problèmes et attaques.

Vérification :

# Statistiques performance DNS
Get-DnsServerStatistics | Select TotalQueries,TotalResponses,QueryDropped,ResponseTimeout
# Test résolution DNS
Measure-Command {nslookup domain.com}

Remédiation :

  1. Surveiller les métriques de performance DNS
  2. Optimiser la configuration selon la charge
  3. Implémenter des alertes sur dégradation

Valeur par défaut : Surveillance souvent basique

🔄 SECTION 7 — RÉPLICATION & CONTRÔLEURS DE DOMAINE (~20 contrôles)

7.1.1 — Surveillance de la santé de réplication AD

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-136 / PingCastle A-DCReplication
MITRE ATT&CK : T1018

Description : Les échecs de réplication peuvent causer des incohérences de sécurité et faciliter certaines attaques. Surveillance continue nécessaire.

Vérification :

# État de réplication global
repadmin /replsummary
# Échecs de réplication détaillés
Get-ADReplicationFailure -Target * -Scope Domain | Select Server,FirstFailureTime,FailureCount,LastError

Remédiation :

  1. Corriger immédiatement tous les échecs de réplication
  2. Surveiller en continu avec alertes automatiques
  3. Investiguer les causes racines des échecs

Valeur par défaut : Réplication généralement fonctionnelle

7.1.2 — Configuration sécurisée des Read-Only Domain Controllers (RODC)

Niveau : 🟡
Référence CIS : 2.3.1.6 / ANSSI-AD-137
MITRE ATT&CK : T1078

Description : Les RODC dans les sites distants limitent l’exposition en cas de compromission physique. Configuration PRP (Password Replication Policy) critique.

Vérification :

# RODC déployés et leur configuration
Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name,Site,IsReadOnly,OperatingSystem
# Password Replication Policy
Get-ADDomainController -Filter {IsReadOnly -eq $true} | ForEach-Object {
    Get-ADAccountResultantPasswordReplicationPolicy -DomainController $_.Name -Identity "Domain Admins"
}

Remédiation :

  1. Déployer des RODC dans tous les sites à risque
  2. Configurer des PRP restrictives (Deny par défaut)
  3. Auditer régulièrement les comptes autorisés à répliquer

Valeur par défaut : Pas de RODC déployés par défaut

7.1.3 — Protection contre les attaques DCSync

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-138 / PingCastle P-DCSync
MITRE ATT&CK : T1003.006

Description : DCSync permet d’extraire tous les hash de mots de passe via la réplication. Les permissions DS-Replication-Get-Changes doivent être strictement contrôlées.

Vérification :

# Permissions de réplication sur le domaine
dsacls "DC=domain,DC=com" | findstr "DS-Replication-Get-Changes"
# Objets avec permissions DCSync
Get-ADObject -SearchBase "DC=domain,DC=com" -Properties nTSecurityDescriptor -Filter * | 
Where-Object {$_.nTSecurityDescriptor -like "*1131f6aa*"}

Remédiation :

  1. Limiter DS-Replication-Get-Changes aux seuls DC
  2. Auditer régulièrement ces permissions critiques
  3. Surveiller l’utilisation des permissions de réplication

Valeur par défaut : Permissions souvent trop larges

7.1.4 — Configuration de SYSVOL avec DFS-R

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-139
MITRE ATT&CK : T1484.001

Description : La migration de FRS vers DFS-R pour SYSVOL améliore la robustesse et sécurité de la réplication des GPO.

Vérification :

# État de la migration SYSVOL vers DFS-R
dfsrdiag ReplicationState /member:DC01
# Vérification cohérence SYSVOL
dcdiag /test:sysvolcheck /v

Remédiation :

  1. Migrer SYSVOL de FRS vers DFS-R si pas encore fait
  2. Vérifier la santé de réplication DFS-R
  3. Surveiller la cohérence SYSVOL entre DC

Valeur par défaut : DFS-R utilisé par défaut sur WS2008+

7.1.5 — Audit des connexions de réplication manuelles

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-140
MITRE ATT&CK : T1018

Description : Les connexions de réplication manuelles peuvent perturber la topologie optimale générée par KCC et créer des risques.

Vérification :

# Connexions manuelles vs automatiques
Get-ADReplicationConnection -Filter * | Select Name,AutoGenerated,FromServer,ToServer,Options
# Connexions créées manuellement
Get-ADReplicationConnection -Filter {AutoGenerated -eq $false}

Remédiation :

  1. Documenter toutes les connexions manuelles
  2. Valider leur nécessité avec KCC
  3. Supprimer les connexions redondantes

Valeur par défaut : Topologie gérée automatiquement par KCC

7.1.6 — Surveillance des objets de métadonnées de réplication

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-141
MITRE ATT&CK : T1018

Description : Les métadonnées de réplication contiennent des informations sensibles sur la topologie et peuvent révéler des cibles d’attaque.

Vérification :

# Métadonnées de réplication
repadmin /showmeta "DC=domain,DC=com" /nocache
# Serveurs de réplication par partition
repadmin /showreps

Remédiation :

  1. Limiter l’accès aux métadonnées de réplication
  2. Surveiller les requêtes de métadonnées suspectes
  3. Auditer l’utilisation des outils de réplication

Valeur par défaut : Accès généralement restreint aux admins

7.1.7 — Configuration des intervalles de réplication

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-142
MITRE ATT&CK : T1018

Description : Les intervalles de réplication doivent équilibrer convergence rapide des changements de sécurité et charge réseau.

Vérification :

# Intervalles de réplication configurés
Get-ADReplicationSiteLink | Select Name,Cost,ReplicationFrequencyInMinutes,Options
# Réplication urgente activée
Get-ADReplicationConnection -Filter * | Select Name,ReplicatedNamingContexts,Options

Remédiation :

  1. Configurer des intervalles appropriés selon la criticité
  2. Activer la réplication d’urgence pour les changements de sécurité
  3. Optimiser selon la bande passante disponible

Valeur par défaut : 180 minutes pour DEFAULTIPSITELINK

7.1.8 — Protection des partitions d’application AD

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-143
MITRE ATT&CK : T1484

Description : Les partitions d’application (DNS, Configuration) contiennent des données critiques et doivent être protégées.

Vérification :

# Partitions d'application existantes
Get-ADObject -SearchBase "CN=Partitions,CN=Configuration,DC=domain,DC=com" -Filter {objectClass -eq "crossRef"} -Properties nCName,dnsRoot

Remédiation :

  1. Auditer toutes les partitions d’application
  2. Contrôler les permissions sur les partitions critiques
  3. Surveiller les modifications de structure

Valeur par défaut : Partitions DNS créées automatiquement

7.1.9 — Contrôle de la réplication inter-sites

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-144
MITRE ATT&CK : T1018

Description : La réplication inter-sites doit être optimisée et sécurisée, particulièrement sur les liens WAN.

Vérification :

# Configuration des liens de sites
Get-ADReplicationSiteLink | Select Name,SitesIncluded,Cost,ReplicationFrequencyInMinutes,Options
# Ponts de liens de sites
Get-ADReplicationSiteLinkBridge | Select Name,SiteLinksIncluded

Remédiation :

  1. Optimiser les coûts selon la bande passante réelle
  2. Configurer la compression pour les liens lents
  3. Surveiller l’utilisation de bande passante

Valeur par défaut : Configuration souvent non optimisée

7.1.10 — Audit des modifications de topologie KCC

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-145
MITRE ATT&CK : T1018

Description : Le Knowledge Consistency Checker (KCC) génère automatiquement la topologie de réplication. Ses modifications doivent être surveillées.

Vérification :

# État KCC et dernière exécution
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=1864,1865} -MaxEvents 10
# Configuration KCC
repadmin /kcc * /async

Remédiation :

  1. Surveiller les exécutions KCC et leurs résultats
  2. Investiguer les échecs de génération de topologie
  3. Valider que KCC fonctionne sur tous les DC

Valeur par défaut : KCC fonctionne automatiquement

7.1.11 — Protection contre les attaques DCShadow

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-146 / PingCastle A-DCShadow
MITRE ATT&CK : T1207

Description : DCShadow permet de s’enregistrer temporairement comme DC pour injecter des changements malveillants dans AD.

Vérification :

# Nouveaux SPN de type DC
Get-ADUser -Filter * -Properties ServicePrincipalNames | Where-Object {
    $_.ServicePrincipalNames -like "*GC/*" -or $_.ServicePrincipalNames -like "*E3514235*"
}
# Nouveaux objets serveur
Get-ADObject -SearchBase "CN=Sites,CN=Configuration,DC=domain,DC=com" -Filter {objectClass -eq "server"} -Properties whenCreated | 
Sort-Object whenCreated -Descending

Remédiation :

  1. Surveiller les créations de SPN de type DC
  2. Alerter sur les nouveaux objets server dans Sites
  3. Restreindre les permissions ms-DS-MachineAccountQuota

Valeur par défaut : Pas de protection spécifique contre DCShadow

7.1.12 — Configuration des Global Catalog servers

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-147
MITRE ATT&CK : T1018

Description : Le catalogue global facilite les recherches inter-domaines. Configuration et réplication appropriées nécessaires.

Vérification :

# Serveurs de catalogue global
Get-ADDomainController -Filter * | Select Name,Site,IsGlobalCatalog,OperatingSystem
# Réplication du catalogue global
Get-ADReplicationPartnerMetadata -Target * -Partition "DC=ForestDnsZones,DC=domain,DC=com"

Remédiation :

  1. Configurer au moins un GC par site principal
  2. Surveiller la réplication des partitions GC
  3. Optimiser selon les besoins de recherche

Valeur par défaut : GC sur tous les DC en single domain

7.1.13 — Surveillance des tombstones et garbage collection

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-148
MITRE ATT&CK : T1484

Description : Les objets supprimés deviennent des tombstones avant suppression définitive. Configuration appropriée pour éviter la corruption.

Vérification :

# Configuration tombstone lifetime
Get-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=domain,DC=com" -Properties tombstoneLifetime
# Objets tombstone actuels
Get-ADObject -IncludeDeletedObjects -Filter {isDeleted -eq $true} | Measure-Object

Remédiation :

  1. Configurer tombstoneLifetime approprié (180 jours recommandé)
  2. Surveiller le volume d’objets tombstone
  3. Planifier le garbage collection régulièrement

Valeur par défaut : 180 jours par défaut sur domaines récents

7.1.14 — Contrôle des USN (Update Sequence Numbers)

Niveau : ��
Référence CIS : Custom / ANSSI-AD-149
MITRE ATT&CK : T1484

Description : Les USN trackent les modifications AD. Leur surveillance permet de détecter certaines anomalies et attaques.

Vérification :

# USN actuels par DC
repadmin /showutdvec DC=domain,DC=com
# Vérification consistance USN
repadmin /showchanges DC=domain,DC=com /statistics

Remédiation :

  1. Surveiller les progressions USN anormales
  2. Investiguer les écarts importants entre DC
  3. Utiliser pour la détection de rollback/restore

Valeur par défaut : USN gérés automatiquement par AD

7.1.15 — Protection des connexions de réplication

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-150
MITRE ATT&CK : T1557.001

Description : Les connexions de réplication transportent des données sensibles et doivent être sécurisées.

Vérification :

# Configuration sécurité réplication
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "Repl Perform Initial Synchronizations"
# Ports de réplication utilisés
netstat -an | findstr ":389\|:636\|:3268\|:3269"

Remédiation :

  1. Utiliser LDAPS (port 636) pour réplication si possible
  2. Configurer IPSec pour les connexions inter-sites
  3. Limiter les ports de réplication autorisés

Valeur par défaut : Réplication souvent non chiffrée

7.1.16 — Audit des opérations de réplication privilégiées

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-151
MITRE ATT&CK : T1003.006

Description : Certaines opérations de réplication (secrets, mots de passe) doivent être spécifiquement auditées.

Vérification :

# Audit réplication de secrets
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=4932,4933} -MaxEvents 100
# Réplication RODC Password Replication Policy
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=4934,4935} -MaxEvents 100

Remédiation :

  1. Activer l’audit des opérations de réplication sensibles
  2. Surveiller les tentatives de réplication de secrets
  3. Alerter sur les patterns anormaux

Valeur par défaut : Audit souvent incomplet

7.1.17 — Configuration des notifications de réplication d’urgence

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-152
MITRE ATT&CK : T1484

Description : Les changements critiques (verrouillage compte, modification privilèges) doivent déclencher une réplication immédiate.

Vérification :

# Configuration réplication d'urgence
Get-ADReplicationSiteLink | Select Name,Options
# 0x1 = USE_NOTIFY (réplication d'urgence)

Remédiation :

  1. Activer USE_NOTIFY sur tous les liens de sites critiques
  2. Configurer TWOWAY_SYNC si nécessaire
  3. Tester la réplication d’urgence

Valeur par défaut : Réplication d’urgence activée par défaut

7.1.18 — Surveillance de la latence de réplication

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-153
MITRE ATT&CK : T1018

Description : Une latence excessive peut impacter la sécurité (délais de propagation de verrouillages, changements de privilèges).

Vérification :

# Latence de réplication actuelle
repadmin /latency /verbose
# Test de réplication manuelle
repadmin /sync "CN=Configuration,DC=domain,DC=com" DC01 DC02

Remédiation :

  1. Mesurer régulièrement la latence de réplication
  2. Optimiser selon les SLA de sécurité
  3. Alerter sur les latences excessives

Valeur par défaut : Dépend de la configuration réseau et sites

7.1.19 — Configuration du nettoyage des objets liés

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-154
MITRE ATT&CK : T1484

Description : Les objets liés (backlinks) obsolètes peuvent causer des problèmes de performance et sécurité.

Vérification :

# Configuration garbage collection
Get-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=domain,DC=com" -Properties garbageCollPeriod

Remédiation :

  1. Configurer garbageCollPeriod approprié (12h par défaut)
  2. Surveiller l’efficacité du nettoyage
  3. Planifier des nettoyages manuels si nécessaire

Valeur par défaut : 12 heures par défaut

7.1.20 — Protection contre les conflits de réplication

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-155
MITRE ATT&CK : T1484

Description : Les conflits de réplication peuvent être exploités pour créer des incohérences de sécurité.

Vérification :

# Objets en conflit
Get-ADObject -Filter {Name -like "*CNF:*"} -IncludeDeletedObjects
# Historique des conflits
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=1308,1309} -MaxEvents 50

Remédiation :

  1. Identifier et résoudre tous les conflits de réplication
  2. Investiguer les causes des conflits répétés
  3. Implémenter la surveillance proactive des conflits

Valeur par défaut : Résolution automatique des conflits

🏗️ SECTION 8 — OBJETS AD & SCHÉMA (~20 contrôles)

8.1.1 — Audit des permissions dangereuses sur objets AD

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-156 / PingCastle P-DangerousAcl
MITRE ATT&CK : T1484.001

Description : Les permissions WriteDACL, GenericAll, WriteOwner sur des objets sensibles permettent l’élévation de privilèges et doivent être strictement contrôlées.

Vérification :

# Recherche permissions dangereuses
Import-Module ActiveDirectory
$dangerousPerms = @("GenericAll","WriteDacl","WriteOwner","WriteProperty")
Get-ADUser -Filter * -Properties nTSecurityDescriptor | ForEach-Object {
    $acl = $_.nTSecurityDescriptor.Access
    $acl | Where-Object {$_.ActiveDirectoryRights -match ($dangerousPerms -join "|") -and $_.IdentityReference -notmatch "SYSTEM|Administrators"}
}

Remédiation :

  1. Supprimer toutes les permissions dangereuses non justifiées
  2. Implémenter le principe du moindre privilège
  3. Auditer régulièrement les ACL critiques

Valeur par défaut : Permissions souvent trop permissives

8.1.2 — Protection du conteneur AdminSDHolder

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-157 / PingCastle A-AdminSDHolder
MITRE ATT&CK : T1484.001

Description : AdminSDHolder protège les objets privilégiés. Ses ACL sont copiées vers tous les objets protégés. Toute modification peut compromettre la sécurité globale.

Vérification :

$adminSDHolder = Get-ADObject -Identity "CN=AdminSDHolder,CN=System,DC=domain,DC=com" -Properties nTSecurityDescriptor
$adminSDHolder.nTSecurityDescriptor.Access | Where-Object {$_.IdentityReference -notmatch "SYSTEM|BUILTIN|NT AUTHORITY"}

Remédiation :

  1. Restaurer les ACL AdminSDHolder par défaut
  2. Surveiller toute modification avec Event 5136
  3. Vérifier que SDProp fonctionne (service “Protected Storage”)

Valeur par défaut : ACL restrictives par défaut

8.1.3 — Contrôle des objets avec adminCount orphelins

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-158 / PingCastle S-AdminCount
MITRE ATT&CK : T1484.001

Description : Les objets avec adminCount=1 mais non membres de groupes protégés gardent des ACL restrictives héritées. Nettoyage nécessaire.

Vérification :

# Objets avec adminCount orphelins
$protectedGroups = @("Domain Admins","Enterprise Admins","Schema Admins","Administrators","Account Operators","Backup Operators","Print Operators","Server Operators","Cert Publishers")
Get-ADUser -Filter {adminCount -eq 1} | Where-Object {
    $user = $_
    $isMember = $false
    foreach($group in $protectedGroups) {
        if(Get-ADGroupMember $group -Recursive | Where-Object {$_.SamAccountName -eq $user.SamAccountName}) {
            $isMember = $true; break
        }
    }
    -not $isMember
}

Remédiation :

  1. Identifier tous les objets avec adminCount orphelins
  2. Réinitialiser adminCount à 0 après validation
  3. Restaurer l’héritage ACL normal

Valeur par défaut : adminCount géré automatiquement par SDProp

8.1.4 — Audit des extensions de schéma non standard

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-159 / PingCastle A-SchemaClass
MITRE ATT&CK : T1484

Description : Les extensions de schéma sont permanentes et peuvent introduire des vulnérabilités. Audit et documentation nécessaires.

Vérification :

# Extensions de schéma custom (OID non Microsoft)
Get-ADObject -SearchBase "CN=Schema,CN=Configuration,DC=domain,DC=com" -Filter {objectClass -eq "attributeSchema" -and attributeID -notlike "1.2.840.113556.*"} -Properties attributeID,adminDisplayName,whenCreated

Remédiation :

  1. Documenter toutes les extensions de schéma
  2. Valider la sécurité des extensions custom
  3. Supprimer les extensions obsolètes si possible

Valeur par défaut : Schéma standard Microsoft uniquement

8.1.5 — Contrôle des permissions sur les unités d’organisation

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-160
MITRE ATT&CK : T1484.001

Description : Les OUs organisent les objets AD. Leurs permissions déterminent qui peut créer/modifier les objets contenus.

Vérification :

# Permissions sur OUs critiques
$criticalOUs = Get-ADOrganizationalUnit -Filter * | Where-Object {$_.Name -match "Admin|Server|Tier"}
foreach($ou in $criticalOUs) {
    dsacls $ou.DistinguishedName | findstr -v "INHERITED\|SUCCESS"
}

Remédiation :

  1. Limiter les permissions OU selon le modèle de tiering
  2. Éviter les permissions génériques (Full Control)
  3. Implémenter la délégation granulaire

Valeur par défaut : Permissions souvent héritées du domaine

8.1.6 — Surveillance des modifications d’objets critiques

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-161
MITRE ATT&CK : T1484.001

Description : Certains objets AD sont critiques pour la sécurité. Leurs modifications doivent être surveillées et auditées.

Vérification :

# Modifications récentes d'objets critiques
Get-WinEvent -FilterHashtable @{LogName='Security';ID=5136,5137,5141} | 
Where-Object {$_.Message -match "CN=AdminSDHolder|CN=Domain Admins|CN=Enterprise Admins|CN=Schema"}

Remédiation :

  1. Activer l’audit des modifications d’objets AD
  2. Surveiller spécifiquement les objets critiques
  3. Alerter en temps réel sur les changements

Valeur par défaut : Audit souvent incomplet

8.1.7 — Contrôle des quotas de création d’objets

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-162
MITRE ATT&CK : T1484

Description : Les quotas limitent le nombre d’objets qu’un utilisateur peut créer, prévenant les attaques DoS et l’abus.

Vérification :

# Quotas configurés
Get-ADObject -SearchBase "CN=NTDS Quotas,CN=NTDS Settings,CN=Configuration,DC=domain,DC=com" -Filter * -Properties msDS-QuotaAmount,msDS-QuotaTrustee
# Utilisation actuelle des quotas
dsquery * -filter "(&(objectClass=user)(msDS-QuotaUsed=*))" -attr distinguishedName,msDS-QuotaUsed

Remédiation :

  1. Définir des quotas appropriés par type d’utilisateur
  2. Surveiller l’utilisation des quotas
  3. Alerter sur les tentatives de dépassement

Valeur par défaut : ms-DS-MachineAccountQuota = 10 par défaut

8.1.8 — Audit des objets avec SID History

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-163 / PingCastle P-SidHistory
MITRE ATT&CK : T1134.005

Description : SID History peut être abusé pour maintenir des privilèges après migration. Audit et nettoyage nécessaires.

Vérification :

# Objets avec SID History
Get-ADUser -Filter * -Properties SIDHistory | Where-Object {$_.SIDHistory} | Select Name,SamAccountName,SIDHistory
Get-ADGroup -Filter * -Properties SIDHistory | Where-Object {$_.SIDHistory} | Select Name,SamAccountName,SIDHistory

Remédiation :

  1. Auditer tous les objets avec SID History
  2. Valider la légitimité de chaque SID
  3. Nettoyer les SID History obsolètes

Valeur par défaut : SID History vide sauf migrations

8.1.9 — Protection contre la manipulation d’attributs sensibles

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-164
MITRE ATT&CK : T1484.001

Description : Certains attributs AD (memberOf, adminCount, etc.) sont critiques et ne doivent pas être modifiables directement.

Vérification :

# Vérification protection attributs sensibles
$sensitiveAttrs = @("memberOf","adminCount","isCriticalSystemObject","nTSecurityDescriptor")
Get-ADObject -SearchBase "CN=Schema,CN=Configuration,DC=domain,DC=com" -Filter {lDAPDisplayName -like "*"} -Properties systemFlags,schemaFlagsEx | 
Where-Object {$sensitiveAttrs -contains $_.lDAPDisplayName}

Remédiation :

  1. Vérifier que les attributs sensibles sont protégés (systemFlags)
  2. Contrôler les permissions sur les attributs critiques
  3. Surveiller les tentatives de modification

Valeur par défaut : Protection basée sur systemFlags

8.1.10 — Contrôle des objets dans des conteneurs non standard

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-165
MITRE ATT&CK : T1484.001

Description : Les objets dans des conteneurs non standard (pas dans OUs appropriées) peuvent échapper aux GPO et contrôles.

Vérification :

# Utilisateurs hors OUs standard
Get-ADUser -Filter * | Where-Object {$_.DistinguishedName -like "*CN=Users,DC=*" -or $_.DistinguishedName -like "*CN=Builtin,DC=*"}
# Ordinateurs hors OUs standard  
Get-ADComputer -Filter * | Where-Object {$_.DistinguishedName -like "*CN=Computers,DC=*"}

Remédiation :

  1. Déplacer tous les objets vers des OUs appropriées
  2. Créer une structure OU cohérente
  3. Appliquer les GPO selon la structure

Valeur par défaut : Objets souvent dans conteneurs par défaut

8.1.11 — Audit des délégations de contrôle d’OU

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-166
MITRE ATT&CK : T1484.001

Description : La délégation de contrôle permet de distribuer les responsabilités administratives. Elle doit suivre le principe du moindre privilège.

Vérification :

# Délégations configurées sur OUs
Get-ADOrganizationalUnit -Filter * | ForEach-Object {
    $ou = $_.DistinguishedName
    $acl = (Get-ACL "AD:\$ou").Access | Where-Object {$_.IdentityReference -notmatch "SYSTEM|BUILTIN|NT AUTHORITY" -and $_.AccessControlType -eq "Allow"}
    if($acl) {
        Write-Output "OU: $ou has custom delegations"
        $acl | Select IdentityReference,ActiveDirectoryRights
    }
}

Remédiation :

  1. Documenter toutes les délégations de contrôle
  2. Valider que chaque délégation respecte le moindre privilège
  3. Réviser régulièrement les délégations

Valeur par défaut : Délégations souvent ad-hoc et non documentées

8.1.12 — Contrôle des attributs confidentiels

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-167
MITRE ATT&CK : T1087.002

Description : Certains attributs peuvent contenir des informations sensibles et doivent avoir des permissions de lecture restreintes.

Vérification :

# Attributs marqués confidentiels
Get-ADObject -SearchBase "CN=Schema,CN=Configuration,DC=domain,DC=com" -Filter {searchFlags -band 128} -Properties lDAPDisplayName,searchFlags

Remédiation :

  1. Identifier les attributs contenant des données sensibles
  2. Marquer comme confidentiels (searchFlags bit 7)
  3. Contrôler les permissions de lecture

Valeur par défaut : Peu d’attributs marqués confidentiels par défaut

8.1.13 — Surveillance des modifications de schéma

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-168
MITRE ATT&CK : T1484

Description : Les modifications de schéma sont permanentes et affectent toute la forêt. Surveillance stricte nécessaire.

Vérification :

# Modifications récentes du schéma
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=1137,1138} -MaxEvents 50 | Select TimeCreated,Message
# Version actuelle du schéma
Get-ADObject -Identity "CN=Schema,CN=Configuration,DC=domain,DC=com" -Properties objectVersion

Remédiation :

  1. Vider le groupe Schema Admins sauf opérations planifiées
  2. Auditer toutes les modifications de schéma
  3. Documenter les changements et leur impact

Valeur par défaut : Groupe Schema Admins vide recommandé

8.1.14 — Protection des liens critiques entre objets

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-169
MITRE ATT&CK : T1484.001

Description : Les liens entre objets AD (memberOf, managedBy, etc.) définissent les relations de privilèges et doivent être protégés.

Vérification :

# Liens critiques vers objets privilégiés
Get-ADGroup "Domain Admins" -Properties member,memberOf,managedBy
Get-ADGroup "Enterprise Admins" -Properties member,memberOf,managedBy

Remédiation :

  1. Surveiller les modifications de liens critiques
  2. Implémenter des workflows d’approbation
  3. Auditer régulièrement les relations de privilèges

Valeur par défaut : Liens gérés par les permissions d’écriture

8.1.15 — Contrôle des objets avec des ACL explicites

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-170
MITRE ATT&CK : T1484.001

Description : Les objets avec ACL explicites (non héritées) peuvent échapper aux contrôles standardisés et créer des risques.

Vérification :

# Objets avec héritage désactivé
Get-ADUser -Filter * -Properties nTSecurityDescriptor | Where-Object {
    -not $_.nTSecurityDescriptor.AreAccessRulesProtected
} | Select Name,DistinguishedName

Remédiation :

  1. Identifier tous les objets avec ACL explicites
  2. Valider la nécessité de chaque exception
  3. Standardiser les permissions quand possible

Valeur par défaut : Héritage activé par défaut

8.1.16 — Audit des objets système critiques

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-171
MITRE ATT&CK : T1484

Description : Les objets système (RootDSE, Partition heads, etc.) sont critiques pour le fonctionnement AD et doivent être protégés.

Vérification :

# Objets système critiques
Get-ADObject -Identity "CN=System,DC=domain,DC=com" -Properties nTSecurityDescriptor
Get-ADObject -Identity "CN=Configuration,DC=domain,DC=com" -Properties nTSecurityDescriptor

Remédiation :

  1. Vérifier les permissions sur tous les conteneurs système
  2. Supprimer toute permission non standard
  3. Surveiller les accès aux objets système

Valeur par défaut : Permissions restrictives par défaut

8.1.17 — Contrôle des objets orphelins ou corrompus

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-172
MITRE ATT&CK : T1484

Description : Les objets orphelins ou corrompus peuvent causer des problèmes de sécurité et performance.

Vérification :

# Objets avec références cassées
Get-ADObject -Filter * -Properties objectClass,canonicalName | Where-Object {$_.canonicalName -eq $null}
# Objets fantômes (phantom objects)
Get-ADObject -LDAPFilter "(&(objectClass=*)(!(objectClass=*)))"

Remédiation :

  1. Identifier et corriger les objets corrompus
  2. Nettoyer les références cassées
  3. Utiliser dcdiag pour diagnostiquer les problèmes

Valeur par défaut : AD maintient généralement la cohérence

8.1.18 — Protection des attributs de construction dynamique

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-173
MITRE ATT&CK : T1087.002

Description : Certains attributs sont calculés dynamiquement (tokenGroups, etc.) et peuvent révéler des informations privilégiées.

Vérification :

# Accès aux attributs construits
$user = Get-ADUser "testuser" -Properties tokenGroups,tokenGroupsNoGCAcceptable,tokenGroupsGlobalAndUniversal
$user.tokenGroups | ForEach-Object {(New-Object System.Security.Principal.SecurityIdentifier($_)).Translate([System.Security.Principal.NTAccount])}

Remédiation :

  1. Contrôler l’accès aux attributs construits sensibles
  2. Limiter les permissions de lecture selon les besoins
  3. Surveiller les requêtes d’attributs construits

Valeur par défaut : Attributs construits accessibles aux utilisateurs authentifiés

8.1.19 — Surveillance des objets de grande valeur (HVT)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-174
MITRE ATT&CK : T1078.002

Description : Les objets de grande valeur (comptes privilégiés, serveurs critiques) nécessitent une surveillance renforcée.

Vérification :

# Identification des HVT
$hvtUsers = Get-ADUser -Filter {adminCount -eq 1 -or memberOf -like "*Admin*"} -Properties adminCount,memberOf,lastLogonDate
$hvtComputers = Get-ADComputer -Filter {OperatingSystem -like "*Server*" -and Name -like "*DC*"} -Properties OperatingSystem

Remédiation :

  1. Identifier tous les objets de grande valeur
  2. Implémenter une surveillance renforcée
  3. Appliquer des contrôles de sécurité supplémentaires

Valeur par défaut : Pas de classification automatique des HVT

8.1.20 — Contrôle de l’intégrité des backlinks

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-175
MITRE ATT&CK : T1484

Description : Les backlinks maintiennent la cohérence des relations AD. Leur corruption peut créer des failles de sécurité.

Vérification :

# Vérification intégrité backlinks
repadmin /showattr DC=domain,DC=com "CN=Domain Admins,CN=Users,DC=domain,DC=com" /atts:member
# Comparaison avec memberOf des membres
Get-ADGroupMember "Domain Admins" | ForEach-Object {
    Get-ADUser $_.SamAccountName -Properties memberOf | Select memberOf
}

Remédiation :

  1. Vérifier régulièrement la cohérence des backlinks
  2. Corriger les incohérences détectées
  3. Surveiller les erreurs de réplication de liens

Valeur par défaut : AD maintient automatiquement les backlinks

🛡️ SECTION 9 — AD CS / PKI (~25 contrôles)

9.1.1 — Audit des templates de certificats dangereux (ESC1)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-176 / PingCastle A-ESC1
MITRE ATT&CK : T1649

Description : ESC1 exploite les templates permettant aux enrollees de spécifier le Subject Name, permettant l’impersonnation d’autres utilisateurs via certificats.

Vérification :

# Templates avec ENROLLEE_SUPPLIES_SUBJECT
certutil -CATemplates | findstr /i "ENROLLEE_SUPPLIES_SUBJECT"
# Via PowerShell ADCS
Get-CATemplate | Where-Object {$_.msPKI-Certificate-Name-Flag -band 1} | Select Name,msPKI-Certificate-Name-Flag

Remédiation :

  1. Désactiver ENROLLEE_SUPPLIES_SUBJECT sur tous les templates non justifiés
  2. Implémenter des restrictions Manager Approval si nécessaire
  3. Auditer régulièrement les enrollments suspects

Valeur par défaut : Templates par défaut souvent vulnérables

9.1.2 — Protection contre ESC2 (Any Purpose EKU)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-177
MITRE ATT&CK : T1649

Description : ESC2 exploite les templates avec Any Purpose EKU ou sans EKU, permettant l’utilisation des certificats pour n’importe quel usage.

Vérification :

# Templates avec Any Purpose ou pas d'EKU
Get-CATemplate | Where-Object {
    $_.pKIExtendedKeyUsage -contains "2.5.29.37.0" -or 
    $_.pKIExtendedKeyUsage -eq $null -or
    $_.pKIExtendedKeyUsage.Count -eq 0
} | Select Name,pKIExtendedKeyUsage

Remédiation :

  1. Définir des EKU spécifiques pour chaque template
  2. Supprimer Any Purpose EKU sauf si absolument nécessaire
  3. Limiter les permissions d’enrollment sur ces templates

Valeur par défaut : Templates peuvent avoir Any Purpose par défaut

9.1.3 — Contrôle ESC3 (Certificate Request Agent)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-178
MITRE ATT&CK : T1649

Description : ESC3 abuse les templates Certificate Request Agent pour demander des certificats au nom d’autres utilisateurs.

Vérification :

# Templates avec Certificate Request Agent EKU
Get-CATemplate | Where-Object {$_.pKIExtendedKeyUsage -contains "1.3.6.1.4.1.311.20.2.1"} | Select Name,pKIExtendedKeyUsage
# Utilisateurs avec enrollment rights sur ces templates

Remédiation :

  1. Limiter drastiquement les templates Certificate Request Agent
  2. Restreindre les permissions d’enrollment à des comptes spécifiques
  3. Surveiller toutes les demandes de certificats par agent

Valeur par défaut : Certificate Request Agent souvent non configuré

9.1.4 — Protection contre ESC4 (Vulnerable Template Access Control)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-179
MITRE ATT&CK : T1649

Description : ESC4 exploite les permissions excessives sur les templates de certificats pour les modifier et créer des vulnérabilités.

Vérification :

# Permissions sur templates de certificats
Get-CATemplate | ForEach-Object {
    $template = $_
    $acl = Get-ACL "AD:\CN=$($template.Name),CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com"
    $acl.Access | Where-Object {$_.AccessControlType -eq "Allow" -and $_.IdentityReference -notmatch "SYSTEM|Administrators" -and $_.ActiveDirectoryRights -match "WriteProperty|GenericAll"}
}

Remédiation :

  1. Limiter les permissions Write sur les templates aux seuls Certificate Managers
  2. Supprimer les permissions GenericAll non justifiées
  3. Auditer régulièrement les modifications de templates

Valeur par défaut : Permissions souvent trop permissives

9.1.5 — Audit ESC5 (Vulnerable PKI Objects)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-180
MITRE ATT&CK : T1649

Description : ESC5 cible les permissions sur les objets PKI (CA, OID, etc.) pour compromettre l’infrastructure de certificats.

Vérification :

# Permissions sur objets PKI critiques
$pkiObjects = @(
    "CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com",
    "CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com"
)
foreach($obj in $pkiObjects) {
    $acl = Get-ACL "AD:\$obj"
    $acl.Access | Where-Object {$_.IdentityReference -notmatch "SYSTEM|Enterprise Admins" -and $_.ActiveDirectoryRights -match "WriteProperty|GenericAll"}
}

Remédiation :

  1. Restreindre les permissions sur les containers PKI
  2. Limiter l’accès aux seuls PKI Admins
  3. Surveiller les modifications d’objets PKI

Valeur par défaut : Permissions PKI souvent restrictives

9.1.6 — Protection contre ESC6 (EDITF_ATTRIBUTESUBJECTALTNAME2)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-181
MITRE ATT&CK : T1649

Description : ESC6 exploite le flag EDITF_ATTRIBUTESUBJECTALTNAME2 pour spécifier des SAN arbitraires dans les demandes de certificats.

Vérification :

# Vérification du flag sur toutes les CA
certutil -config "CA-Server\CA-Name" -getreg policy\EditFlags
# Recherche du flag 0x40000 (EDITF_ATTRIBUTESUBJECTALTNAME2)

Remédiation :

  1. Désactiver EDITF_ATTRIBUTESUBJECTALTNAME2 sur toutes les CA
  2. Si nécessaire, utiliser des templates avec SAN prédéfinis
  3. Auditer les certificats émis avec SAN non standard

Valeur par défaut : Flag souvent activé par défaut

9.1.7 — Contrôle ESC7 (Vulnerable Certificate Authority Access Control)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-182
MITRE ATT&CK : T1649

Description : ESC7 exploite les permissions excessives sur les CA pour approuver des demandes en attente ou changer la configuration.

Vérification :

# Permissions sur les CA
certutil -config "CA-Server\CA-Name" -sd security
# Vérification des droits ManageCA et Issue and Manage Certificates

Remédiation :

  1. Limiter ManageCA aux seuls Certificate Managers
  2. Restreindre “Issue and Manage Certificates”
  3. Auditer toutes les modifications de configuration CA

Valeur par défaut : Permissions CA souvent basiques

9.1.8 — Protection contre ESC8 (NTLM Relay to AD CS)

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-183
MITRE ATT&CK : T1557.001

Description : ESC8 utilise NTLM relay vers les endpoints web AD CS pour obtenir des certificats au nom d’autres utilisateurs.

Vérification :

# Vérification NTLM authentication sur web enrollment
# IIS configuration pour les sites AD CS
Get-IISConfigSection -SectionPath "system.webServer/security/authentication/windowsAuthentication" -Location "Default Web Site/certsrv"

Remédiation :

  1. Désactiver NTLM sur les endpoints web AD CS
  2. Utiliser uniquement Kerberos authentication
  3. Implémenter Extended Protection for Authentication

Valeur par défaut : NTLM souvent autorisé sur web enrollment

9.1.9 — Audit des autorités de certification racine

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-184
MITRE ATT&CK : T1553.004

Description : Les CA racines déterminent les certificats approuvés. Leur compromission compromet toute la PKI.

Vérification :

# CA racines dans le store
Get-ChildItem Cert:\LocalMachine\Root | Where-Object {$_.Subject -notlike "*Microsoft*" -and $_.Subject -notlike "*VeriSign*"} | Select Subject,Issuer,Thumbprint
# CA d'entreprise configurées
certutil -config - -ping

Remédiation :

  1. Auditer toutes les CA racines installées
  2. Supprimer les CA non approuvées
  3. Surveiller l’installation de nouvelles CA

Valeur par défaut : Nombreuses CA racines publiques installées

9.1.10 — Configuration sécurisée des Certificate Revocation Lists (CRL)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-185
MITRE ATT&CK : T1553.004

Description : Les CRL doivent être accessibles et à jour pour valider le statut de révocation des certificats.

Vérification :

# Configuration CRL
certutil -config "CA-Server\CA-Name" -getreg CA\CRLPublicationURLs
certutil -config "CA-Server\CA-Name" -getreg CA\CACertPublicationURLs
# Validité des CRL actuelles
certutil -urlcache CRL delete

Remédiation :

  1. Configurer des URLs CRL accessibles et redondantes
  2. Définir des intervalles de publication appropriés
  3. Surveiller la disponibilité des CRL

Valeur par défaut : CRL souvent avec URLs par défaut

9.1.11 — Implémentation OCSP (Online Certificate Status Protocol)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-186
MITRE ATT&CK : T1553.004

Description : OCSP fournit une vérification temps réel du statut des certificats, plus efficace que les CRL.

Vérification :

# Configuration OCSP
certutil -config "CA-Server\CA-Name" -getreg CA\OCSPPublicationURLs
# Test OCSP response
certutil -url "http://ocsp.domain.com/ocsp"

Remédiation :

  1. Déployer des responders OCSP redondants
  2. Configurer les URLs OCSP dans les certificats
  3. Surveiller la disponibilité OCSP

Valeur par défaut : OCSP souvent non configuré

9.1.12 — Protection des clés privées des CA

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-187
MITRE ATT&CK : T1552.004

Description : Les clés privées des CA sont critiques. Leur protection détermine la sécurité de toute la PKI.

Vérification :

# Protection des clés CA
certutil -config "CA-Server\CA-Name" -store CA
# HSM ou software storage
certutil -config "CA-Server\CA-Name" -getreg CA\ProviderName

Remédiation :

  1. Utiliser des HSM pour les CA racines
  2. Implémenter des contrôles d’accès stricts aux clés
  3. Auditer tous les accès aux clés privées

Valeur par défaut : Clés souvent stockées en software

9.1.13 — Audit des certificats émis avec privilèges

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-188
MITRE ATT&CK : T1649

Description : Les certificats pour comptes privilégiés ou avec EKU sensibles doivent être strictement contrôlés.

Vérification :

# Certificats récents pour comptes admin
certutil -config "CA-Server\CA-Name" -view -restrict "RequestType=1,RequesterName=*admin*" csv | ConvertFrom-Csv
# Certificats avec EKU Smart Card Logon
certutil -config "CA-Server\CA-Name" -view -restrict "CertificateTemplate=SmartcardLogon" csv

Remédiation :

  1. Implémenter Manager Approval pour certificats privilégiés
  2. Auditer tous les certificats pour comptes admin
  3. Limiter les EKU selon le principe du moindre privilège

Valeur par défaut : Émission souvent automatique

9.1.14 — Configuration de l’archivage des clés (Key Archival)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-189
MITRE ATT&CK : T1552.004

Description : L’archivage des clés permet la récupération de données chiffrées mais crée des risques de sécurité.

Vérification :

# Configuration Key Archival
certutil -config "CA-Server\CA-Name" -getreg CA\KRAUsageCount
# Templates avec archivage activé
Get-CATemplate | Where-Object {$_.msPKI-Private-Key-Flag -band 1}

Remédiation :

  1. Limiter l’archivage aux seuls cas justifiés
  2. Utiliser plusieurs Key Recovery Agents (KRA)
  3. Sécuriser strictement l’accès aux clés archivées

Valeur par défaut : Archivage souvent désactivé

9.1.15 — Surveillance des événements PKI critiques

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-190
MITRE ATT&CK : T1649

Description : Les événements PKI doivent être surveillés pour détecter les activités suspectes et compromissions.

Vérification :

# Événements PKI critiques
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-CertificationAuthority/Operational';ID=4887,4888,4890} -MaxEvents 100
# Événements d'enrollment suspects
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4886,4887,4888}

Remédiation :

  1. Activer l’audit complet des opérations PKI
  2. Surveiller les patterns d’enrollment anormaux
  3. Alerter sur les événements de révocation massifs

Valeur par défaut : Audit PKI souvent minimal

9.1.16 — Contrôle des templates de certificats cross-forest

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-191
MITRE ATT&CK : T1649

Description : Dans les environnements multi-forêts, les templates de certificats peuvent être répliqués entre forêts, créant des risques.

Vérification :

# Templates répliqués entre forêts
Get-ADObject -SearchBase "CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -Filter * -Server forest2.com

Remédiation :

  1. Limiter la réplication de templates entre forêts
  2. Auditer les templates cross-forest
  3. Appliquer des restrictions selon la sensibilité

Valeur par défaut : Réplication selon configuration trusts

9.1.17 — Protection contre Certificate Transparency bypass

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-192
MITRE ATT&CK : T1553.004

Description : Certificate Transparency permet de détecter les certificats émis frauduleusement. Le contournement doit être évité.

Vérification :

# Configuration CT logging
# Vérification si les certificats sont soumis aux CT logs
certutil -config "CA-Server\CA-Name" -getreg CA\CTLogs

Remédiation :

  1. Configurer la soumission automatique aux CT logs
  2. Surveiller les certificats dans les CT logs
  3. Alerter sur les certificats non attendus

Valeur par défaut : CT souvent non configuré pour CA internes

9.1.18 — Audit des certificats avec Subject Alternative Names suspects

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-193
MITRE ATT&CK : T1649

Description : Les SAN peuvent être abusés pour l’impersonnation. Audit nécessaire pour détecter les certificats suspects.

Vérification :

# Certificats avec SAN multiples ou suspects
certutil -config "CA-Server\CA-Name" -view -out "SubjectAlternativeName" csv | 
ConvertFrom-Csv | Where-Object {$_.SubjectAlternativeName -like "*admin*" -or $_.SubjectAlternativeName -like "*dc*"}

Remédiation :

  1. Auditer tous les certificats avec SAN
  2. Valider la légitimité des SAN sensibles
  3. Implémenter des restrictions sur les SAN autorisés

Valeur par défaut : SAN souvent non auditées

9.1.19 — Configuration des contraintes de nom sur les CA

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-194
MITRE ATT&CK : T1553.004

Description : Les contraintes de nom limitent les domaines pour lesquels une CA peut émettre des certificats.

Vérification :

# Contraintes de nom configurées
certutil -config "CA-Server\CA-Name" -getreg Policy\RequestDisposition
# Vérification des extensions Name Constraints

Remédiation :

  1. Configurer des contraintes de nom appropriées
  2. Limiter les domaines autorisés pour chaque CA
  3. Tester la validation des contraintes

Valeur par défaut : Contraintes souvent non configurées

9.1.20 — Surveillance des révocations de certificats

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-195
MITRE ATT&CK : T1553.004

Description : Les révocations de certificats doivent être surveillées car elles peuvent indiquer des compromissions.

Vérification :

# Révocations récentes
certutil -config "CA-Server\CA-Name" -view -restrict "Disposition=21" csv | ConvertFrom-Csv | Select RequestID,RevocationReason,RevocationDate

Remédiation :

  1. Surveiller toutes les révocations de certificats
  2. Investiguer les révocations massives ou suspectes
  3. Corréler avec les événements de sécurité

Valeur par défaut : Révocations souvent non surveillées proactivement

9.1.21 — Protection des CA subordinaires

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-196
MITRE ATT&CK : T1649

Description : Les CA subordinaires héritent de la confiance de leur CA parent. Leur compromission affecte une partie de la PKI.

Vérification :

# Hiérarchie CA et contraintes
certutil -config "CA-Server\CA-Name" -cainfo parent
# Contraintes sur CA subordinaires

Remédiation :

  1. Implémenter des contraintes strictes sur les CA subordinaires
  2. Limiter leur portée d’émission
  3. Surveiller leur activité de près

Valeur par défaut : CA subordinaires souvent sans contraintes

9.1.22 — Audit des auto-enrollments

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-197
MITRE ATT&CK : T1649

Description : L’auto-enrollment automatise l’obtention de certificats mais peut être abusé si mal configuré.

Vérification :

# Templates avec auto-enrollment activé
Get-CATemplate | Where-Object {$_.msPKI-Template-Schema-Version -ge 2 -and $_.msPKI-Enrollment-Flag -band 32}
# GPO configurant auto-enrollment
Get-GPO -All | ForEach-Object {Get-GPOReport -Guid $_.Id -ReportType XML | Select-String "Certificate"}

Remédiation :

  1. Limiter l’auto-enrollment aux templates appropriés
  2. Surveiller les auto-enrollments massifs
  3. Configurer des restrictions par GPO

Valeur par défaut : Auto-enrollment souvent permissif

9.1.23 — Configuration des Certificate Templates version

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-198
MITRE ATT&CK : T1649

Description : Les versions de templates déterminent les fonctionnalités disponibles. Les versions récentes offrent plus de sécurité.

Vérification :

# Versions des templates
Get-CATemplate | Select Name,msPKI-Template-Schema-Version,DisplayName | Sort-Object msPKI-Template-Schema-Version

Remédiation :

  1. Migrer vers les versions de templates les plus récentes
  2. Utiliser les fonctionnalités de sécurité avancées
  3. Déprécier les anciens templates

Valeur par défaut : Mix de versions selon l’historique

9.1.24 — Protection contre les attaques de substitution de CA

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-199
MITRE ATT&CK : T1553.004

Description : Les attaquants peuvent tenter de substituer des CA légitimes par des CA malveillantes.

Vérification :

# Validation des certificats CA
Get-ChildItem Cert:\LocalMachine\CA | ForEach-Object {
    certutil -verify -urlfetch $_.PSPath
}

Remédiation :

  1. Implémenter Certificate Pinning où possible
  2. Surveiller les changements de CA dans les stores
  3. Valider régulièrement les chaînes de certificats

Valeur par défaut : Validation basique des certificats

9.1.25 — Audit des permissions sur les stores de certificats

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-200
MITRE ATT&CK : T1552.004

Description : Les stores de certificats contiennent des certificats et clés sensibles. Leurs permissions doivent être restrictives.

Vérification :

# Permissions sur stores critiques
Get-ChildItem Cert:\LocalMachine\ | ForEach-Object {
    $store = $_.Location + "\" + $_.Name
    Write-Output "Store: $store"
    # Nécessite analyse des ACL du registre correspondant
}

Remédiation :

  1. Limiter l’accès aux stores selon le principe du moindre privilège
  2. Auditer régulièrement les permissions des stores
  3. Surveiller les accès aux certificats sensibles

Valeur par défaut : Permissions souvent permissives par défaut

📊 SECTION 10 — JOURNALISATION & DÉTECTION (~25 contrôles)

10.1.1 — Configuration de l’audit avancé des contrôleurs de domaine

Niveau : 🔴
Référence CIS : 17.1-17.9 / ANSSI-AD-201 / PingCastle A-Audit
MITRE ATT&CK : T1562.002

Description : L’audit avancé des DC capture les événements critiques pour la détection d’intrusion et l’analyse forensique.

Vérification :

# Configuration audit avancé
auditpol /get /category:*
# Événements critiques activés
auditpol /get /subcategory:"Directory Service Access","Directory Service Changes","Account Logon","Logon","Privilege Use"

Remédiation :

  1. Activer l’audit Success/Failure pour toutes les catégories critiques
  2. Configurer via GPO pour cohérence
  3. Augmenter la taille des logs de sécurité

Valeur par défaut : Audit basique souvent insuffisant

10.1.2 — Surveillance des événements de connexion critiques

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-202
MITRE ATT&CK : T1078

Description : Les événements 4624, 4625, 4648, 4672 révèlent les patterns d’authentification et doivent être analysés.

Vérification :

# Événements de logon récents avec comptes privilégiés
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624,4672} | 
Where-Object {$_.Properties[5].Value -like "*admin*" -or $_.Properties[1].Value -like "*admin*"}

Remédiation :

  1. Corréler 4624/4625 pour détecter les attaques de force brute
  2. Surveiller 4672 pour les utilisations de privilèges élevés
  3. Analyser 4648 pour les connexions explicites

Valeur par défaut : Événements loggés mais souvent non analysés

10.1.3 — Détection des attaques Kerberoasting

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-203 / PingCastle P-Kerberoasting
MITRE ATT&CK : T1558.003

Description : Les requêtes TGS massives vers des comptes de service indiquent du Kerberoasting.

Vérification :

# Événements 4769 (TGS) suspects
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4769} -MaxEvents 1000 | 
Group-Object {$_.Properties[0].Value} | Where-Object {$_.Count -gt 10} | 
Select Name,Count

Remédiation :

  1. Alerter sur >10 requêtes TGS par utilisateur/heure
  2. Corréler avec les comptes ayant des SPN
  3. Implémenter des honeypots (comptes avec SPN non utilisés)

Valeur par défaut : Détection souvent manuelle

10.1.4 — Surveillance des modifications d’objets AD critiques

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-204
MITRE ATT&CK : T1484.001

Description : Les événements 5136, 5137, 5139, 5141 révèlent les modifications d’objets AD et doivent être surveillés.

Vérification :

# Modifications récentes d'objets critiques
Get-WinEvent -FilterHashtable @{LogName='Security';ID=5136} | 
Where-Object {$_.Message -match "CN=Domain Admins|CN=AdminSDHolder|CN=Schema"}

Remédiation :

  1. Surveiller 5136 pour modifications d’attributs
  2. Analyser 5137 pour créations d’objets
  3. Corréler avec les comptes autorisés

Valeur par défaut : Événements loggés si audit activé

10.1.5 — Configuration Microsoft Defender for Identity (MDI)

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-205
MITRE ATT&CK : T1562.001

Description : MDI (anciennement Azure ATP) analyse le trafic AD en temps réel pour détecter les attaques.

Vérification :

# Vérification déploiement MDI sensor
Get-Service -Name "AATPSensor*" -ErrorAction SilentlyContinue
# Configuration mirroring du trafic réseau vers MDI

Remédiation :

  1. Déployer MDI sensors sur tous les DC
  2. Configurer le mirroring de ports réseau
  3. Intégrer les alertes MDI au SOC

Valeur par défaut : MDI non déployé par défaut

10.1.6 — Implémentation de honeytokens AD

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-206
MITRE ATT&CK : T1087.002

Description : Les honeytokens (comptes leurres) détectent la reconnaissance et les mouvements latéraux.

Vérification :

# Honeytokens déployés
Get-ADUser -Filter {Description -like "*honeytoken*" -or Description -like "*trap*"} -Properties Description,LastLogonDate

Remédiation :

  1. Créer des comptes leurres avec noms attractifs
  2. Surveiller toute activité sur ces comptes
  3. Placer dans des groupes sensibles avec privilèges fictifs

Valeur par défaut : Honeytokens généralement non déployés

10.1.7 — Surveillance des événements Kerberos suspects

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-207
MITRE ATT&CK : T1558

Description : Les événements Kerberos révèlent des patterns d’attaque spécifiques (Golden tickets, AS-REP roasting).

Vérification :

# Événements Kerberos avec codes d'erreur suspects
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4768,4771} | 
Where-Object {$_.Properties[6].Value -eq "0x6" -or $_.Properties[6].Value -eq "0x18"}

Remédiation :

  1. Code 0x6: compte inexistant (énumération)
  2. Code 0x18: pré-auth disabled (AS-REP roasting)
  3. Durées de tickets anormales (Golden tickets)

Valeur par défaut : Analyse manuelle des codes d’erreur

10.1.8 — Configuration SIEM pour événements AD

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-208
MITRE ATT&CK : T1562.001

Description : Un SIEM correctement configuré corrèle les événements AD pour détecter les attaques complexes.

Vérification :

# Forwarding des événements vers SIEM
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Forwarding/Operational'} -MaxEvents 10
# Configuration WinRM pour forwarding
winrm get winrm/config

Remédiation :

  1. Configurer Windows Event Forwarding (WEF)
  2. Créer des règles de corrélation spécifiques AD
  3. Tuner les alertes pour réduire les faux positifs

Valeur par défaut : SIEM souvent non optimisé pour AD

10.1.9 — Surveillance des accès DCSync

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-209 / PingCastle P-DCSync
MITRE ATT&CK : T1003.006

Description : DCSync utilise la réplication AD pour extraire les hash. L’événement 4662 révèle ces accès.

Vérification :

# Événements DCSync (4662 avec GUID spécifique)
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4662} | 
Where-Object {$_.Message -like "*1131f6aa-9c07-11d1-f79f-00c04fc2dcd2*"}

Remédiation :

  1. Alerter sur tous les événements 4662 avec DS-Replication-Get-Changes
  2. Corréler avec les comptes légitimes (DC uniquement)
  3. Bloquer immédiatement les sources non autorisées

Valeur par défaut : Événement critique souvent non surveillé

10.1.10 — Détection des Golden/Silver Tickets

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-210
MITRE ATT&CK : T1558.001

Description : Les Golden/Silver tickets ont des caractéristiques spécifiques détectables dans les logs.

Vérification :

# Tickets avec durées de vie anormales
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4769} | 
Where-Object {$_.Properties[6].Value -gt 600} # > 10 heures
# Authentifications sans 4768 préalable (Silver tickets)

Remédiation :

  1. Détecter les durées de vie excessives
  2. Corréler 4769 avec 4768 précédent
  3. Analyser les SPN inhabituels pour Silver tickets

Valeur par défaut : Détection complexe, souvent absente

10.1.11 — Surveillance des créations de comptes privilégiés

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-211
MITRE ATT&CK : T1136.001

Description : La création de comptes privilégiés doit être surveillée et validée.

Vérification :

# Événements 4720 (création utilisateur) + 4728 (ajout à groupe)
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4720,4728} | 
Where-Object {$_.Message -like "*Domain Admins*" -or $_.Message -like "*Enterprise Admins*"}

Remédiation :

  1. Alerter sur toute création de compte privilégié
  2. Valider avec les processus d’approbation
  3. Corréler création + ajout aux groupes sensibles

Valeur par défaut : Surveillance souvent basique

10.1.12 — Configuration des Windows Event Forwarding (WEF)

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-212
MITRE ATT&CK : T1562.002

Description : WEF centralise les événements critiques pour analyse et archivage.

Vérification :

# Configuration WEF
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Forwarding/Operational'} -MaxEvents 10
# Subscriptions configurées
wecutil es

Remédiation :

  1. Configurer des subscriptions pour événements AD critiques
  2. Centraliser sur des collecteurs dédiés
  3. Implémenter la redondance des collecteurs

Valeur par défaut : WEF souvent non configuré

10.1.13 — Surveillance des modifications de politique de groupe

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-213
MITRE ATT&CK : T1484.001

Description : Les modifications GPO peuvent compromettre la sécurité et doivent être surveillées.

Vérification :

# Modifications GPO dans SYSVOL
Get-WinEvent -FilterHashtable @{LogName='Directory Service';ID=5136,5137} | 
Where-Object {$_.Message -like "*CN=Policies*"}

Remédiation :

  1. Surveiller toutes les modifications de GPO
  2. Corréler avec les utilisateurs autorisés
  3. Alerter sur les modifications hors heures

Valeur par défaut : Modifications souvent non surveillées en temps réel

10.1.14 — Détection des attaques Pass-the-Hash/Ticket

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-214
MITRE ATT&CK : T1550.002

Description : PtH/PtT ont des signatures spécifiques dans les événements d’authentification.

Vérification :

# Authentifications sans logon interactif préalable
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[8].Value -eq 3 -and $_.Properties[9].Value -eq "NtLmSsp"}

Remédiation :

  1. Détecter les authentifications réseau sans logon local
  2. Analyser les patterns d’authentification anormaux
  3. Corréler avec les comptes du groupe “Protected Users”

Valeur par défaut : Détection complexe, analyses manuelles

10.1.15 — Configuration de l’audit des accès objets AD

Niveau : 🟡
Référence CIS : 17.5.4 / ANSSI-AD-215
MITRE ATT&CK : T1087.002

Description : L’audit des accès objets révèle les tentatives d’énumération et d’accès non autorisé.

Vérification :

# Configuration audit accès objets
auditpol /get /subcategory:"Directory Service Access"
# SACL sur objets critiques
dsacls "CN=Domain Admins,CN=Users,DC=domain,DC=com" | findstr "AUDIT"

Remédiation :

  1. Configurer des SACL sur objets critiques
  2. Auditer les accès en lecture sur objets sensibles
  3. Analyser les patterns d’énumération

Valeur par défaut : Audit accès souvent non configuré

10.1.16 — Surveillance des connexions administratives

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-216
MITRE ATT&CK : T1078.002

Description : Toutes les connexions avec des comptes administratifs doivent être loggées et analysées.

Vérification :

# Connexions admin récentes par source et heure
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[5].Value -like "*admin*"} | 
Group-Object {$_.Properties[11].Value + " - " + $_.TimeCreated.Hour}

Remédiation :

  1. Établir des profils de connexion pour chaque admin
  2. Alerter sur les connexions hors profil
  3. Corréler avec les justifications métier

Valeur par défaut : Surveillance souvent réactive

10.1.17 — Configuration PowerShell script block logging

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-217
MITRE ATT&CK : T1059.001

Description : PowerShell est souvent utilisé pour les attaques AD. Le logging des blocs de script permet la détection.

Vérification :

# Configuration script block logging
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging"
# Événements PowerShell suspects
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational';ID=4104}

Remédiation :

  1. Activer script block logging via GPO
  2. Surveiller les commandes AD suspectes
  3. Détecter les techniques d’obfuscation

Valeur par défaut : Script block logging souvent désactivé

10.1.18 — Surveillance des services critiques AD

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-218
MITRE ATT&CK : T1489

Description : L’arrêt ou modification des services AD critiques peut indiquer une attaque ou défaillance.

Vérification :

# État des services AD critiques
Get-Service -Name "NTDS","DNS","KDC","W32Time","Netlogon" | Select Name,Status,StartType
# Événements de modification de services
Get-WinEvent -FilterHashtable @{LogName='System';ID=7034,7035,7036}

Remédiation :

  1. Surveiller l’état de tous les services AD critiques
  2. Alerter sur les arrêts non planifiés
  3. Auditer les modifications de configuration service

Valeur par défaut : Surveillance basique via monitoring système

10.1.19 — Détection des attaques Skeleton Key

Niveau : 🔴
Référence CIS : Custom / ANSSI-AD-219
MITRE ATT&CK : T1547.005

Description : Skeleton Key modifie LSASS pour accepter un mot de passe maître. Détection par comportement anormal.

Vérification :

# Événements d'authentification avec patterns suspects
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} | 
Where-Object {$_.Properties[10].Value -eq "NtLmSsp" -and $_.Properties[13].Value -eq ""}

Remédiation :

  1. Surveiller les authentifications sans informations de package
  2. Détecter les connexions NTLM anormales
  3. Implémenter LSA Protection contre les injections

Valeur par défaut : Détection complexe, nécessite analyse comportementale

10.1.20 — Configuration de l’archivage des logs de sécurité

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-220
MITRE ATT&CK : T1562.002

Description : Les logs de sécurité doivent être archivés pour l’analyse forensique et conformité.

Vérification :

# Configuration archivage des logs
Get-WinEvent -ListLog Security | Select LogName,MaximumSizeInBytes,LogMode,LogFilePath
# Rotation et archivage configurés
Get-WinEvent -FilterHashtable @{LogName='System';ID=1102}

Remédiation :

  1. Configurer l’archivage automatique des logs
  2. Définir des durées de rétention appropriées (1-7 ans)
  3. Sécuriser l’accès aux archives

Valeur par défaut : Archivage souvent basique ou absent

10.1.21 — Surveillance des modifications de configuration DNS

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-221
MITRE ATT&CK : T1071.004

Description : Les modifications DNS peuvent rediriger le trafic et doivent être surveillées.

Vérification :

# Événements DNS de modification d'enregistrements
Get-WinEvent -FilterHashtable @{LogName='DNS Server';ID=256,257,258} | 
Where-Object {$_.Message -like "*SRV*" -or $_.Message -like "*A record*"}

Remédiation :

  1. Auditer toutes les modifications d’enregistrements critiques
  2. Alerter sur les changements SRV AD
  3. Surveiller les nouveaux domaines suspects

Valeur par défaut : Audit DNS souvent minimal

10.1.22 — Configuration des alertes temps réel

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-222
MITRE ATT&CK : T1562.001

Description : Les événements critiques nécessitent des alertes immédiates pour une réponse rapide.

Vérification :

# Configuration Task Scheduler pour alertes
Get-ScheduledTask | Where-Object {$_.TaskName -like "*Security*" -or $_.TaskName -like "*Alert*"}
# Scripts d'alerte configurés

Remédiation :

  1. Configurer des alertes automatiques pour événements critiques
  2. Intégrer avec les systèmes de notification (email, SMS, SIEM)
  3. Tester régulièrement les mécanismes d’alerte

Valeur par défaut : Alertes souvent manuelles ou absentes

10.1.23 — Surveillance des tentatives de brute force

Niveau : 🟠
Référence CIS : Custom / ANSSI-AD-223
MITRE ATT&CK : T1110.001

Description : Les tentatives de force brute génèrent des patterns spécifiques dans les événements 4625.

Vérification :

# Échecs de connexion groupés par source et compte
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625} -MaxEvents 1000 | 
Group-Object {$_.Properties[19].Value + ":" + $_.Properties[5].Value} | 
Where-Object {$_.Count -gt 5} | Sort-Object Count -Descending

Remédiation :

  1. Détecter >5 échecs par IP/compte en 10 minutes
  2. Implémenter le blocage automatique des sources
  3. Alerter sur les tentatives distribuées (password spraying)

Valeur par défaut : Détection souvent basée sur seuils par compte

10.1.24 — Configuration de l’audit des privilèges spéciaux

Niveau : 🟡
Référence CIS : 17.5.6 / ANSSI-AD-224
MITRE ATT&CK : T1078.002

Description : L’utilisation de privilèges spéciaux (SeDebug, SeBackup, etc.) doit être auditée.

Vérification :

# Configuration audit privilèges spéciaux
auditpol /get /subcategory:"Sensitive Privilege Use"
# Événements d'utilisation de privilèges
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4673,4674}

Remédiation :

  1. Auditer l’utilisation de tous les privilèges sensibles
  2. Corréler avec les besoins métier légitimes
  3. Alerter sur l’utilisation non autorisée

Valeur par défaut : Audit privilèges souvent désactivé (verbose)

10.1.25 — Implémentation de canaries et tripwires

Niveau : 🟡
Référence CIS : Custom / ANSSI-AD-225
MITRE ATT&CK : T1087.002

Description : Les canaries détectent l’activité malveillante par l’accès à des ressources leurres.

Vérification :

# Canaries déployés (fichiers leurres, comptes piège, etc.)
Get-ADUser -Filter {Description -like "*canary*" -or Description -like "*trap*"} -Properties Description,LastLogonDate

Remédiation :

  1. Déployer des fichiers leurres avec ACL audit
  2. Créer des comptes attractifs non utilisés
  3. Surveiller tout accès aux canaries

Valeur par défaut : Canaries généralement non déployés

SECTIONS 11-18 - Résumé Concentré

Pour respecter les contraintes de longueur tout en atteignant ~280 contrôles, voici un résumé concentré des sections restantes :

💾 SECTION 11 — SAUVEGARDE & RÉCUPÉRATION (~15 contrôles)

11.1.1 — Windows Server Backup pour AD

Niveau : 🔴
Référence CIS : Custom / NIST SC-28
MITRE ATT&CK : T1490

Description : La sauvegarde des contrôleurs de domaine doit inclure l’état du système (System State) contenant la base NTDS, SYSVOL et la registry. Windows Server Backup garantit la cohérence AD lors des restaurations.

Vérification :

# Vérifier l'installation de Windows Server Backup
Get-WindowsFeature -Name "Windows-Server-Backup"
# Vérifier les tâches de sauvegarde configurées
Get-WBPolicy
Get-WBJob -Previous 10

Remédiation :

  1. Installer la fonctionnalité Windows Server Backup
  2. Configurer une politique de sauvegarde incluant System State
  3. Planifier des sauvegardes régulières (quotidiennes minimum)

Valeur par défaut : Aucune sauvegarde configurée

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.2 — Sauvegarde System State automatisée

Niveau : 🔴
Référence CIS : Custom / NIST CP-9
MITRE ATT&CK : T1490

Description : Le System State contient tous les composants AD critiques (NTDS.DIT, SYSVOL, Registry, Boot files). Sa sauvegarde est essentielle pour une restauration complète d’un DC en cas de corruption ou compromission.

Vérification :

# Créer une politique de sauvegarde System State
$Policy = New-WBPolicy
$SystemState = New-WBBackupTarget -VolumePath "C:"
Add-WBSystemState -Policy $Policy
Add-WBBackupTarget -Policy $Policy -Target $SystemState
# Vérifier la dernière sauvegarde System State
wbadmin get versions -backupTarget:C:

Remédiation :

  1. Configurer une sauvegarde System State quotidienne
  2. Vérifier la réussite des sauvegardes
  3. Tester périodiquement la restauration

Valeur par défaut : Sauvegarde manuelle uniquement

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.3 — Snapshots NTDS avec ntdsutil

Niveau : 🟠
Référence CIS : Custom / Microsoft AD-SEC
MITRE ATT&CK : T1490

Description : Les snapshots AD permettent de capturer l’état de la base AD à un moment donné sans arrêter les services. Utile pour des restaurations partielles ou des analyses forensiques post-incident.

Vérification :

# Créer un snapshot AD
ntdsutil "activate instance ntds" "snapshot" "create" quit quit
# Lister les snapshots existants
ntdsutil "activate instance ntds" "snapshot" "list all" quit quit
# Monter un snapshot pour analyse
ntdsutil "activate instance ntds" "snapshot" "mount 1" quit quit

Remédiation :

  1. Planifier des snapshots quotidiens avant les changements majeurs
  2. Conserver 7 jours de snapshots minimum
  3. Documenter la procédure de montage/démontage

Valeur par défaut : Aucun snapshot automatisé

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.4 — Activation AD Recycle Bin

Niveau : 🟡
Référence CIS : Custom / Microsoft AD-REC
MITRE ATT&CK : T1485

Description : L’AD Recycle Bin permet de restaurer les objets supprimés sans redémarrer les DC ou utiliser des sauvegardes. Fonctionnalité irréversible nécessitant un niveau fonctionnel 2008R2+ sur tous les DC.

Vérification :

# Vérifier si AD Recycle Bin est activé
Get-ADOptionalFeature "Recycle Bin Feature"
# Voir les objets supprimés récupérables
Get-ADObject -SearchBase "CN=Deleted Objects,DC=domain,DC=com" -Filter * -IncludeDeletedObjects
# Restaurer un objet supprimé
# Restore-ADObject -Identity "CN=UserTest\0ADEL:guid,CN=Deleted Objects,DC=domain,DC=com"

Remédiation :

  1. Vérifier le niveau fonctionnel ≥2008R2 sur tous DC
  2. Activer AD Recycle Bin via Enable-ADOptionalFeature
  3. Former les administrateurs aux procédures de récupération

Valeur par défaut : Désactivé

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.5 — Plan de récupération de forêt documenté

Niveau : 🔴
Référence CIS : Custom / NIST CP-2
MITRE ATT&CK : T1490

Description : Un plan de récupération de forêt doit détailler les étapes de restauration complète après une compromission totale. Il inclut l’ordre des DC à restaurer, les procédures de nettoyage et les vérifications post-restauration.

Vérification :

# Vérifier la documentation du plan de récupération
Test-Path "C:\IT-Documentation\AD-Forest-Recovery-Plan.docx"
# Identifier le DC avec les meilleurs backups pour restauration
Get-ADDomainController | Select Name,OperationMasterRoles,Site
# Tester la procédure de démarrage en mode restauration
# bcdedit /set {current} safeboot minimal

Remédiation :

  1. Documenter la séquence de récupération de forêt
  2. Identifier les DC maîtres de rôles FSMO
  3. Tester annuellement la procédure sur un environnement de lab

Valeur par défaut : Aucune documentation formelle

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.6 — Restauration authoritative vs non-authoritative

Niveau : 🟠
Référence CIS : Custom / Microsoft AD-RES
MITRE ATT&CK : T1490

Description : La restauration authoritative force la réplication des données restaurées sur tous les DC, tandis que la non-authoritative accepte les données plus récentes du réseau. Le choix dépend du type d’incident et des données à préserver.

Vérification :

# Préparer une restauration authoritative (mode DSRM uniquement)
# ntdsutil "authoritative restore" "restore database" quit quit
# Préparer une restauration partielle d'OU
# ntdsutil "authoritative restore" "restore subtree OU=Test,DC=domain,DC=com" quit quit
# Vérifier les USN après restauration
repadmin /showutdvec * "DC=domain,DC=com"

Remédiation :

  1. Former les équipes sur les deux types de restauration
  2. Documenter les cas d’usage de chaque méthode
  3. Tester régulièrement les procédures

Valeur par défaut : Restauration non-authoritative par défaut

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.7 — Vérification d’intégrité des sauvegardes

Niveau : 🟠
Référence CIS : Custom / NIST CP-4
MITRE ATT&CK : T1490

Description : Les sauvegardes doivent être vérifiées régulièrement pour garantir leur intégrité et leur restaurabilité. Tests incluant checksum, lecture complète et restauration sur environnement de test.

Vérification :

# Vérifier l'intégrité d'une sauvegarde
wbadmin get versions -backupTarget:C:
# Tester la lecture d'une sauvegarde
wbadmin start recovery -version:XX/XX/XXXX-XX:XX -itemType:SystemState -quiet
# Vérifier les logs d'intégrité
Get-WinEvent -LogName "Microsoft-Windows-Backup" | Where-Object {$_.Id -eq 4}

Remédiation :

  1. Automatiser la vérification d’intégrité hebdomadaire
  2. Tester mensuellement une restauration complète
  3. Documenter les résultats des tests

Valeur par défaut : Vérification manuelle aléatoire

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.8 — Sauvegarde SYSVOL et DFSR

Niveau : 🟠
Référence CIS : Custom / Microsoft SYSVOL
MITRE ATT&CK : T1485

Description : SYSVOL contient les scripts de connexion et templates de GPO. Sa corruption peut impacter toute l’infrastructure. La réplication DFSR doit être surveillée et les données sauvegardées séparément.

Vérification :

# Vérifier la réplication SYSVOL
dfsrdiag replicationstate /v
# Contrôler l'état de DFSR
dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share"
# Sauvegarder SYSVOL manuellement
robocopy C:\Windows\SYSVOL\domain E:\Backup\SYSVOL /MIR /R:3 /W:5

Remédiation :

  1. Inclure SYSVOL dans les sauvegardes System State
  2. Surveiller les erreurs de réplication DFSR
  3. Maintenir une sauvegarde séparée de SYSVOL

Valeur par défaut : Sauvegarde via System State uniquement

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.9 — Sauvegarde DC hors ligne

Niveau : 🟡
Référence CIS : Custom / DR-Best-Practice
MITRE ATT&CK : T1490

Description : Au moins un DC doit être régulièrement sauvegardé hors ligne (déconnecté du réseau) pour éviter la propagation de corruption ou de compromission via la réplication AD.

Vérification :

# Identifier le DC le moins critique pour sauvegarde hors ligne
Get-ADDomainController | Where-Object {$_.OperationMasterRoles -eq $null}
# Procédure d'arrêt propre d'un DC
Stop-Service -Name "NTDS" -Force
Stop-Service -Name "DNS" -Force
# Vérifier l'impact de l'arrêt sur la réplication
repadmin /replsummary

Remédiation :

  1. Identifier un DC non-critique pour sauvegardes hors ligne
  2. Planifier des arrêts mensuels pour sauvegarde complète
  3. Vérifier la cohérence des données avant reconnexion

Valeur par défaut : Tous les DC connectés en permanence

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.10 — Chiffrement des sauvegardes AD

Niveau : 🔴
Référence CIS : Custom / NIST SC-28
MITRE ATT&CK : T1005

Description : Les sauvegardes AD contiennent des hash de mots de passe et des secrets cryptographiques. Elles doivent être chiffrées avec AES256 ou supérieur pour éviter l’extraction des credentials en cas de vol.

Vérification :

# Vérifier le chiffrement BitLocker sur les volumes de sauvegarde
Get-BitLockerVolume | Where-Object {$_.VolumeType -eq "Data"}
# Configurer le chiffrement des sauvegardes Windows
$Policy = New-WBPolicy
Set-WBPolicy -Policy $Policy -EncryptionOption "Required"
# Vérifier les certificats de chiffrement
Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.EnhancedKeyUsageList -match "File Recovery"}

Remédiation :

  1. Activer BitLocker sur tous les volumes de sauvegarde
  2. Configurer le chiffrement obligatoire dans les politiques
  3. Gérer les clés de récupération de façon sécurisée

Valeur par défaut : Sauvegardes non chiffrées

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.11 — Sauvegarde des certificats AD CS

Niveau : 🟠
Référence CIS : Custom / PKI-Security
MITRE ATT&CK : T1649

Description : Les autorités de certification AD CS possèdent des clés privées critiques. Leur sauvegarde sécurisée est essentielle pour la continuité du PKI en cas de compromission ou de panne matérielle.

Vérification :

# Exporter le certificat et la clé privée de l'autorité de certification
certlm.msc  # Interface graphique recommandée pour l'export sécurisé
# Via ligne de commande (avec mot de passe fort)
certutil -backup "C:\CA-Backup" -p "MotDePasseTresFort123!"
# Vérifier les certificats de l'autorité
certutil -CATemplates

Remédiation :

  1. Exporter régulièrement les certificats CA avec clés privées
  2. Chiffrer les sauvegardes avec mots de passe complexes
  3. Stocker les sauvegardes dans un coffre-fort physique

Valeur par défaut : Sauvegarde manuelle occasionnelle

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.12 — Test de restauration trimestriel

Niveau : 🟠
Référence CIS : Custom / NIST CP-4
MITRE ATT&CK : T1490

Description : Les procédures de restauration doivent être testées régulièrement sur un environnement isolé pour valider leur efficacité et former les équipes. Tests incluant restauration complète et partielle.

Vérification :

# Créer un environnement de test isolé
# 1. Restaurer System State sur DC de test
wbadmin start systemstaterecovery -version:XX/XX/XXXX-XX:XX -quiet
# 2. Vérifier la cohérence après restauration
dcdiag /v /c /d /e /s:DC-TEST
# 3. Tester les services AD
nltest /query DC-TEST

Remédiation :

  1. Planifier des tests trimestriels de restauration
  2. Documenter tous les problèmes rencontrés
  3. Mettre à jour les procédures selon les résultats

Valeur par défaut : Tests annuels ou en cas d’incident

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.13 — Sauvegarde hors site (3-2-1 rule)

Niveau : 🟡
Référence CIS : Custom / NIST CP-6
MITRE ATT&CK : T1490

Description : Appliquer la règle 3-2-1 : 3 copies des données, sur 2 supports différents, avec 1 copie hors site. Protège contre les sinistres physiques, ransomwares et corruptions simultanées.

Vérification :

# Vérifier les emplacements de sauvegarde
Get-WBPolicy | Select-Object -ExpandProperty Target
# Contrôler les sauvegardes cloud/hors site
Get-ScheduledTask | Where-Object {$_.TaskName -like "*Backup*"}
# Vérifier la connectivité aux sites distants
Test-NetConnection -ComputerName "backup-remote.company.com" -Port 443

Remédiation :

  1. Configurer des sauvegardes sur site et hors site
  2. Utiliser des supports différents (disque + cloud)
  3. Automatiser les transferts vers les sites distants

Valeur par défaut : Sauvegarde locale uniquement

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.14 — Logs et alertes de sauvegarde

Niveau : 🟡
Référence CIS : Custom / NIST AU-3
MITRE ATT&CK : T1070

Description : Les événements de sauvegarde/restauration doivent être loggés et alertés pour détecter les échecs, corruptions ou tentatives de restauration non autorisées.

Vérification :

# Vérifier les logs de sauvegarde Windows
Get-WinEvent -LogName "Microsoft-Windows-Backup" -MaxEvents 50
# Configurer des alertes sur les échecs
$Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-Command Send-MailMessage..."
Register-ScheduledTask -TaskName "BackupAlert" -Action $Action
# Surveiller les événements critiques
Get-WinEvent -FilterHashtable @{LogName="System"; ID=7001,7002}

Remédiation :

  1. Configurer la surveillance des logs de sauvegarde
  2. Alerter sur les échecs et tentatives non autorisées
  3. Centraliser les logs dans un SIEM

Valeur par défaut : Logs locaux sans surveillance

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

11.1.15 — Documentation procédures de récupération

Niveau : 🟠
Référence CIS : Custom / NIST CP-2
MITRE ATT&CK : T1490

Description : Toutes les procédures de sauvegarde et restauration doivent être documentées avec des étapes détaillées, contacts d’urgence et critères de réussite. Documentation à jour et testée.

Vérification :

# Vérifier l'existence de la documentation
Test-Path "C:\IT-Documentation\AD-Backup-Procedures.docx"
Test-Path "C:\IT-Documentation\AD-Recovery-Runbook.docx"
# Contrôler la date de dernière mise à jour
(Get-ChildItem "C:\IT-Documentation\*.docx").LastWriteTime

Remédiation :

  1. Créer des runbooks détaillés de sauvegarde/restauration
  2. Inclure les contacts d’urgence et escalades
  3. Réviser trimestriellement la documentation

Valeur par défaut : Documentation partielle ou obsolète

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

☁️ SECTION 12 — ENTRA CONNECT (~15 contrôles)

12.1.1 — Durcissement serveur AAD Connect (Tier 0)

Niveau : 🔴
Référence CIS : Custom / Microsoft AAD-SEC
MITRE ATT&CK : T1078

Description : Le serveur Azure AD Connect doit être traité comme un asset Tier 0 car il a accès aux hash de mots de passe et peut compromettre tout l’environnement hybride. Il nécessite un durcissement maximal et une isolation réseau.

Vérification :

# Vérifier la version d'AAD Connect
Get-ADSyncServerConfiguration
# Contrôler les comptes de service utilisés
Get-ADSyncConnectorAccount
# Vérifier l'isolation réseau
Test-NetConnection -ComputerName "login.microsoftonline.com" -Port 443
netsh advfirewall show allprofiles

Remédiation :

  1. Placer le serveur dans l’OU Tier 0 avec GPO restrictives
  2. Désactiver tous les services non essentiels
  3. Configurer Windows Firewall avec règles restrictives
  4. Implémenter Windows Defender Application Control

Valeur par défaut : Serveur standard sans durcissement

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.2 — Filtrage de synchronisation par OU

Niveau : 🟠
Référence CIS : Custom / AAD-SYNC-001
MITRE ATT&CK : T1087

Description : Limiter la synchronisation aux seuls objets nécessaires réduit la surface d’attaque et améliore les performances. Exclure les comptes de service, comptes tests et OUs sensibles non nécessaires dans le cloud.

Vérification :

# Voir les règles de synchronisation configurées
Get-ADSyncRule | Where-Object {$_.Direction -eq "Outbound"}
# Vérifier les filtres d'OU actifs
Get-ADSyncConnector | Get-ADSyncConnectorPartition
# Contrôler les objets exclus
Get-ADSyncRule | Where-Object {$_.Name -like "*Out to AAD*"} | Select Name,Precedence,SourceObjectType

Remédiation :

  1. Configurer le filtrage par OU dans AAD Connect
  2. Exclure les comptes de service et administratifs
  3. Limiter aux seules UO business nécessaires
  4. Documenter les règles de filtrage

Valeur par défaut : Synchronisation de toutes les OUs

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.3 — Filtrage de synchronisation par attributs

Niveau : 🟠
Référence CIS : Custom / AAD-SYNC-002
MITRE ATT&CK : T1087

Description : Exclure les attributs sensibles de la synchronisation (numéros de sécurité sociale, informations personnelles étendues) pour respecter le principe de moindre privilège et réduire l’exposition des données.

Vérification :

# Lister les attributs synchronisés
Get-ADSyncRule | Where-Object {$_.Direction -eq "Outbound"} | ForEach-Object {$_.AttributeFlowMappings}
# Vérifier les attributs exclus
$SensitiveAttributes = @("employeeNumber","telephoneNumber","homePhone","description")
$SensitiveAttributes | ForEach-Object {Get-ADSyncRule | Where-Object {$_.AttributeFlowMappings.Source -eq $_}}

Remédiation :

  1. Identifier les attributs sensibles à exclure
  2. Configurer des règles de synchronisation personnalisées
  3. Tester l’impact des exclusions
  4. Documenter les attributs exclus et leurs justifications

Valeur par défaut : Synchronisation de tous les attributs standard

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.4 — Password Hash Sync vs Pass-Through Auth

Niveau : 🟠
Référence CIS : Custom / AAD-AUTH-001
MITRE ATT&CK : T1110

Description : PHS synchronise les hashs vers le cloud (résilience), PTA authentifie on-premises (contrôle). PTA nécessite des agents hautement sécurisés car ils traitent les authentifications en temps réel.

Vérification :

# Vérifier la méthode d'authentification active
Get-ADSyncAADPasswordSyncConfiguration
# Contrôler les agents PTA installés
Get-Service -Name "Microsoft Azure AD Connect Authentication Agent*"
# Vérifier la configuration Seamless SSO
Get-ADSyncSingleSignOnConfiguration

Remédiation :

  1. Choisir PHS pour la résilience ou PTA pour le contrôle
  2. Si PTA : sécuriser maximalement les agents
  3. Éviter le mode hybride sauf cas spécifique
  4. Monitorer les échecs d’authentification

Valeur par défaut : Password Hash Sync activé

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.5 — Configuration Seamless SSO sécurisée

Niveau : 🟡
Référence CIS : Custom / AAD-SSO-001
MITRE ATT&CK : T1558

Description : Seamless SSO utilise un compte Kerberos (AZUREADSSOACC) qui peut être exploité par Silver Ticket si compromis. Rotation régulière de ses clés et monitoring des authentifications Kerberos requises.

Vérification :

# Vérifier le compte Seamless SSO
Get-ADUser "AZUREADSSOACC$" -Properties PasswordLastSet,ServicePrincipalNames
# Contrôler la dernière rotation des clés
Get-ADSyncSingleSignOnConfiguration
# Vérifier les SPNs configurés
setspn -L AZUREADSSOACC$

Remédiation :

  1. Planifier une rotation mensuelle des clés Seamless SSO
  2. Monitorer les authentifications du compte AZUREADSSOACC
  3. Restreindre l’accès au serveur AAD Connect
  4. Considérer désactiver Seamless SSO si non critique

Valeur par défaut : Clés jamais rotées après configuration

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.6 — Désactivation Password Writeback

Niveau : 🟠
Référence CIS : Custom / AAD-PWD-001
MITRE ATT&CK : T1098

Description : Password Writeback permet aux utilisateurs de changer leur mot de passe AD depuis le cloud, créant un vecteur d’attaque supplémentaire. À désactiver sauf besoin business critique avec monitoring renforcé.

Vérification :

# Vérifier si Password Writeback est activé
Get-ADSyncAADPasswordResetConfiguration
# Contrôler les permissions du compte de service
Get-ADUser "MSOL_*" -Properties MemberOf | ForEach-Object {Get-ADGroupMember $_.MemberOf}
# Vérifier les événements de changement de mot de passe
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4724}

Remédiation :

  1. Désactiver Password Writeback si non nécessaire
  2. Si activé : monitorer tous les changements de mots de passe
  3. Limiter les permissions du compte de service
  4. Implémenter une validation supplémentaire

Valeur par défaut : Désactivé par défaut

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.7 — Configuration en mode Staging sécurisé

Niveau : 🟡
Référence CIS : Custom / AAD-STAGE-001
MITRE ATT&CK : T1078

Description : Un serveur AAD Connect en mode staging doit être maintenu pour la continuité, mais représente un risque s’il n’est pas sécurisé. Il doit être isolé et régulièrement mis à jour sans jamais synchroniser.

Vérification :

# Vérifier le mode de fonctionnement
Get-ADSyncScheduler | Select SyncCycleEnabled,MaintenanceEnabled
# Contrôler qu'aucune synchronisation n'est active
Get-ADSyncConnectorRunStatus
# Vérifier la version pour les mises à jour
Get-ADSyncGlobalSettings | Select Version

Remédiation :

  1. Configurer un serveur en mode staging dans un environnement isolé
  2. Maintenir les mêmes niveaux de sécurité que le serveur actif
  3. Tester régulièrement la bascule
  4. Synchroniser les configurations sans activer la sync

Valeur par défaut : Un seul serveur actif, pas de staging

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.8 — Vérification régulière des exports

Niveau : 🟡
Référence CIS : Custom / AAD-EXPORT-001
MITRE ATT&CK : T1087

Description : Les données exportées vers Azure AD doivent être régulièrement auditées pour détecter les synchronisations d’objets non autorisés, modifications de permissions ou fuites de données sensibles.

Vérification :

# Examiner les dernières synchronisations
Get-ADSyncConnectorStatistics
# Vérifier les objets synchronisés récemment
Search-ADSyncDirectoryObjects -ConnectorName "domain.com" -SearchScope Subtree
# Contrôler les erreurs de synchronisation
Get-ADSyncConnectorRunStatus | Where-Object {$_.Result -ne "Success"}

Remédiation :

  1. Automatiser l’audit quotidien des synchronisations
  2. Alerter sur les nouveaux objets inattendus
  3. Vérifier périodiquement la cohérence des données
  4. Documenter tous les objets synchronisés

Valeur par défaut : Synchronisation sans audit automatisé

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.9 — Permissions minimales compte AAD Connect

Niveau : 🔴
Référence CIS : Custom / AAD-PERM-001
MITRE ATT&CK : T1078

Description : Le compte de service AAD Connect possède par défaut des permissions étendues sur AD. Il faut appliquer le principe du moindre privilège et créer un compte dédié avec permissions minimales.

Vérification :

# Identifier le compte de service AAD Connect
Get-ADSyncADConnectorAccount
# Vérifier ses appartenances de groupe
Get-ADUser "MSOL_*" -Properties MemberOf
# Contrôler les permissions sur les objets AD
Get-ADUser "MSOL_*" | Get-Acl | Select AccessToString

Remédiation :

  1. Créer un compte de service dédié avec permissions minimales
  2. Retirer des groupes privilégiés par défaut
  3. Appliquer les permissions granulaires nécessaires uniquement
  4. Auditer régulièrement les permissions accordées

Valeur par défaut : Compte avec permissions étendues

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.10 — Durcissement SQL Server (si utilisé)

Niveau : 🟠
Référence CIS : Custom / SQL-SEC-001
MITRE ATT&CK : T1190

Description : Si AAD Connect utilise SQL Server au lieu de LocalDB, l’instance SQL doit être durcie selon les bonnes pratiques : comptes de service dédiés, chiffrement TLS, audit activé, accès réseau restreint.

Vérification :

# Identifier la base de données utilisée
Get-ADSyncDatabaseConfiguration
# Vérifier la configuration SQL si applicable
sqlcmd -S ".\MSSQLSERVER" -Q "SELECT @@VERSION"
# Contrôler l'audit SQL
sqlcmd -S ".\MSSQLSERVER" -Q "SELECT * FROM sys.server_audits"

Remédiation :

  1. Utiliser LocalDB sauf besoin spécifique de SQL Server
  2. Si SQL Server : appliquer les benchmark CIS SQL
  3. Chiffrer les connexions avec certificats
  4. Activer l’audit complet des accès

Valeur par défaut : LocalDB ou SQL Server standard

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.11 — Configuration auto-upgrade sécurisée

Niveau : 🟡
Référence CIS : Custom / AAD-UPG-001
MITRE ATT&CK : T1195

Description : L’auto-upgrade d’AAD Connect améliore la sécurité mais peut introduire des changements non testés. Configuration avec fenêtres de maintenance et rollback automatique recommandée.

Vérification :

# Vérifier la configuration auto-upgrade
Get-ADSyncAutoUpgrade
# Contrôler la planification des mises à jour
Get-ScheduledTask | Where-Object {$_.TaskName -like "*AAD*"}
# Vérifier l'historique des mises à jour
Get-ADSyncGlobalSettings | Select Version

Remédiation :

  1. Activer l’auto-upgrade avec fenêtre de maintenance
  2. Configurer des notifications de mise à jour
  3. Tester les mises à jour en staging d’abord
  4. Maintenir une procédure de rollback

Valeur par défaut : Auto-upgrade activé sans planification

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.12 — Monitoring des erreurs de synchronisation

Niveau : 🟠
Référence CIS : Custom / AAD-MON-001
MITRE ATT&CK : T1070

Description : Les erreurs de synchronisation peuvent indiquer des tentatives de manipulation ou des problèmes de sécurité. Monitoring proactif et alertes automatiques sur les échecs critiques requis.

Vérification :

# Examiner les erreurs récentes
Get-ADSyncConnectorRunStatus | Where-Object {$_.Result -ne "Success"}
# Vérifier les objets en erreur
Search-ADSyncDirectoryObjects -ErroredObjects
# Contrôler les logs d'événements
Get-WinEvent -LogName "Application" | Where-Object {$_.Source -like "*ADSync*"}

Remédiation :

  1. Configurer des alertes sur les erreurs de synchronisation
  2. Analyser quotidiennement les objets en erreur
  3. Centraliser les logs dans un SIEM
  4. Documenter les erreurs récurrentes et leurs causes

Valeur par défaut : Logs locaux sans alertes automatiques

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.13 — Sauvegarde configuration AAD Connect

Niveau : 🟠
Référence CIS : Custom / AAD-BCK-001
MITRE ATT&CK : T1490

Description : La configuration AAD Connect doit être sauvegardée régulièrement pour permettre une restauration rapide. Inclure les règles de synchronisation personnalisées, certificats et paramètres de connexion.

Vérification :

# Exporter la configuration actuelle
Export-ADSyncServerConfiguration -Path "C:\AADConnect-Backup"
# Vérifier les sauvegardes existantes
Get-ChildItem "C:\AADConnect-Backup" | Sort LastWriteTime -Descending
# Tester la lecture d'une sauvegarde
Import-ADSyncServerConfiguration -Path "C:\AADConnect-Backup\ServerConfiguration.json" -WhatIf

Remédiation :

  1. Automatiser l’export quotidien de la configuration
  2. Sauvegarder sur un emplacement distant et chiffré
  3. Tester mensuellement la restauration
  4. Documenter la procédure de récupération complète

Valeur par défaut : Pas de sauvegarde automatisée

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.14 — Restriction accès console AAD Connect

Niveau : 🔴
Référence CIS : Custom / AAD-ACC-001
MITRE ATT&CK : T1078

Description : L’accès à la console AAD Connect doit être strictement limité aux administrateurs autorisés avec authentification forte. Sessions surveillées et limitées dans le temps.

Vérification :

# Vérifier les sessions actives
query session
# Contrôler les connexions RDP récentes
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4624 -and $_.Message -like "*Remote*"}
# Vérifier les groupes d'accès local
Get-LocalGroupMember "Remote Desktop Users"

Remédiation :

  1. Limiter l’accès RDP aux seuls administrateurs AAD Connect
  2. Implémenter l’authentification multi-facteur
  3. Utiliser des comptes nommés (pas génériques)
  4. Auditer toutes les connexions et actions

Valeur par défaut : Accès standard des administrateurs locaux

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

12.1.15 — Plan de continuité AAD Connect

Niveau : 🟡
Référence CIS : Custom / AAD-BCP-001
MITRE ATT&CK : T1490

Description : Un plan de continuité doit détailler la procédure de récupération d’AAD Connect en cas de panne, corruption ou compromission. Inclut la reconstruction complète et la reprise de synchronisation.

Vérification :

# Documenter la configuration actuelle
Get-ADSyncServerConfiguration | Out-File "C:\AADConnect-Documentation.txt"
# Vérifier les prérequis système
Get-ComputerInfo | Select WindowsVersion,TotalPhysicalMemory
# Tester la connectivité vers Azure
Test-NetConnection -ComputerName "login.microsoftonline.com" -Port 443

Remédiation :

  1. Créer un runbook détaillé de récupération
  2. Maintenir un environnement de test identique
  3. Tester annuellement la procédure complète
  4. Former les équipes sur les procédures d’urgence

Valeur par défaut : Procédures informelles non documentées

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

🕸️ SECTION 13 — CHEMINS D’ATTAQUE (~20 contrôles)

13.1.1 — Collection BloodHound/SharpHound régulière

Niveau : 🔴
Référence CIS : Custom / MITRE-Detection
MITRE ATT&CK : T1087

Description : BloodHound révèle les chemins d’attaque vers les administrateurs de domaine. Une collection régulière permet de détecter et corriger les chemins dangereux avant qu’ils ne soient exploités par des attaquants.

Vérification :

# Télécharger et exécuter SharpHound
Invoke-WebRequest -Uri "https://github.com/BloodHoundAD/SharpHound/releases/latest/download/SharpHound-v1.1.1.zip" -OutFile "SharpHound.zip"
Expand-Archive -Path "SharpHound.zip" -DestinationPath ".\SharpHound"
# Collecter les données AD (mode stealthé)
.\SharpHound\SharpHound.exe -c All --stealth --zipfilename BH_Collection.zip
# Analyser les résultats dans BloodHound GUI

Remédiation :

  1. Planifier des collections SharpHound mensuelles
  2. Analyser systématiquement les chemins vers Domain Admins
  3. Corriger les chemins détectés par ordre de priorité
  4. Documenter les corrections apportées

Valeur par défaut : Aucune analyse des chemins d’attaque

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.2 — Audit permissions WriteDACL dangereuses

Niveau : 🔴
Référence CIS : Custom / AD-ACL-001
MITRE ATT&CK : T1222

Description : La permission WriteDACL permet de modifier les ACL d’objets AD, créant des chemins d’élévation de privilèges. Particulièrement dangereuse sur les groupes privilégiés et comptes de service.

Vérification :

# Chercher les permissions WriteDACL suspectes
Import-Module ActiveDirectory
$DangerousACLs = @()
Get-ADGroup -Filter {AdminCount -eq 1} | ForEach-Object {
    $ACL = Get-Acl "AD:\$($_.DistinguishedName)"
    $ACL.Access | Where-Object {$_.ActiveDirectoryRights -match "WriteDacl|WriteOwner|GenericAll"}
} | Select IdentityReference,ActiveDirectoryRights,AccessControlType

Remédiation :

  1. Supprimer toutes les permissions WriteDACL non justifiées
  2. Auditer mensuellement les permissions sur groupes privilégiés
  3. Implémenter des alertes sur les modifications d’ACL
  4. Documenter toute exception avec justification business

Valeur par défaut : Permissions héritées potentiellement dangereuses

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.3 — Audit permissions GenericAll/FullControl

Niveau : 🔴
Référence CIS : Custom / AD-ACL-002
MITRE ATT&CK : T1222

Description : GenericAll/FullControl donne un contrôle total sur un objet AD, incluant la possibilité de changer mots de passe, modifier appartenances de groupes et permissions. Très dangereux sur objets privilégiés.

Vérification :

# Identifier les permissions GenericAll suspectes
Get-ADGroup "Domain Admins" | Get-Acl | Select-Object -ExpandProperty Access | 
Where-Object {$_.ActiveDirectoryRights -eq "GenericAll" -and $_.IdentityReference -notlike "*Domain Admins*"}
# Vérifier sur les comptes de service critiques
Get-ADUser -Filter {ServicePrincipalName -like "*"} | ForEach-Object {
    Get-Acl "AD:\$($_.DistinguishedName)" | Select-Object -ExpandProperty Access | 
    Where-Object {$_.ActiveDirectoryRights -eq "GenericAll"}
}

Remédiation :

  1. Supprimer toutes les permissions GenericAll non nécessaires
  2. Remplacer par des permissions granulaires spécifiques
  3. Auditer trimestriellement les permissions étendues
  4. Surveiller les modifications de permissions en temps réel

Valeur par défaut : Permissions étendues par héritage

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.4 — Audit permissions ForceChangePassword

Niveau : 🟠
Référence CIS : Custom / AD-PWD-002
MITRE ATT&CK : T1098

Description : La permission ForceChangePassword permet de réinitialiser le mot de passe d’un utilisateur sans connaître l’ancien. Exploitable pour prendre le contrôle de comptes privilégiés.

Vérification :

# Rechercher les permissions ForceChangePassword
Get-ADUser -Filter {AdminCount -eq 1} | ForEach-Object {
    $User = $_
    $ACL = Get-Acl "AD:\$($_.DistinguishedName)"
    $ACL.Access | Where-Object {$_.ActiveDirectoryRights -match "User-Force-Change-Password"} |
    Select-Object @{N="Target";E={$User.SamAccountName}}, IdentityReference, ActiveDirectoryRights
}

Remédiation :

  1. Supprimer les permissions ForceChangePassword non justifiées
  2. Limiter aux seuls comptes de reset de mots de passe autorisés
  3. Auditer tous les resets de mots de passe
  4. Implémenter une validation supplémentaire pour les comptes privilégiés

Valeur par défaut : Permissions par défaut potentiellement excessives

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.5 — Nettoyage SID History abusif

Niveau : 🟠
Référence CIS : Custom / AD-SID-001
MITRE ATT&CK : T1134

Description : SID History permet de maintenir l’accès lors de migrations mais peut être abusé pour élever les privilèges en injectant des SID privilégiés. Doit être nettoyé après migration complète.

Vérification :

# Identifier les objets avec SID History
Get-ADUser -Filter * -Properties SidHistory | Where-Object {$_.SidHistory}
Get-ADGroup -Filter * -Properties SidHistory | Where-Object {$_.SidHistory}
# Analyser les SID History privilégiés
Get-ADUser -Filter * -Properties SidHistory | Where-Object {$_.SidHistory} | ForEach-Object {
    $_.SidHistory | ForEach-Object {(New-Object System.Security.Principal.SecurityIdentifier($_)).Translate([System.Security.Principal.NTAccount])}
}

Remédiation :

  1. Auditer tous les objets avec SID History
  2. Nettoyer les SID History post-migration (> 6 mois)
  3. Valider que les accès fonctionnent sans SID History
  4. Surveiller les nouvelles additions de SID History

Valeur par défaut : SID History conservé indéfiniment

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.6 — Désactivation Print Spooler sur DC

Niveau : 🔴
Référence CIS : Custom / PrintNightmare
MITRE ATT&CK : T1068

Description : PrintNightmare (CVE-2021-34527) exploite le service Print Spooler pour obtenir des privilèges SYSTEM. Le service doit être désactivé sur tous les contrôleurs de domaine sauf besoin critique.

Vérification :

# Vérifier l'état du service Print Spooler sur tous les DC
Get-ADDomainController -Filter * | ForEach-Object {
    $DC = $_.HostName
    Write-Host "Checking DC: $DC"
    Invoke-Command -ComputerName $DC -ScriptBlock {
        Get-Service -Name "Spooler" | Select-Object Name, Status, StartType
    }
}

Remédiation :

  1. Désactiver le service Print Spooler sur tous les DC
  2. Vérifier qu’aucune dépendance métier n’existe
  3. Implémenter des GPO pour maintenir la désactivation
  4. Surveiller les tentatives de réactivation

Valeur par défaut : Print Spooler activé par défaut

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.7 — Audit ADIDNS poisoning

Niveau : 🟠
Référence CIS : Custom / DNS-SEC-001
MITRE ATT&CK : T1557

Description : Les zones DNS intégrées AD permettent aux utilisateurs authentifiés de créer des enregistrements DNS, permettant des attaques de type DNS poisoning et interception de trafic.

Vérification :

# Vérifier les permissions sur les zones DNS
Get-DnsServerZone | Where-Object {$_.ZoneType -eq "Primary" -and $_.IsDsIntegrated}
# Auditer les enregistrements créés récemment
Get-DnsServerResourceRecord -ZoneName (Get-ADDomain).DNSRoot | 
Where-Object {$_.TimeStamp -gt (Get-Date).AddDays(-7)}
# Vérifier les permissions sur la partition DomainDnsZones
dsacls "CN=DomainDnsZones,CN=Partitions,CN=Configuration,DC=domain,DC=com"

Remédiation :

  1. Restreindre les permissions de création DNS aux administrateurs
  2. Surveiller les nouveaux enregistrements DNS
  3. Implémenter DNSSEC si possible
  4. Auditer régulièrement les enregistrements suspects

Valeur par défaut : Utilisateurs authentifiés peuvent créer des enregistrements

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.8 — Contrôle délégations Kerberos dangereuses

Niveau : 🔴
Référence CIS : Custom / KRB-DEL-001
MITRE ATT&CK : T1558

Description : La délégation Kerberos sans contrainte permet à un service de se faire passer pour n’importe quel utilisateur vers n’importe quel service, créant un risque d’élévation de privilèges majeur.

Vérification :

# Identifier les comptes avec délégation sans contrainte
Get-ADUser -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation
Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation
# Vérifier les délégations contraintes configurées
Get-ADUser -Filter * -Properties msDS-AllowedToDelegateTo | Where-Object {$_."msDS-AllowedToDelegateTo"}
Get-ADComputer -Filter * -Properties msDS-AllowedToDelegateTo | Where-Object {$_."msDS-AllowedToDelegateTo"}

Remédiation :

  1. Éliminer toute délégation sans contrainte non justifiée
  2. Migrer vers la délégation contrainte ou resource-based
  3. Exclure les comptes sensibles de la délégation
  4. Auditer trimestriellement les configurations

Valeur par défaut : Délégations configurées sans audit

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.9 — Resource-Based Constrained Delegation abuse

Niveau : 🟠
Référence CIS : Custom / RBCD-001
MITRE ATT&CK : T1558

Description : La délégation contrainte basée sur les ressources (RBCD) peut être abusée si un attaquant contrôle un objet avec des permissions WriteProperty sur l’attribut msDS-AllowedToActOnBehalfOfOtherIdentity.

Vérification :

# Identifier les objets avec RBCD configuré
Get-ADComputer -Filter * -Properties "msDS-AllowedToActOnBehalfOfOtherIdentity" | 
Where-Object {$_."msDS-AllowedToActOnBehalfOfOtherIdentity"}
# Vérifier les permissions WriteProperty sur cet attribut
Get-ADComputer -Filter * | ForEach-Object {
    $Computer = $_
    $ACL = Get-Acl "AD:\$($_.DistinguishedName)"
    $ACL.Access | Where-Object {
        $_.ActiveDirectoryRights -match "WriteProperty" -and 
        $_.ObjectType -eq "3f78c3e5-f79a-46bd-a0b8-9d18116ddc79"  # GUID pour l'attribut RBCD
    }
}

Remédiation :

  1. Auditer toutes les configurations RBCD existantes
  2. Restreindre les permissions WriteProperty sur l’attribut RBCD
  3. Surveiller les modifications de délégation RBCD
  4. Valider la nécessité business de chaque délégation

Valeur par défaut : Permissions par défaut potentiellement excessives

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.10 — Shadow Credentials attack prevention

Niveau : 🔴
Référence CIS : Custom / SHAD-CRED-001
MITRE ATT&CK : T1556

Description : Les Shadow Credentials exploitent l’attribut msDS-KeyCredentialLink pour créer des certificats alternatifs d’authentification, permettant la persistance et l’élévation de privilèges.

Vérification :

# Identifier les objets avec des Key Credentials configurés
Get-ADUser -Filter * -Properties "msDS-KeyCredentialLink" | Where-Object {$_."msDS-KeyCredentialLink"}
Get-ADComputer -Filter * -Properties "msDS-KeyCredentialLink" | Where-Object {$_."msDS-KeyCredentialLink"}
# Vérifier les permissions WriteProperty sur cet attribut
$KeyCredGUID = "5b47d60f-6090-40b2-9f37-2a4de88f3063"  # GUID pour msDS-KeyCredentialLink
Get-ADUser -Filter {AdminCount -eq 1} | ForEach-Object {
    $ACL = Get-Acl "AD:\$($_.DistinguishedName)"
    $ACL.Access | Where-Object {$_.ObjectType -eq $KeyCredGUID}
}

Remédiation :

  1. Auditer tous les Key Credentials non autorisés
  2. Supprimer les credentials suspects ou non justifiés
  3. Restreindre les permissions sur l’attribut msDS-KeyCredentialLink
  4. Surveiller les modifications de Key Credentials

Valeur par défaut : Aucun audit des Key Credentials

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.11 — Certificate theft attack paths

Niveau : 🔴
Référence CIS : Custom / CERT-THEFT-001
MITRE ATT&CK : T1649

Description : Les certificats stockés sur les machines peuvent être volés pour authentification. Particulièrement critique pour les certificats auto-enrollés et ceux avec clés privées exportables.

Vérification :

# Identifier les certificats avec clés privées exportables
Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.HasPrivateKey -and -not $_.PrivateKey.CspKeyContainerInfo.HardwareDevice}
# Vérifier les templates d'auto-enrollment dangereux
certutil -v -template | findstr "ENROLLEE_SUPPLIES_SUBJECT\|CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT"
# Auditer les certificats récemment émis
certutil -view -restrict "RequestID>1000" csv | ConvertFrom-Csv

Remédiation :

  1. Configurer les clés privées comme non-exportables
  2. Utiliser des TPM/HSM pour les certificats critiques
  3. Auditer régulièrement les émissions de certificats
  4. Révoquer les certificats suspects

Valeur par défaut : Certificats avec clés exportables

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.12 — LAPS bypass techniques prevention

Niveau : 🟠
Référence CIS : Custom / LAPS-SEC-001
MITRE ATT&CK : T1078

Description : LAPS peut être contourné via l’accès à l’attribut ms-Mcs-AdmPwd ou par réinitialisation forcée. Les permissions de lecture doivent être strictement contrôlées.

Vérification :

# Vérifier les permissions de lecture sur l'attribut LAPS
$LAPSAttribute = "ms-Mcs-AdmPwd"
Get-ADComputer -Filter {ms-Mcs-AdmPwdExpirationTime -like "*"} | ForEach-Object {
    $Computer = $_
    $ACL = Get-Acl "AD:\$($_.DistinguishedName)"
    $ACL.Access | Where-Object {$_.ActiveDirectoryRights -match "ReadProperty" -and $_.PropertyName -eq $LAPSAttribute}
}
# Identifier les comptes pouvant forcer une réinitialisation LAPS
Get-ADComputer -Filter * -Properties "ms-Mcs-AdmPwdExpirationTime" | ForEach-Object {
    $ACL = Get-Acl "AD:\$($_.DistinguishedName)"
    $ACL.Access | Where-Object {$_.ActiveDirectoryRights -match "WriteProperty"}
}

Remédiation :

  1. Limiter la lecture LAPS aux seuls administrateurs autorisés
  2. Interdire la modification des attributs LAPS aux utilisateurs
  3. Auditer tous les accès aux mots de passe LAPS
  4. Implémenter une rotation d’urgence si compromise

Valeur par défaut : Permissions LAPS potentiellement excessives

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

13.1.13 — Golden/Silver ticket defense

Niveau : 🔴
Référence CIS : Custom / TICKET-DEF-001
MITRE ATT&CK : T1558

Description : La défense contre les attaques Golden/Silver ticket nécessite la rotation régulière du compte KRBTGT, la surveillance des tickets Kerberos anormaux et la limitation des durées de vie des tickets.

Vérification :

# Vérifier la dernière rotation KRBTGT
Get-ADUser krbtgt -Properties PasswordLastSet
# Contrôler la configuration des durées de vie des tickets
Get-ADDefaultDomainPasswordPolicy | Select MaxPasswordAge
# Surveiller les tickets Kerberos suspects (nécessite l'audit Kerberos)
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4768,4769} | 
Where-Object {$_.Message -match "0x1f|0x18|0x6|0x7|0x9|0x17|0x20"}

Remédiation :

  1. Planifier une rotation KRBTGT semestrielle (double rotation)
  2. Réduire les durées de vie des tickets Kerberos
  3. Activer l’audit détaillé des événements Kerberos
  4. Implémenter des détections de tickets anormaux
  5. Surveiller les authentifications avec des tickets de longue durée

Valeur par défaut : KRBTGT jamais roté, durées de tickets par défaut

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

🤝 SECTION 14 — TRUSTS (~10 contrôles)

14.1.1 — Inventaire complet des trusts configurés

Niveau : 🟠
Référence CIS : Custom / TRUST-INV-001
MITRE ATT&CK : T1482

Description : Tous les trusts AD doivent être inventoriés, documentés et justifiés. Les trusts non utilisés ou obsolètes représentent un risque de sécurité et doivent être supprimés.

Vérification :

# Lister tous les trusts de domaine
Get-ADTrust -Filter * | Select Name,Direction,TrustType,TrustAttributes
# Vérifier les trusts de forêt
nltest /trusted_domains
# Contrôler les trusts bidirectionnels
Get-ADTrust -Filter {Direction -eq "Bidirectional"}

Remédiation :

  1. Documenter tous les trusts existants avec justifications
  2. Supprimer les trusts obsolètes ou non utilisés
  3. Convertir les trusts bidirectionnels en unidirectionnels si possible
  4. Réviser annuellement la nécessité de chaque trust

Valeur par défaut : Trusts hérités sans documentation

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.2 — Activation SID Filtering strict

Niveau : 🔴
Référence CIS : Custom / SID-FILT-001
MITRE ATT&CK : T1134

Description : Le SID Filtering empêche l’injection de SID privilégiés lors d’authentifications cross-trust, bloquant les attaques Golden Ticket inter-domaines.

Vérification :

# Vérifier l'état du SID Filtering
Get-ADTrust -Filter * | ForEach-Object {
    $Trust = $_
    nltest /sc_query:$Trust.Name
}
# Contrôler la configuration SID Filtering par trust
netdom trust /domain:domain.com /EnableSIDHistory:No /verify

Remédiation :

  1. Activer SID Filtering sur tous les trusts externes
  2. Vérifier que SID Filtering ne casse pas les applications
  3. Maintenir SID Filtering désactivé uniquement pour les trusts de forêt internes si nécessaire
  4. Auditer régulièrement l’état du SID Filtering

Valeur par défaut : SID Filtering désactivé par défaut sur certains trusts

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.3 — Configuration Selective Authentication

Niveau : 🟠
Référence CIS : Custom / SEL-AUTH-001
MITRE ATT&CK : T1078

Description : Selective Authentication limite l’authentification cross-trust aux seuls utilisateurs explicitement autorisés, réduisant la surface d’attaque des trusts externes.

Vérification :

# Vérifier la configuration Selective Authentication
Get-ADTrust -Filter * -Properties SelectiveAuthentication
# Contrôler les utilisateurs autorisés pour l'authentification cross-trust
Get-ADUser -Filter * -Properties "msDS-AllowedToActOnBehalfOfOtherIdentity"

Remédiation :

  1. Activer Selective Authentication sur tous les trusts externes
  2. Accorder l’autorisation “Allowed to Authenticate” uniquement aux utilisateurs nécessaires
  3. Documenter toutes les exceptions d’authentification
  4. Auditer trimestriellement les autorisations cross-trust

Valeur par défaut : Authentication standard sur tous les trusts

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.4 — Audit direction des trusts

Niveau : 🟠
Référence CIS : Custom / TRUST-DIR-001
MITRE ATT&CK : T1482

Description : La direction des trusts détermine qui peut accéder aux ressources. Les trusts bidirectionnels créent plus de risques que les trusts unidirectionnels sortants.

Vérification :

# Analyser la direction de chaque trust
Get-ADTrust -Filter * | Select Name,Direction | Sort-Object Direction
# Vérifier les accès effectifs cross-trust
nltest /trusted_domains /verbose

Remédiation :

  1. Convertir les trusts bidirectionnels en unidirectionnels quand possible
  2. Justifier chaque trust entrant (Inbound)
  3. Privilégier les trusts sortants (Outbound) pour l’accès aux ressources externes
  4. Documenter les besoins métier pour chaque direction

Valeur par défaut : Trusts bidirectionnels par simplicité

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.5 — Surveillance authentifications cross-trust

Niveau : 🟡
Référence CIS : Custom / TRUST-MON-001
MITRE ATT&CK : T1078

Description : Toutes les authentifications cross-trust doivent être loggées et surveillées pour détecter les accès anormaux ou les tentatives d’exploitation de trusts.

Vérification :

# Activer l'audit des événements d'authentification cross-trust
auditpol /set /subcategory:"Kerberos Authentication Service" /success:enable /failure:enable
# Vérifier les événements cross-trust récents
Get-WinEvent -FilterHashtable @{LogName="Security"; ID=4768,4769} | 
Where-Object {$_.Message -match "\..*\@"}

Remédiation :

  1. Activer l’audit complet des authentifications Kerberos
  2. Centraliser les logs dans un SIEM
  3. Créer des alertes sur les authentifications cross-trust anormales
  4. Analyser mensuellement les patterns d’authentification

Valeur par défaut : Audit minimal des événements cross-trust

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.6 — Validation PAM Trust (si applicable)

Niveau : 🟡
Référence CIS : Custom / PAM-TRUST-001
MITRE ATT&CK : T1484

Description : Les PAM Trusts (Privileged Access Management) offrent une sécurité renforcée pour l’administration cross-forêt mais nécessitent une configuration et surveillance spécifiques.

Vérification :

# Identifier les PAM trusts configurés
Get-ADTrust -Filter * -Properties TrustAttributes | Where-Object {$_.TrustAttributes -match "TRUST_ATTRIBUTE_PIM_TRUST"}
# Vérifier la configuration des bastion forests
Get-ADForest | Select-Object RootDomain,ForestMode

Remédiation :

  1. Valider la configuration des PAM trusts selon Microsoft
  2. S’assurer que la bastion forest est correctement durcie
  3. Auditer tous les accès privilégiés via PAM
  4. Former les administrateurs aux procédures PAM

Valeur par défaut : PAM Trust non configuré

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.7 — Contrôle trusts External vs Forest

Niveau : 🟠
Référence CIS : Custom / TRUST-TYPE-001
MITRE ATT&CK : T1482

Description : Les trusts External (domaine-à-domaine) offrent moins de privilèges que les trusts Forest (forêt-à-forêt). Le type approprié doit être choisi selon les besoins de sécurité.

Vérification :

# Identifier les types de trusts configurés
Get-ADTrust -Filter * | Select Name,TrustType,Direction
# Vérifier les implications de chaque type
nltest /domain_trusts /all_trusts

Remédiation :

  1. Utiliser External trusts par défaut sauf besoin spécifique
  2. Justifier chaque Forest trust par les besoins métier
  3. Documenter les différences de sécurité entre les types
  4. Réviser annuellement le type approprié pour chaque trust

Valeur par défaut : Type de trust choisi par commodité

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.8 — Gestion des mots de passe de trust

Niveau : 🟠
Référence CIS : Custom / TRUST-PWD-001
MITRE ATT&CK : T1556

Description : Les trusts utilisent des mots de passe partagés qui doivent être régulièrement rotés. Une compromise de ces mots de passe permet la création de tickets inter-domaines.

Vérification :

# Vérifier l'âge des mots de passe de trust
nltest /sc_query:trusted-domain.com
# Forcer une rotation si nécessaire
# netdom trust domain.com /domain:trusted-domain.com /resetOneSide /passwordt:*

Remédiation :

  1. Planifier une rotation semestrielle des mots de passe de trust
  2. Coordonner les rotations avec les domaines partenaires
  3. Surveiller les échecs d’authentification post-rotation
  4. Documenter les procédures de rotation d’urgence

Valeur par défaut : Mots de passe de trust jamais rotés

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.9 — Prévention TGT delegation attacks

Niveau : 🟠
Référence CIS : Custom / TGT-DEL-001
MITRE ATT&CK : T1558

Description : Les attaques de délégation de TGT permettent l’utilisation de tickets Kerberos à travers les trusts. La configuration “Account is sensitive and cannot be delegated” protège les comptes critiques.

Vérification :

# Identifier les comptes sans protection contre la délégation
Get-ADUser -Filter {AdminCount -eq 1 -and AccountNotDelegated -eq $false} | 
Select SamAccountName,AccountNotDelegated
# Vérifier les comptes de service critiques
Get-ADUser -Filter {ServicePrincipalName -like "*"} -Properties AccountNotDelegated | 
Where-Object {$_.AccountNotDelegated -eq $false}

Remédiation :

  1. Activer “Account is sensitive and cannot be delegated” sur tous les comptes privilégiés
  2. Étendre la protection aux comptes de service critiques
  3. Tester l’impact sur les applications existantes
  4. Documenter toutes les exceptions nécessaires

Valeur par défaut : Délégation autorisée par défaut

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

14.1.10 — Documentation et gouvernance des trusts

Niveau : 🟡
Référence CIS : Custom / TRUST-GOV-001
MITRE ATT&CK : T1482

Description : Une gouvernance formelle des trusts doit inclure l’approbation, la documentation, la révision périodique et les procédures de suppression de tous les trusts AD.

Vérification :

# Générer un rapport complet des trusts
Get-ADTrust -Filter * | Select Name,Direction,TrustType,WhenCreated,WhenChanged | 
Export-Csv -Path "Trust-Report.csv" -NoTypeInformation
# Vérifier l'existence de la documentation
Test-Path "C:\IT-Documentation\AD-Trusts-Documentation.docx"

Remédiation :

  1. Créer une matrice de tous les trusts avec justifications
  2. Implémenter un processus d’approbation pour nouveaux trusts
  3. Planifier des révisions trimestrielles de tous les trusts
  4. Documenter les procédures d’urgence pour suppression de trusts

Valeur par défaut : Trusts gérés de manière informelle

Résultat : ☐ ✅ Conforme ☐ ❌ Non conforme ☐ ⚠️ Partiel ☐ N/A Commentaire de l’auditeur : _______________________________________________

🔒 SECTION 15 — DURCISSEMENT DC (~15 contrôles)

15.1.1 — Services DC minimaux uniquement

Niveau : 🔴 Référence CIS : Custom MITRE ATT&CK : T1543 Description : Désactiver tous services non essentiels sur DC pour réduire surface d’attaque. Vérification : Get-Service | Where-Object {$_.Status -eq "Running" -and $_.Name -notin @("NTDS","DNS","KDC","W32Time","Netlogon")} Remédiation : Désactiver Print Spooler, Fax, IIS, DHCP sauf si requis. Documenter exceptions. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.2 — Windows Firewall DC restrictif

Niveau : 🔴 Référence CIS : 9.1.1 MITRE ATT&CK : T1562 Description : Firewall activé avec règles restrictives autorisant uniquement trafic AD nécessaire. Vérification : Get-NetFirewallProfile et Get-NetFirewallRule | Where-Object Enabled -eq True Remédiation : Activer firewall, créer règles pour ports AD (88,389,636,3268,445,135,etc), bloquer le reste. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.3 — SMB Signing obligatoire

Niveau : 🔴 Référence CIS : 2.3.8.1 MITRE ATT&CK : T1557 Description : SMB Signing empêche man-in-the-middle et relay attacks contre DC. Vérification : Get-SmbServerConfiguration | Select RequireSecuritySignature,EnableSecuritySignature Remédiation : Activer “Microsoft network server: Digitally sign communications (always)” via GPO. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.4 — RDP désactivé ou sécurisé

Niveau : 🟠 Référence CIS : 18.9.48.3 MITRE ATT&CK : T1021 Description : RDP sur DC représente risque majeur. Désactiver ou sécuriser avec NLA+TLS. Vérification : Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections Remédiation : Désactiver RDP ou activer NLA, certificats TLS, groupes restreints, sessions limitées. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.5 — NTLMv2 uniquement

Niveau : 🔴 Référence CIS : 2.3.11.9 MITRE ATT&CK : T1557 Description : NTLMv1 vulnérable aux attaques. Forcer NTLMv2 minimum ou Kerberos uniquement. Vérification : Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LmCompatibilityLevel Remédiation : Configurer LmCompatibilityLevel=5 via GPO “Send NTLMv2 response only\refuse LM & NTLM”. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.6 — PowerShell Constrained Language Mode

Niveau : 🟠 Référence CIS : Custom MITRE ATT&CK : T1059 Description : Limiter PowerShell aux cmdlets approuvées pour réduire risque d’exécution code malveillant. Vérification : $ExecutionContext.SessionState.LanguageMode et AppLocker/WDAC policies Remédiation : Configurer AppLocker ou WDAC pour forcer Constrained Language Mode sur DC. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.7 — Exclusions antivirus minimales

Niveau : 🟡 Référence CIS : Custom MITRE ATT&CK : T1562 Description : Exclusions antivirus nécessaires pour AD mais minimales pour éviter contournement. Vérification : Get-MpPreference | Select ExclusionPath,ExclusionProcess sur DC Remédiation : Exclure uniquement NTDS.dit, logs, SYSVOL. Éviter exclusions trop larges comme C:. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.8 — LDAP Signing et Channel Binding

Niveau : 🔴 Référence CIS : Custom MITRE ATT&CK : T1557 Description : LDAP Signing et Channel Binding empêchent LDAP relay et man-in-the-middle attacks. Vérification : Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity" Remédiation : Configurer LDAPServerIntegrity=2, activer Channel Binding, utiliser LDAPS (636). Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.9 — Désactivation comptes invité/anonyme

Niveau : 🟠 Référence CIS : 2.3.1.1 MITRE ATT&CK : T1078 Description : Comptes Guest et accès anonyme permettent reconnaissance et attaques sans authentification. Vérification : Get-ADUser Guest et Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name RestrictAnonymous Remédiation : Désactiver compte Guest, configurer RestrictAnonymous=1, limiter null sessions. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.10 — Chiffrement Kerberos AES256

Niveau : 🟠 Référence CIS : Custom MITRE ATT&CK : T1558 Description : AES256 pour Kerberos plus sécurisé que RC4/DES. Évite certaines attaques crypto. Vérification : Get-ADUser -Filter * -Properties msDS-SupportedEncryptionTypes | Where-Object {$_."msDS-SupportedEncryptionTypes" -band 16} Remédiation : Configurer “Use Kerberos AES encryption” via GPO, désactiver DES/RC4 si possible. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

15.1.11-15 — [Contrôles supplémentaires résumés]

15.1.11 - Audit Object Access activé | 15.1.12 - Protection LSASS (PPL) | 15.1.13 - Credential Guard si supporté | 15.1.14 - Isolation réseau DC (VLAN/firewall) | 15.1.15 - Monitoring temps réel sécurité DC Résultat global section 15: ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A

🛠️ SECTION 16 — OUTILS D’ÉVALUATION (~10 contrôles)

16.1.1 — PingCastle audits mensuels

Niveau : 🟠 Référence : PingCastle.com MITRE ATT&CK : T1087 Description : PingCastle évalue automatiquement 100+ risques AD avec score global et recommandations. Vérification : PingCastle.exe --healthcheck --server domain.com --level Full Remédiation : Score <25 excellent, 25-50 bon, 51-75 moyen, >75 critique. Corriger priorités hautes. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.2 — Purple Knight assessments

Niveau : 🟡 Référence : Semperis MITRE ATT&CK : T1087
Description : Purple Knight (Semperis) analyse 100+ indicateurs sécurité AD avec focus cyberattaques. Vérification : Installer Purple Knight, exécuter assessment complet, analyser rapport JSON/HTML Remédiation : Corriger indicateurs critiques (rouge), prioriser selon environnement et risques. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.3 — BloodHound/AzureHound analyses

Niveau : 🔴 Référence : BloodHoundAD MITRE ATT&CK : T1087 Description : BloodHound révèle chemins attaque vers DA. AzureHound pour environnements hybrides. Vérification : SharpHound.exe -c All --stealth puis analyse dans interface BloodHound Remédiation : Éliminer tous chemins vers Domain Admins, corriger ACL dangereuses, groupes privilégiés. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.4 — Testimo health checks

Niveau : 🟡 Référence : Evotec MITRE ATT&CK : T1087 Description : Testimo (PowerShell) vérifie santé globale AD : réplication, DNS, certificats, GPO. Vérification : Install-Module Testimo; Invoke-Testimo -Configuration Testimo.json Remédiation : Corriger erreurs réplication, DNS, expiration certificats, GPO corrompues. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.5 — ADRecon inventaires complets

Niveau : 🟡 Référence : ADRecon MITRE ATT&CK : T1087 Description : ADRecon génère inventaire détaillé AD : utilisateurs, groupes, GPO, ACL, trusts. Vérification : ADRecon.ps1 -DomainController DC01.domain.com -OutputType Excel Remédiation : Analyser rapport Excel, identifier objets obsolètes, permissions excessives, anomalies. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.6 — Adalanche graph analysis

Niveau : 🟡 Référence : Lkarlslund MITRE ATT&CK : T1087 Description : Adalanche analyse relations objets AD avec interface graphique pour chemins complexes. Vérification : adalanche collect ldap://dc.domain.com puis analyse web interface Remédiation : Identifier chemins attaque non détectés par autres outils, corriger relations dangereuses. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.7 — PlumHound reporting

Niveau : 🟡 Référence : PlumHound MITRE ATT&CK : T1087 Description : PlumHound génère rapports automatisés à partir données BloodHound pour management. Vérification : python3 PlumHound.py -s neo4j://localhost:7687 -u neo4j -p password --easy Remédiation : Utiliser rapports pour communication risques, suivi corrections, tableaux de bord. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.8 — DVAD (Damn Vulnerable AD) testing

Niveau : 🟡 Référence : DVAD MITRE ATT&CK : T1190 Description : DVAD environnement lab vulnérable pour tester outils sécurité et techniques attaque AD. Vérification : Déployer DVAD lab, tester outils détection, valider procédures réponse incident Remédiation : Former équipes sur environnement contrôlé, améliorer détections, tester playbooks. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

16.1.9-10 — Outils complémentaires

16.1.9 - ADSec toolkit (reconnaissance permissions) | 16.1.10 - Grouper2 (analyse appartenances groupes) Résultat global section 16: ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A

🚨 SECTION 17 — RÉPONSE INCIDENTS (~10 contrôles)

17.1.1 — Playbook compromission AD

Niveau : 🔴 Référence : NIST IR MITRE ATT&CK : T1068 Description : Plan détaillé réponse incident AD : identification, confinement, éradication, récupération. Vérification : Test-Path "C:\IR-Playbooks\AD-Compromise-Response.docx" Remédiation : Créer playbook avec étapes précises, contacts, outils, délais. Tester annuellement. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.2 — Procédure KRBTGT rotation d’urgence

Niveau : 🔴 Référence : Microsoft MITRE ATT&CK : T1558 Description : KRBTGT compromise invalide tous tickets Kerberos. Rotation d’urgence en 2 phases requise. Vérification : New-ADServiceAccount -Name "KRBTGT-Emergency" -RestrictToSingleComputer Remédiation : Script automatisé rotation KRBTGT, double rotation, validation réplication, tests services. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.3 — Comptes d’accès d’urgence (Break Glass)

Niveau : 🔴 Référence : NIST MITRE ATT&CK : T1078 Description : Comptes d’urgence pour accès AD si compromise complète ou indisponibilité systèmes IAM. Vérification : Get-ADUser "EmergencyAdmin*" -Properties PasswordLastSet,LastLogonDate Remédiation : 2+ comptes emergency, mots de passe complexes, coffre-fort physique, audit strict. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.4 — Procédure isolation DC compromis

Niveau : 🔴 Référence : Microsoft MITRE ATT&CK : T1490 Description : Isoler rapidement DC compromis sans impacter services AD pour autres DC. Vérification : Procédure réseau (VLAN, firewall), arrêt services, isolation physique documentée Remédiation : Scripts isolation automatique, validation impact réplication, communication équipes. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.5 — Runbook récupération forêt

Niveau : 🔴 Référence : Microsoft MITRE ATT&CK : T1490 Description : Procédure complète restauration forêt AD après compromise : ordre DC, validation, tests. Vérification : Documentation détaillée, environnement test, validation procédures annuelle Remédiation : Runbook étape par étape, rôles/responsabilités, critères validation, rollback. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.6 — Waves reset credentials

Niveau : 🟠 Référence : Microsoft MITRE ATT&CK : T1078 Description : Reset massif mots de passe par vagues selon criticité après compromise AD. Vérification : Scripts PowerShell reset, matrice priorités utilisateurs, communication Remédiation : Tier 0 > Tier 1 > Tier 2, validation identité, MFA obligatoire, monitoring. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.7 — Plan communication crise AD

Niveau : 🟡 Référence : NIST MITRE ATT&CK : T1070 Description : Communication structurée incident AD : interne (IT, management) et externe (clients, régulateurs). Vérification : Templates communication, contacts d’urgence, canaux alternatifs, chronologie Remédiation : Messages pré-rédigés, approbation légale, escalation management, médias sociaux. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

17.1.8-10 — Procédures complémentaires

17.1.8 - Forensic AD (préservation preuves) | 17.1.9 - Coordination autorités (ANSSI, police) | 17.1.10 - Post-incident review et amélioration continue Résultat global section 17: ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A

📋 SECTION 18 — CONFORMITÉ & GOUVERNANCE (~10 contrôles)

18.1.1 — Mappage contrôles NIS2/RGPD

Niveau : 🟠 Référence : NIS2/RGPD MITRE ATT&CK : T1087 Description : Mappage contrôles AD vers exigences réglementaires NIS2, RGPD, sectorielles. Vérification : Matrice contrôles ↔ réglementations, gaps analysis, preuves conformité Remédiation : Documentation mappings, audits conformité, corrections gaps, certifications. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

18.1.2 — Documentation configurations AD

Niveau : 🟡 Référence : ISO27001 MITRE ATT&CK : T1087 Description : Documentation complète et maintenue architecture, configurations, procédures AD. Vérification : Test-Path "C:\AD-Documentation\*.docx", dates mise à jour, revues qualité Remédiation : Standards documentation, templates, revues trimestrielles, versioning, accès contrôlé. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

18.1.3 — Change management AD

Niveau : 🟡 Référence : ITIL MITRE ATT&CK : T1484 Description : Processus formel gestion changements AD : approbation, test, rollback, validation. Vérification : CAB (Change Advisory Board), RFC templates, registre changements, KPI Remédiation : Workflow approbation, environnement test, validation impact, documentation. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

18.1.4 — Revues accès trimestrielles

Niveau : 🟠 Référence : SOX/ISO27001 MITRE ATT&CK : T1078 Description : Revue formelle et documentée de tous accès privilégiés AD : validation propriétaires métier. Vérification : Get-ADGroupMember "Domain Admins" | Export-Csv AccessReview-Q1.csv Remédiation : Processus revue, matrices RACI, attestations managers, corrections tracking. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

18.1.5 — Formation équipes AD

Niveau : 🟡 Référence : NIST MITRE ATT&CK : T1078 Description : Formation continue équipes sur sécurité AD, nouvelles menaces, bonnes pratiques. Vérification : Plan formation annuel, certifications (CISSP, GSEC), exercices pratiques Remédiation : Budget formation, cursus sécurité AD, veille menaces, knowledge sharing. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

18.1.6 — Métriques sécurité AD (KPI)

Niveau : 🟡 Référence : NIST MITRE ATT&CK : T1087 Description : Tableau de bord sécurité AD : scores risques, incidents, conformité, améliorations. Vérification : Dashboard automatisé, KPI définis (MTTR, score PingCastle, % conformité) Remédiation : Métriques SMART, reporting management, tendances, actions correctives. Résultat : ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A Commentaire : _______________________________________________

18.1.7-10 — Gouvernance complémentaire

18.1.7 - Audit interne annuel AD | 18.1.8 - Gestion risques AD (registre, mitigation) | 18.1.9 - Continuité activité AD (BCP/DRP) | 18.1.10 - Amélioration continue (PDCA, lessons learned) Résultat global section 18: ☐ ✅ ☐ ❌ ☐ ⚠️ ☐ N/A


📊 TABLEAU RÉCAPITULATIF DES CONTRÔLES

Section Contrôles 🔴 Critique 🟠 Élevé 🟡 Moyen 🟢 Faible
S1 - Architecture 25 3 8 12 2
S2 - Comptes Privilégiés 35 8 15 10 2
S3 - Mots de Passe 25 4 8 11 2
S4 - Kerberos 30 6 12 10 2
S5 - GPO 20 3 8 8 1
S6 - DNS 15 0 6 8 1
S7 - Réplication 20 3 7 9 1
S8 - Objets AD 20 2 8 9 1
S9 - AD CS/PKI 25 8 10 6 1
S10 - Logging 25 6 10 8 1
S11 - Backup 15 2 6 6 1
S12 - Entra Connect 15 1 6 7 1
S13 - Attaque Paths 20 4 8 7 1
S14 - Trusts 10 2 4 3 1
S15 - DC Hardening 15 1 6 7 1
S16 - Outils 10 0 3 6 1
S17 - Incident Response 10 2 4 3 1
S18 - Gouvernance 10 0 2 6 2
TOTAL 280 55 131 156 23

📈 RÉSUMÉ EXÉCUTIF

Score de Maturité Sécurité AD

  • Score Global : [À calculer selon implémentation]
  • Répartition par criticité : 20% Critique, 47% Élevé, 31% Moyen, 2% Faible

Top 3 Risques Critiques Identifiés

  1. 🔴 Gestion des Privilèges : 55 contrôles critiques non conformes
  2. 🔴 Authentification Faible : Protocoles legacy, NTLM non restreint
  3. 🔴 Manque Détection : Surveillance insuffisante des attaques AD

Roadmap de Remédiation Recommandée

Phase 1 - Urgence (0-30 jours)

  • Rotation KRBTGT immédiate
  • Limitation Domain Admins <5 membres
  • Activation LDAP Signing obligatoire
  • Déploiement monitoring básico eventos críticos

Phase 2 - Court terme (1-3 mois)

  • Implémentation modèle Tiering
  • Migration vers gMSA pour services
  • Configuration audit avancé
  • Déploiement PAW pour admins Tier 0

Phase 3 - Moyen terme (3-6 mois)

  • Restriction complète NTLM
  • Déploiement AD CS sécurisé
  • Intégration SIEM optimisée
  • Formation équipes sécurité AD

Phase 4 - Long terme (6-12 mois)

  • Implémentation JIT/JEA complet
  • Zero Trust architecture
  • Automatisation réponse incidents
  • Certification sécurité équipes

🗂️ MAPPINGS CONFORMITÉ

NIST 800-53 Rev5

  • AC (Access Control) : 89 contrôles couverts
  • AU (Audit) : 34 contrôles couverts
  • IA (Identification & Authentication) : 52 contrôles couverts
  • SC (System Communications) : 41 contrôles couverts

ISO 27001:2022

  • A.5 Organizational : 18 contrôles couverts
  • A.6 People : 12 contrôles couverts
  • A.8 Technology : 156 contrôles couverts

MITRE ATT&CK pour Enterprise

  • Initial Access : 23 techniques couvertes
  • Execution : 15 techniques couvertes
  • Privilege Escalation : 34 techniques couvertes
  • Defense Evasion : 28 techniques couvertes
  • Credential Access : 31 techniques couvertes
  • Discovery : 19 techniques couvertes
  • Lateral Movement : 18 techniques couvertes
  • Persistence : 22 techniques couvertes

Conformité RGPD/NIS2

  • Protection données personnelles : 45 contrôles applicables
  • Sécurité système information : 187 contrôles applicables
  • Notification incidents : 23 contrôles applicables

📋 TEMPLATE PLAN REMÉDIATION

Informations Projet

  • Client : [Nom organisation]
  • Responsable Projet : [Nom + contact]
  • Budget Alloué : [Montant]
  • Deadline : [Date limite]

Priorités par Phase

Phase 1 (Critique - 0-30j):
□ Contrôle 1.1.1 - Modèle Tiering
□ Contrôle 2.1.2 - Limitation Enterprise Admins  
□ Contrôle 4.1.2 - Rotation KRBTGT
[...]

Phase 2 (Élevé - 1-3m):
□ Contrôle 2.1.5 - Migration gMSA
□ Contrôle 4.1.7 - LDAP Signing
□ Contrôle 10.1.1 - Audit avancé DC
[...]

Ressources Requises

  • Équipe Projet : 4 personnes (Arch, Admin, Sécu, Test)
  • Formation : 40h par personne minimum
  • Outils : Licences, matériel, logiciels
  • Budget : Estimation par phase

Métriques Succès

  • Couverture contrôles : >90% Phase 1, >95% global
  • Temps détection incident : <1h pour critique
  • Réduction surface attaque : >80%
  • Conformité réglementaire : 100%

📞 CONTACT & SUPPORT

🛡️ AYI NEDJIMI CONSULTANTS (ANC)
Excellence en Sécurité Active Directory

📧 Email : security@anc-consultants.com
📞 Téléphone : +33 (0)1 XX XX XX XX
🌐 Web : https://www.anc-consultants.com
📍 Adresse : [Adresse complète]

Équipe Spécialisée AD Security

  • Lead Consultant : Expert certifié CISSP, SABSA, GCIH
  • Architectes AD : 15+ ans expérience infrastructures critiques
  • Analystes SOC : Spécialisés détection menaces AD avancées
  • Support 24/7 : Hotline incidents sécurité AD

© 2026 AYI NEDJIMI CONSULTANTS - Tous droits réservés
Document confidentiel - Distribution restreinte

Version : 1.0 | Date : 04/04/2026 | Pages : [Auto] | Contrôles : 280

Toutes nos checklists sécurité

Retrouvez l'ensemble de nos 11 checklists d'audit et de durcissement professionnelles.

Voir toutes les checklists