Active Directory

Publié par

Active Directory est un service d’annuaire pour les réseaux de domaine Windows. Il est utilisé dans la plupart des grandes entreprises. C’est le point névralgique d’un réseau en cas d’attaque.

Ce service regroupe les clients et serveurs connectés dans des domaines. Ces domaines font partie d’une forêt qui constitue le réseau Active Directory. Nous verrons plusieurs éléments:

  • Domain Controllers
  • Forests, Trees, Domains
  • Users + Groups
  • Trusts
  • Policies
  • Domain Services

L’avantage principal d’un AD (Active Directory) est de pouvoir contrôler et surveiller les machines au travers d’un seul Domain Controller.

Les AD physiques sont des serveurs on-premise.

Un domain controller est un serveur Windows sur lequel AD DS (Active Directory Domain Services) est installé et qui a été promu en tant que domain controller dans la forêt.

Le AD DS Data Store contient les bases de données et les processus requis pour stocker et gérer les informations de l’annuaire (utilisateurs, groupes, services…).

  • NTDS.dit : base de données contenant toutes les informations d’un domain controller.
  • Cette base est enregistrée dans %SystemRoot%\NTDS.
  • Elle est accessible uniquement par le domain controller.

La forêt

La forêt contient tous les autres éléments du réseau. Sans celle-ci, les autres arbres et domaines ne pourraient pas communiquer entre eux.

Forêt

Une forêt est donc une collection d’une ou plusieurs arborescences de domaine à l’intérieur d’un réseau Active Directory.

Dans cette forêt, nous trouverons:

  • Trees : une hiérarchie de domaines dan l’AD DS.
  • Domains : utilisé pour regrouper et gérer des objets.
  • Organizational Units (OUs) : conteneurs pour des groupes, ordinateurs, utilisateurs, imprimantes et autres.
  • Trusts : permet à des utilisateurs d’accéder à des ressources dans d’autres domaines.
  • Objects : utilisateurs, groupes, imprimantes, ordinateurs, partages.
  • Domain Services : Serveur DNS, LLMNR, IPv6
  • Domain Schema : « rules » pour la création des objets

Users + Groups

Lorsque l’on crée un Domain Controller, nous avons des groupes par défaut et 2 utilisateurs par défaut: Administrateur et Invité. On pourra ajouter des utilisateurs, ajouter des groupes et placer les utilisateurs dans tel ou tel groupe.

Users

Les utilisateurs sont le coeur d’un Active Directory. On trouve 4 types d’utilisateur.

Domain AdminsContrôle les domaines
Service Accounts (peu utilisé)Maintenance de service
Local AdministratorsModification de machines et contrôle d’utilisateurs Lambda.
Pas d’accès au Domain Controller.
Domain UsersUtilisateurs Lambda

Groups

Les groupes facilitent l’octroi d’autorisations aux utilisateurs et aux objets en les organisant en groupes avec des autorisations spécifiées.

Il y a 2 types principaux de groupes:

  • Security Groups : utilisés pour spécifier les permissions pour un grand nombre d’utilisateurs.
  • Distribution Groups : listes de diffusion.

Il existe de nombreux Security Groups: Domain Controllers, Domain Guests, Domain Users, Domain Computers, Domain Admins, DNS Admins, RODC, etc….

Par exemple, seul le Cert Publishers Group pourra publier des certificats dans l’annuaire.

Seul le Allowed RODC Password Replication Group pourra répliquer ses mots de passe dans le RODC.


Trusts + Policies

Il faut permettre au domaine et aux arborescences de pouvoir communiquer en toute sécurité. Les trusts sont utilisés pour gérer la façon dont les domaines communiquent entre eux dans une forêt. Les trusts peuvent être étendus à des domaines externes.

Il existe 2 types de trusts déterminant al façon dont les domaines communiquent entre eux.

  • Directionnel : approbation passant d’un domaine d’approbation (trusting domain) à un domaine de confiance (trusted domain).
  • Transitif : la relation de confiance s’étend au-delà de deux domaines pour inclure d’autres trusted domains.

Domain policies

Les policies sont indispensables car elles dictent le fonctionnement du serveur et les règles qu’il suivra ou ne suivra pas. C’est un ensemble de règles pour Active Directory que seul un administrateur de domaine peut modifier si nécessaire pour assurer le bon fonctionnement et la sécurité du réseau. Il y a déjà une longue liste de policies de domaine par défaut. Les administrateurs de domaine peuvent en ajouter.


AD DS et authentification

Les AD DS permettent le management du domaine, des certificats de sécurité, LDAPs et d’autres éléments. Ce sont des services que le contrôleur de domaine fournit au reste du domaine ou de l’arborescence. Les services par défaut sont: LDAP, Certificates Services, DNS, LLMNR, NBT-NS.

La part la plus importante (et la plus vulnérable) concerne le protocole d’authentification mis en place. Il y a 2 types d’authentification pour Active Directory:

  • NTLM : protocole challenge/response chiffré
  • Kerberos : protocole d’authentification réseau basé sur un mécanisme de clés secrètes et l’utilisation de tickets.

L’AD DS est le point d’accès principal pour les attaquants !


Cloud

Le fournisseur de Cloud AD le plus utilisé est Azure AD. Les réglages par défaut sont plus sécurisés qu’un AD on-premise. Azure fonctionne comme l’homme du milieu entre l’AD physique on-premise et la connexion de nos utilisateurs. Le lien est donc plus sécurisé entre les domaines, rendant ainsi beaucoup d’attaques inefficaces.

Il existe des différences de protocoles entre AD on-premise et Azure AD. Par exemple, l’équivalent de Kerberos pour Azure sera OpenID.


Un peu de pratique

Nous voyons ici la présence d’un AD DS.

Nous ne rentrerons pas dans le détail des utilisateurs, groupes, GPOs. Un autre article sera écrit à ce sujet.

Nous allons utiliser le module PowerView -(voir Cheat Sheet) pour obtenir quelques informations.

OS et utilisateurs
groupes
Utilisateur service SQL

Nous avons vu un aperçu de ce qu’est un Active Directory. Nous rentrerons plus tard dans le détail ainsi que dans les vulnérabilités.