Forest HackTheBox (Writeup)
Skills:
AXFR - Domain Zone Transfer Attack (Failed)
RPC Enumeration - Getting valid domain users
Performing an AS-RepRoast attack with the obtained users
Cracking Hashes
Abusing WinRM - EvilWinRM
Ldap Enumeration - ldapdomaindump
BloodHound Enumeration
Gathering system information with SharpHound.ps1 - PuckieStyle
Representing and visualizing data in BloodHound
Finding an attack vector in BloodHound
Abusing Account Operators Group - Creating a new user
Abusing Account Operators Group - Assigning a group to the newly created user
Abusing WriteDacl in the domain - Granting DCSync Privileges
DCSync Exploitation - Secretsdump.py
Reconnaissance:
Création de l'espace de travail :
Nous établirons notre espace de travail en créant trois dossiers pour stocker les contenus importants, les exploits et les résultats de la reconnaissance à l'aide de Nmap.

Vérification de la Connectivité VPN
Vérification de la connexion VPN pour assurer une communication stable avec la machine cible.

Recherche des ports ouverts avec Nmap :

Analyse des ports ouverts avec extractport : Utilisation de la fonction extractport pour afficher de manière synthétique les ports ouverts et les copier dans le presse-papiers.

Scan de la version des ports avec Nmap : Utilisation de Nmap pour scanner la version des ports et extraction des informations dans le fichier "targeted" :

Énumération et Exploitation:
Reconnaissance SMB:
Utilisation de CrackMapExec pour identifier le système d'exploitation

Pour résoudre les noms de domaine en adresses IP via DNS, on insère dans le fichier /etc/hosts le nom de domaine associé à son adresse IP

Exploration des partages SMB sur le réseau pour identifier les ressources partagées mais aucun resultat.

Reconnaissance RPC:
Utilisation de rpcclient pour interagir avec les services RPC et collecter des informations sur les ressources

Listons les groupes :

ASREPRoast attack:
Disposant d'une liste d'utilisateurs valides, nous procéderons à une attaque AS-RepRoast, car nous n'avons pas besoin des mots de passe des utilisateurs.
Nous allons utiliser grep pour filtrer les noms des utilisateurs, puis insérer ces données dans un fichier

Nous utilisons l'outil GetNPUsers.py pour extraire les informations sur les utilisateurs sans mot de passe :

Nous récupérons le hash du mot de passe de l'utilisateur "lucinda" et tentons de le casser avec John the Ripper en utilisant une liste de mots de passe prédéfinie :

Nous utilisons CrackMapExec pour vérifier si le mot de passe craqué est correct en tentant une connexion WinRM :

Enfin, nous utilisons Evil-WinRM pour nous connecter à la machine distante avec les informations d'identification craquées :

Élévation de privilèges:
Énumération du Domaine avec Bloodhound :

Collecte d'informations avec SharpHound.ps1 :
Transfert des données collectées vers un serveur Linux.


Nous transférons le fichier zip à notre équipe.

Importation du fichier zip dans Bloodhound.

Analyse et Exploitation BloodHound :
Filtrage des données pour trouver le chemin le plus court vers l'administrateur de domaine.

Identification de l'appartenance à un groupe potentiellement problématique (Account Operator).


Utilisation de la capacité de création d'utilisateurs pour préparer une attaque DCSync.

Tentative de DCSync sans droits suffisants.

Ajout de l'utilisateur à un groupe avec des permissions plus élevées (Exchange Windows Permissions).
Exchange Windows Permissions).

Attaque WriteDACL:

Préparation de l'attaque WriteDACL en utilisant PowerView.ps1 pour ajouter une fonctionnalité.

Transférer le fichier
Vulnérabilité DCSync Attack:
Exécution de la commande Add-DomainObjectAcl pour obtenir les hashs.
Utilisation d'Impacket pour extraire les hashs avec l'utilisateur jordanmacia.

Pass-the-Hash Attack:
Utilisation du hash NT de l'administrateur pour une attaque Pass-the-Hash.
Accès au système avec les droits de l'administrateur.

Flag finale :)


Mis à jour
Ce contenu vous a-t-il été utile ?
