Cicada HackTheBox (Writeup)
Skills:
SMB Enumeration (RID-Brute)
Information Leakage (User Description) [netexec]
Privilege Escalation (SeBackupPrivilege)
SAM Extraction [pypykatz]
Pass-the-Hash [EvilWinRM]
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-bruteest 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.oreliouspassword:
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 .
SeBackupPrivilegeCmdLets.dll
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 ?