Cicada HackTheBox (Writeup)

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 :

Exploration des ports ouverts et exportation dans le fichier "allPorts" dans le répertoire Nmap:

Analyse des ports ouverts avec extractPorts:

Utilisation de la fonction extractPorts pour afficher de manière synthétique les ports ouverts et les copier dans le clipboard (53,88,135,139,389,445,464,593,636,3268,3269,5985,55169)

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" :

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:

Port 445 - SMB

Énumération SMB avec smbmap

Pour lister les ressources partagées avec une session null :

Le dossier HR contient un fichier texte intéressant. Nous explorons son contenu :

Téléchargement du fichier

Nous accédons au partage et téléchargeons le fichier :

Le fichier contient un mot de passe

  • password: Cicada$M6Corpb*@Lp#nZp!8

Énumération RID-Brute

Pour identifier les utilisateurs du domaine, nous lançons une attaque RID-Brute :

Le paramètre --rid-brute est utilisé pour effectuer une attaque par force brute sur les RID (Relative Identifiers) des utilisateurs dans un domaine Windows. Un RID est une partie de l'identifiant unique d'un utilisateur dans un système Windows et est généralement utilisé pour identifier les comptes utilisateurs et les groupes

Voici la liste des utilisateurs trouvés :

Validation des utilisateurs

Nous testons le mot de passe trouvé pour tous les utilisateurs :

L'utilisateur michael.wrightson utilise ce mot de passe.

User Michael:

Énumération avec netexec

Nous utilisons les crédentials de michael.wrightson pour explorer davantage :

Cela révèle le mot de passe en clair de l’utilisateur david.orelious :

  • username: david.orelious

  • password: aRt$Lp#7t*VQ!3

Validation et énumération SMB avec les identifiants de david.orelious

Pivoting User David

Nous validons les identifiants de david.orelious avec CrackMapExec :

Ensuite, nous explorons les partages SMB accessibles sur la cible avec smbmap :

Nous nous connectons ensuite au partage DEV avec smbclient :

Dans ce partage, nous trouvons un script nommé backup_script.ps1.

Pivoting User Emily

Nous téléchargeons le script backup_script.ps1 avec la commande get et découvrons les identifiants de l'utilisateur emily.oscars

  • username: emily.oscars

  • password: Q!3@Lp#M6b*7t*Vt

Nous validons ces identifiants avec CrackMapExec :

Puis, nous nous connectons à la machine avec Evil-WinRM :

Flag user.txt

Nous récupérons le flag dans le fichier user.txt.

Élévation de privilège

whoami /priv - SeBackupPrivilege

Vérification des privilèges

Pour commencer, vérifions les privilèges de l'utilisateur actuel. Exécutez la commande suivante pour vérifier si l'utilisateur dispose du privilège SeBackupPrivilege :

Téléchargement des fichiers DLL nécessaires

Pour abuser de ces privilèges, nous devons télécharger des fichiers DLL sur la machine de la victime. Vous pouvez l'obtenir ici .

  1. SeBackupPrivilegeCmdLets.dll

  1. SeBackupPrivilegeUtils.dll

Téléchargez ces fichiers sur la machine de la victime à l'aide des commandes suivantes

Chargement des modules DLL

Une fois les fichiers DLL téléchargés, chargez-les dans la session PowerShell en utilisant les commandes suivantes :

Sauvegarde des fichiers SAM et SYSTEM

Nous allons maintenant sauvegarder les fichiers SAM et SYSTEM qui contiennent les informations d'identification de l'utilisateur. Utilisez les commandes suivantes pour les sauvegarder :

Téléchargement des fichiers SAM et SYSTEM

Après avoir sauvegardé les fichiers, vous pouvez les télécharger sur votre machine virtuelle (VM) pour les analyser :

Extraction des hachages du fichier SAM

Utilisez samdump2 pour extraire les hachages des fichiers SAM et SYSTEM :

Si cette commande ne fonctionne pas, vous pouvez essayer avec pypykatz pour extraire les hachages directement :

Cela devrait vous fournir un hachage valide, comme par exemple :

  • hash: 2b87e7c93a3e8a0ea4a581937016f341

Pass-the-Hash avec Evil-WinRM

Maintenant que vous avez le hachage, vous pouvez l'utiliser pour effectuer un "Pass-the-Hash" et vous connecter à la machine cible en utilisant evil-winrm :

Flag root.txt :)

Mis à jour

Ce contenu vous a-t-il été utile ?