Cet article comprendra donc des concepts théoriques fournis avec des exemples pratiques démontrés avec vidéos.

Table des matières

1. Introduction

2-Énumération Active Directory

3- Énumération des utilisateurs, des groupes et des ordinateurs

4- Répertoriation des utilisateurs connectés et des sessions actives

5- Vider les hachages de mots de passe

6- Escalade de privilèges et mouvements latéraux avec passer la technique du hachage

7-Établir la persistance et maintenir l'accès avec les tickets dorés Kerberos

Obtenir les notes du certificat OSCP

1. Introduction

Active Directory est installé principalement sur le serveur Windows et se compose de différents composants parmi lesquels le contrôleur de domaine qui est considéré comme le poste de travail administrateur.

Lorsque vous installez Active Directory pour la première fois, vous êtes invité à créer un domaine pour votre organisation, par exemple company.com, puis tous les ordinateurs de l'organisation rejoindront ce domaine pour faire partie de la structure Active Directory. En fin de compte, vous aurez un administrateur de domaine et en dessous se trouvent les utilisateurs, les ordinateurs et les groupes.

Les administrateurs regrouperaient les utilisateurs en fonction de leur unité organisationnelle. Par exemple, il y aurait l'informatique, les ressources humaines, les finances, les ventes, etc.

Énumération Active Directory

L'énumération Active Directory commence par l'acquisition de connaissances sur les utilisateurs, les groupes et les ordinateurs existants dans le but de localiser des groupes de grande valeur tels que les administrateurs de domaine et de découvrir quels sont les membres connectés.

La plupart du temps et lors de vos tests d'intrusion, vous aurez déjà accès à une machine faisant partie du contrôleur de domaine et depuis cette machine, vous utiliserez différents outils et scripts pour effectuer votre énumération.

Dans les scénarios suivants, nous aurons deux machines : l'une est le poste de travail Windows que nous venons de compromettre et l'autre est le serveur Windows 2012 qui est le contrôleur de domaine que nous devons cibler.

Énumération des utilisateurs, des groupes et des ordinateurs

Dans la vidéo ci-dessous, nous avons utilisé le script Powershell pour énumérer les utilisateurs, les groupes, les adhésions et leurs autorisations associées. Cela nous a donné une carte complète de la hiérarchie Active Directory et nous a ouvert la voie pour décider quelle est notre prochaine cible.

Une remarque importante est que pour que la méthode expliquée dans la vidéo fonctionne, vous devez comprendre comment fonctionnent les chemins du fournisseur LDAP et le chercheur d'annuaire afin de modifier le script si nécessaire pour énumérer différents aspects.

Énumération des utilisateurs connectés, des sessions actives et des noms des principaux de service

L'étape suivante du processus consiste à localiser les personnes connectées au poste de travail actuellement compromis. Si nous le faisons, nous pourrons supprimer les hachages de mots de passe de ces utilisateurs et les utiliser pour effectuer une élévation de privilèges sur la machine Windows actuelle qui fait partie du contrôleur de domaine.

Nous pouvons également énumérer les utilisateurs actuellement connectés et les sessions actives sur le contrôleur de domaine, ce qui nous permettra de déterminer qui nous pouvons cibler parmi les administrateurs de domaine.

L'énumération des éléments mentionnés ci-dessus repose sur deux API Windows. NetSessionEnum et NetWkstaUserEnum. NetWkstaUserEnum nécessite des autorisations de privilèges administratifs et renvoie une liste des utilisateurs connectés sur un poste de travail cible, mais NetSessionEnum renvoie les sessions actives sur les serveurs existants tels que le serveur de fichiers et les contrôleurs de domaine.

Pour ce faire, nous utiliserions Script PowerView

Venons-en maintenant aux noms des principaux services. Les noms principaux de service sont l'association ou la connexion entre un serveur spécifique et un compte de service. Considérez-les comme des identifiants qui identifient un compte de service sur un serveur existant tel qu'un serveur HTTP, DNS ou FTP.

Nous pouvons énumérer les SPN sur un serveur pour connaître l'adresse IP et les numéros de port associés au service utilisé. Exemple énumérant la présence du serveur IIS exécuté sur le contrôleur de domaine.

Regardez la vidéo ci-dessous pour la partie pratique de cette section

Vider les hachages de mots de passe

Étant donné que Windows stocke une copie des hachages de mot de passe dans le cache mémoire, nous pouvons utiliser mimikatz pour vider tous les hachages de mot de passe du poste de travail que nous avons compromis. Ces hachages, nous pouvons les déchiffrer pour obtenir le mot de passe en texte clair ou les réutiliser à d'autres fins.

Cependant, étant donné que les hachages de mots de passe sont gérés par le processus LSASS qui s'exécute en tant que SYSTEM, nous avons besoin des autorisations SYSTEM pour accéder aux hachages de mots de passe, ce qui est logique pour élever nos privilèges avant toute tentative de vidage de mot de passe.

Mimikaz a de nombreux modules pour vider les hachages de mots de passe, parmi lesquels sekurlsa :: logonpasswords

La vidéo ci-dessous illustre cela,

Escalade de privilèges et mouvements latéraux avec la technique du hachage

Jusqu'à présent, nous avons appris à énumérer Active Directory, acquis des connaissances sur les utilisateurs connectés et les sessions actives et vidé les hachages de mot de passe du poste de travail. La prochaine étape consisterait à utiliser tout ce dont nous disposons et à obtenir un accès privilégié au contrôleur de domaine.

Nous faisons cela avec une technique appelée Overpass the Hash.

Cette technique consiste à abuser du hachage utilisateur NTLM et à le convertir en un ticket Kerberos authentifié qui nous donne accès à la machine cible qui dans notre cas est le contrôleur de domaine.

Une condition pour que cette attaque fonctionne est que l'administrateur du contrôleur de domaine doit avoir son hachage NTLM stocké dans le cache mémoire de la machine Windows que nous avons compromise, ce qui signifie qu'il doit s'être connecté à la machine Windows dans le passé pour que cela se produise. .

En supposant qu'ils l'aient fait, nous pouvons vider leurs hachages et utiliser mimikatz pour le convertir en ticket Kerberos afin de créer un processus PowerShell dans le contexte de l'utilisateur administrateur du contrôleur de domaine.

Ensuite, nous utiliserions PsExec.exe pour obtenir un accès d'invite de commande au contrôleur de domaine en tant qu'administrateur.

La vidéo ci-dessous le démontre

Établir la persistance et maintenir l'accès avec les Golden Tickets Kerberos

Les tickets dorés sont des tickets que nous créons nous-mêmes après avoir obtenu un accès administratif ou une commande administrative sur le contrôleur de domaine pour établir un nouveau faux utilisateur et maintenir notre accès.

Les Golden tickets utilisent l'identifiant de domaine et le hachage NTLM de krbtgt qui est un compte utilisé pour créer la clé secrète pour chiffrer le TGT lors de l'authentification kerebros.

La vidéo ci-dessous le démontre

J'espère que cela vous a été utile et n'oubliez pas de vous abonner à ma chaîne pour plus de contenu



A propos de l'Auteur

Je crée des notes de cybersécurité, des notes de marketing numérique et des cours en ligne. Je fournis également des conseils en marketing numérique, y compris, mais sans s'y limiter, le référencement, les publicités Google et Meta et l'administration CRM.

Voir les Articles