---
tags: XMCO, joffrey.chambon
author: joffrey.chambon
title: Sécurité dans l'Active Directory
---
# Introduction
Très largement implanté dans toutes les grandes entreprises
Cible des attaquants -> prendre le contrôle des ressources de l'entreprise
Compliqué à maîtriser
:::info
Exemples :
Sony (2014)
TV5Monde (2016)
Saint-Gobain (2017)
Maersk (2017)
:::
## Types de modèle
### Groupe de travail
Pratique jusqu'à 10 personnes
## Domaine
Annuaire utilisateurs, authentification, administration et gestion de la sécurité centralisée.
Gestion de milliers d'utilisateurs et de machines
# Qu'est-ce que l'active directory ?
## Présentation
Service d'annuaire introduit dans Windows 2000 server en 1999
Base de données qui référence des personnes, des machines et des ressources
Gestion centralisée
Très répandu en entreprise
## Architecture
### Structure logique
Forêts (1 à n arbres)
Arbres (1 à n domaines)
Domaines (1 à n UO)
UO (Unité d'organisation)
### Schéma
Définition de tous les objets
## Composants
### AD classique
* Postes de travail : utilisé par les utilisateurs
* Serveurs : mise à disposition des ressources pour les utilisateurs -> Windows Server ou serveur Unix
* Contrôleur de domaine : rôle d'annuaire et authentification au sein d'un domaine ou d'une forêt -> Windows Server
### Contrôleur de domaine
Centralise toutes les infos liées aux domaines
Gère les demandes d'authentification
Applique les GPO
Contient une copie de l'annuaire Active Directory (NTDS.dit)
:::danger
Essentiel pour le fonctionnement de l'AD
:::
### Protcoles réseaux
Kerberos, TCP/IP, DNS, SNTP, LDAP, LDIF
### Annuaire LDAP
Utilise le protocole LDAP
Utilise le port TCP/389 ou TCP/636 (LDAPS)
Installé sur le contrôleur de domaine
## Authentification
### NTLM v2
Evolution des protocoles LM et NTLM v1
Mécanisme de challenge/réponse pour s'authentifier sans envoyer son mot de passe en clair sur le réseau
### Inconvénient hash NTLM
Voler un hash utilisateur <=> voler son mot de passe en clair
* Hash utilisé par le mécanisme du challenge/réponse
* Presque égal au vol de mot de passe (ne fonctionne pas sur des applis web qui n'accepte que les mots de passe)
### Technique du Pass-The-Hash
L'attaquant utilise le hash du mot de passe de l'utilisateur pour s'authentifier sur le réseau
Fonctionne avec les comptes locaux (SAM) et les comptes de domaines (NTDS)
### NetNTLM vs Format LM et NT
Format LM facilement cassable contrairement au format NT
### Kerberos
Basé sur le KDC (key distribution center) pour gérer l'authentification
Utilisation de jetons cryptographiques et des clés de session :
* TGT (Ticket-Granting Ticket)
* ?
TGT chiffrés par le KDC via le hash du compte krbtgt
La clé de session initiale est chiffrée avec le hash de l'utilisateur
Les TS sont chiffrés par le KDC avec le hash du compte du service cible
#### Avantages
Allège le processus d'authentification
Authentification mutuelle
Standard non propritétaire
Améliore grandement la protection des secrets d'authentification
#### Inconvénients
Toutes les machines du réseau doivent être synchronisées
Un AS de Kerberos compromis => accès à tous les services avec un unique login
Peu d'applications supportent exclusivement l'authentification par Kerberos
## Gestion des accès
### SID (Security Identifier)
SID unique pour chaque utilisateurs, comptes et ordinateurs de l'AD
### Groupes de sécurité
Méthode efficace pour autoriser l'accès aux ressources
* assigner des droits d'utilisateur
* assigner des autorisations sur des ressources
### Permissions
Repose sur les ACL (2 types) :
* DACL (Discretionary Access Control List) qui indique les utilisateurs et groupes autorisés ou interdits
* SACL (System Access Control List) qui indique comment les accès sont donnés
Permissions NTFS :
* Appliquées sur les dossiers/fichiers
* 13 permissions
* Take ownership permet de devenir propritétaire fichier/dossier
### Privilèges
Droits donnés à un utilisateur
44 sur une machine Windows Server 2012 R2
Configurable par GPO
:::info
Exemples :
Contourner les permissions NTFS
Accéder à la mémoire des processus (Debug programs)
Ourvrir une session localement (Allow Log on locally)
Ajouter une machine à un domaine (Add workstations to domain)
Backup operators
:::
## Administration
### Types d'administrateur AD
Deux types d'administrateurs :
* Administrateur du service AD : en charge du fonctionnement de l'annuaire Active Directory et de son évolution (administration du DC, sauvegarde de l'AD, supervision)
* Administrateur du contenu de l'annuaire de l'AD : en charge de l'administration des données de l'annuaire AD
### Solutions
#### Administration à distance
* RDP (TCP/3389)
* SCCM (TCP/2701)
* Autres solutions non Microsoft : VNC (TCP/5900), PC anywhere (TCP/5631)
#### Administration en ligne de commandes
* Psexec : outil léger pour exécuter un processus sur un système distant
* Powershell : un interpréteur de commandes qui utilise un langage de script et qui repose sur le .NET Framework
* WMI, etc.
### GPO
Permettent de partager des exécutables dans le partage NETLOGON ou SYSVOL
Exécuter des scripts au démarrage / arrêt de la machine
Stratégies mots de passe, Kerberos et verrouillage de comptes
Configurer les paramètres des logiciels et du systèmes
### Mises à jour
WSUS -> serveur de mise à jour
# Les vulnérabilités sur l'Active Directory
## Les vulnérabilités connues
### Mots de passe dans SYSVOL
Mot de passe dans des scripts en clair
:::danger
Ne jamais stocker de mot de passe dans un script accessible par tous les utilisateurs
:::
Utiliser LAPS
### Mots de passe dans les GPP
Mot de passe chiffré par AES256 par une clé commune à tous les AD dans le monde
### Vulnérabilité MS14-068
Exploite une faiblesse dans Kerberos (KDC) afin de forger un ticket
Permet à un compte utilisateur du domaine de devenir administrateur du domaine
Permet de changer un TGT existant afin de changer ses groupes membres
## Les défauts de configuration
### Mot de passe
Mots de passe triviaux
Mots de passe faible
2 formes de stockages :
* LM (legacy)
* NT
Réutilisation de mots de passe
SPN : comptes de service utilisés au niveau de Kerberos
Recommandation : interdire le stockage des mdp sous forme de condensats LM
### Trop de compte SPN dont des comptes nominatifs (attaque Kerberoasting)
Tous les comptes peuvent demander un TS
Le TS est chiffré avec le hash du compte du service cible
Tentative de bruteforce sur le ticket pour tenter de découvrir le mot de passe du compte de service
### Aucune pré-authentification Kerberos (attaque AS_REP Roasting)
### Protocoles LLMNR et NBT-NS
LLMNR (ou NBT-NS) permet de rechercher une ressource sur le réseau par une requête de type broadcast
Outil Responder pour récupérer des secrets d'authentification (condensat NTLMv1 ou NTLMv2)
### Protocole WPAD
Recherche de proxy automatique
Recommandation :
Désactiver les protocoles LLMNR et NBT-NS
Politique de mot de passe forte
Activer la signature dans le protocole SMB et LDAP
Ajouter une entrée pour "wpad" dans la zone DNS ou désactiver la détection automatique du proxy sur les postes de travail
### Partages réseau ouverts à tous
Les partages réseau accessibles à des utilisateurs sans comptes connectés sur le réseau
Contiennent souvent des scripts avec des mots de passe
### Vulnérabilités liées aux périphériques réseau
Peuvent avoir un compte de service ayant des privilèges élevés
### ACL (Access Control Lists)
Complexes et très difficiles à contrôler sur un domaine avec des dizaines de milliers d'utilisateurs
Permet d'abuser des droits d'un utilisateur afin de réaliser une action malveillante sur le domaine
Recommandations : Faire une revue d'ACL (audit, utilisation d'outils comme Bloodhound), appliquer le principe du moindre privilège
### MSCache
Fonctionalité pour se connecter sans acccès au Contrôleur de domaine
Recommandations :
* Valeur de condensats pour poste fixe ou serveur : 0
* Valeur de condensats pour ordinateurs portables : 1
# Les solutions de défense et les meilleures pratiques
## Durcissement de configuration
Les admins de domaine doivent posséder 3 comptes :
* Un compte admin pour les DC
* Un compte admin pour les serveurs
* Un compte utilisateur pour la bureautique
Le nombre de comptes administrateur de domaine doit être très limité
Limiter la délagation Kerberos
Utiliser le groupe Protected users (à partir de Windows server 2012)
### Limiter les mouvements latéraux
Serveurs et postes de travail doivent être isolés dans des zones réseaux distincts
Les interfaces d'administration doivent être restreintes
Empêcher l'authentif de comptes locaux
Utiliser LAPS pour avoir le mot de passe du compte administrateur local différent sur chaque machine
Limiter les communications entre les postes de travail (Pare-feu windows)
### Prévenir les élévations de privilèges
S'assurer que les admins ne se connectent pas à distance, découper les comptes en tiers
## Surveillance
### Journalisation
Mettre en place une politique de journalisation
Activer les fonctionnalités d'audit (journalisation des opérations réussies et des échecs)
Surveiller les activités PowerShell