Aller au contenu

Active Directory Basics

logo-active-directory.png

Lien du walktrough

Les différents groupes créés par default sur les AD

Groupe de Sécurité Description
Domain Admins Les utilisateurs de ce groupe ont des privilèges administratifs sur l'ensemble du domaine. Par défaut, ils peuvent administrer tout ordinateur du domaine, y compris les DCs.
Server Operators Les utilisateurs de ce groupe peuvent administer les contrôleurs de domaines. Ils ne peuvent pas modifier les appartenances aux groupes admin.
Backup Operators Les utilisateurs de ce groupe sont autorisés à accéder à n'importe quel fichier, sans tenir compte de leurs permissions. Ils sont utilisés pour effectuer des sauvegardes de données sur les ordinateurs.
Account Operators Les utilisateurs de ce groupe peuvent créer ou modifier d'autres comptes dans le domaine.
Domain Users Inclut tous les comptes d'utilisateurs existants dans le domaine.
Domain Computers Inclut tous les ordinateurs existants dans le domaine.
Domain Controllers Inclut tous les ordinateurs existants dans le domaine.

La liste complète est disponible ici :

Microsoft documentation

Le compte machine

Tout machine qui rejoingnent un domaine possède un nom de machine challengenit par leur noauquel nous ajoutons un dollar.

Par exemple, j'ai un ordinateur nommé TOUCO-LAPTOP, son nom de compte machine est : TOUCO-LAPTOP$.

Conteneurs par défaut

Nom de l'OU Description
Builtin Contient les groupes par défaut disponible sur toutes les machines windows.
Computers Toutes les machines qui joigne le domaine sont automatiquement ajoutées dans cette OU. On peut les déplacer si besoins.
Domain Controllers OU par défaut qui contient les contrôleurs de domaines du réseau
Users Utilisateurs et groupes par défaut qui s'appliquent à un contexte à l'échelle du domaine.
Managed Service Accounts Détient les comptes utilisés par les services dans votre domaine Windows.

Différence entre OU et Groupe de sécurité

Les OUs sont la pour mettre en place des stratégies pour des utilisateurs ou ordinateurs. On applique une politique à un utilisateur.

Les groupes de sécurité sont la pour grérer les permissions sur les ressources (i.e. partage de fihciers communs, achat, ventes, etc...).

Délégation

La délégation permet de donner des droits à des utilisateurs sur une OUs, par exemple autoriser un membres du service informatique à réinitialiser les mots de passes de l'OU compta.

Dans ce cas il faut passer par une commande powershell (car l'utilisateur n'a pas le droit d'ouvrir l'annuaire Active Directory).

Set-ADAccountPassword sophie -Reset -NewPassword (Read-Host -AsSecureString -Prompt 'New Password') -Verbose

On peut également forcer un reset de mot de passe à la prochaine connexion

Set-ADUser -ChangePasswordAtLogon $true -Identity sophie -Verbose

Gérer les ordinateurs de son Active Directory

Par défaut, tous les ordinateurs et serveurs qui rejoignent (sauf les contrôleurs de domaines qui sont dans une OU séparée) le domaine sont placés dans le conteneur Computer. Afin de ranger et de pouvoir appliquer des politique de sécurité différentes entre ordinateurs et serveurs, il est conseillé de créer une OU Ordinateurs et une OU Serveurs.

Les stratégies de groupes (ou Group Policy)

Les étapes de création d'une GPO : 1. Créer un Group Policy Object (qui correspond à la stratégie voulu). 2. Le relier à une OU.

Warning

Une stratégies de groupe s'applique à l'OU à laquelle elle est lié ainsi qu'aux "sous-OU".

Le déploiement des GPOs

Les GPOS sont déployées via un dossier partagé sur le réseau nommé SYSVOL, il est stocké sur le DC (Contrôleur de domaine). Le chemin par défaut de ce dossier sur les contrôleurs de domaines est : C:\Windows\SYSVOL\sysvol\.

Lorsqu'un changement est fait sur une GPO, il peut s'écouler jusqu'à 2 heures avant que l'ordinateurs cible la reçoit. On peut forcer l'application sur un PC en tapant la commande suivante sur le PC cible :

gpupdate /force

Les méthodes d'authentification

Lorsque l'on utilise un domaine Windows, tous les identifiants sont stockés sur le contrôleur de domaine. De ce fait, lorsqu'un utilisateur essaie de se connecter à un service qui utilise les identifiants de domaine, le service va vérifier en demander au DC si les identifiants sont corrects. A ce jour, deux protocoles sont utilisés pour l'authentification réseau avec un domaine Windows :

  • Kerberos : protocol par défaut des nouveau domaine (sur les versions récentes de Windows server).

  • NetNTLM : ancien protocole authentification garder à des fins de compatibilités.

NetNTLM est obsolète cependant beaucoup de DC ont les deux protocoles activés.

Authentification Kerberos

1. Requête TGT (Ticket Granting Ticket)

Client (Username + Timestamp) ✉ ➡ Key Distribution Center (KDC also is DC)

L'utilisateur envoie son nom d'utilisateur et un horodatage chiffré à l'aide d'une clé dérivée de son mot de passe au centre de distribution de clés (KDC), un service généralement installé sur le contrôleur de domaine chargé de créer les tickets Kerberos sur le réseau.

2. Réponse TGT

Client ⬅ ✉ (TGT + Session Key) Key Distribution Center (KDC also is DC)

