Active Directory Basics
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 :
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
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 :
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
Source : https://tryhackme.com/room/winadbasics
Authentification NetNTLM
NetNTLM fonctionne en utilisant un système de challenge-réponse .
- Le client envoie une demande d'authentification au serveur auquel il veut accéder.
- Le serveur génère un nombre aléatoire et l'envoie comme challenge au client.
- 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.
- Le serveur transmet le challenge et la réponse au contrôleur de domaine pour vérification.
- 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.
- 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
.
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.
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.