Le serveur renvoi un ticket qui permettra à l'utilisateur de demander des tickets supplémentaires pour accéder à des services spécifiques.

Info

Le TGT est chiffré avec le hash du mot de passe du compte krgbt, l'utilisateur ne peut donc pas accéder au contenu.

Info

Le TGT chiffré comprend une copie de la Session Key, le KDC n'a pas besoin de stockée cette clé, il peut déchiffré le TGT si besoin.

3. Requête TGS

Client ((Username + Timestamp chiffré avec la Session Key) + TGT + SPN ) ✉ ➡ Key Distribution Center (KDC also is DC)

SPN pour Service Principal Name correspond au nom du service ainsi que le nom du serveur. Exemple : SPN = MSSQL/SRV

Info

Les Ticket Granting Service (TGS) permettent de se connecter uniquement au service pour lequel il a été créé.

4. Réponse TGS

Client ⬅ ✉ (TGS + Service Session Key) Key Distribution Center (KDC also is DC)

Permet de s'identifier sur le service souhaité.

Info

Le TGS est chiffré avec un dérivé de la clé du Service Owner Hash (Hash du Propriétaire du Service). Le propriétaire du service est l'utilisateur ou le compte machine sous lequel le service est exécuté.

5. Authentification au service

Client ((Username + Timestamp chiffré) + TGS ) ✉ ➡ SRV

Schéma

Kerberos 1 Kerberos 2 Kerberos 3

Source : https://tryhackme.com/room/winadbasics

Authentification NetNTLM

NetNTLM fonctionne en utilisant un système de challenge-réponse .

NetNTLM

  1. Le client envoie une demande d'authentification au serveur auquel il veut accéder.
  2. Le serveur génère un nombre aléatoire et l'envoie comme challenge au client.
  3. Le client combine son hash de mot de passe NTLM avec le challenge (et d'autres données connues) pour générer une réponse au challenge et la renvoyer au serveur pour vérification.
  4. Le serveur transmet le challenge et la réponse au contrôleur de domaine pour vérification.
  5. Le contrôleur de domaine utilise le challenge pour recalculer la réponse et la compare à la réponse originale envoyée par le client. Si les deux correspondent, le client est authentifié ; sinon, l'accès est refusé. Le résultat de l'authentification est renvoyé au serveur.
  6. Le serveur transmet le résultat de l'authentification au client.

Info

Notez que le mot de passe (ou le hachage) de l'utilisateur n'est jamais transmis par le réseau pour des raisons de sécurité.

Danger

Si un compte local est utilisé, le serveur peu vérifier le challenge lui même sans interaction avec le DC, car le hash du mot de passe est stocké localement dans la base SAM. Ceci peut amener à une attaque de type PASS THE HASH.

Source : https://tryhackme.com/room/winadbasics

Trees, Forests and Trusts

Trees

Dans un domaine Active Directory Windows, les arbres ou *trees en anglais correspondante à un rassemblement de plusieurs sous-domaines du domaine principales. Par exemple nous avons une entreprise qui a le domaine principale touco.local. Cette entreprise possède une agence à Marseille et une agence à Paris. Elle pourrais créer un sous domaine pour chaque ville : marseille.touco.local et paris.touco.local.

touco.local

Cela permet de pouvoir créer une segmentation des services. Les administrateurs de marseille.touco.local n'aurons pas accès à la gestion de paris.touco.local et vice versa. Chaque sous-domaines peut également paramétrer des stratégies spécifique à chaque site. L'avantage est de pouvoir avoir un gestion des droits centralisés, ou un user de Marseille pourrais se voir accorder des droits pour un partage sur le site de Paris.

Info

Un nouveau groupe est introduit lorsque l'on parle de Trees et Forest, le groupe Enterprise Admins, il donne des droits administrateur sur tout le domain de l'entreprise. Un utilisateur de ce groupe à le pouvoir de contrôler ce qu'il veut sur tout le domaine de l'entreprise (domaine racine et sous-domaines).

Forests

Lorsqu'une entreprise grandi, elle peut racheter des concurrents ou d'autres société. Dans ce cas, il est possible de fusionner les Trees. Par exemple notre entreprise rachète une entreprise ocuot. Cette entreprise possède un Active Directory Windows avec le nom de domaine suivant : ocuot.local. Nous pouvons lié ces deux domaines et créer une forêt.

touco.local

Trusts

Maintenant que nous avons pu voir comment sont compartimenté les domaines et sous domaines, il faut parler des relations de confiance ou Trust Relationships. Un utilisateur du domaine touco.local a besoin d'accéder à une ressource de ocuot.local, pour que cela fonctionne, les domaine sont joint ensemble par une Trust Relationships.

Pour faire simple, le fait d'avoir une Trust Relationships, autorise un utilisateur du domaine touco.localà accéder à des ressources du domaines ocuot.local.

La Trust Relationships la plus simple est la one-way trust Relationships.Dans cette relation, si le domaine touco.local fais confiance au domaine ocuot.local, cela signifie qu'un utilisateur de ocuot.local pourrais accéder à des ressource de touco.local.

Il existe également la Two-way trust relationships qui permet aux deux domaines d'autoriser mutuellement les utilisateurs de l'autre domaine. Par défaut, la réunion de plusieurs domaines sous un arbre ou une forêt formera une relation de confiance bidirectionnelle.

Source : https://tryhackme.com/room/winadbasics