Remote HackTheBox (Writeup)
Skills:
Web Enumeration
NFS Enumeration - Showmount
Information Leakage
Abusing Umbraco Admin Panel
Umbraco CMS - Remote Code Execution by authenticated administrators
Obtaining the TeamViewer password from the system registers (AES128 - CBC) [Privilege Escalation]
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 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" :


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

Web (port 80):


SMB - port 445
Énumération SMB :

SMB Client (null session) :

FTP (21) anonymous
Nous avons la capacité de nous connecter par FTP avec l'utilisateur anonyme, mais nous ne pouvons ni lister des fichiers ni en ajouter.

NFS Service (port 2049)
Pour lister les fichiers avec mount :
On observe un /site_backups qui peut être vu par tout le monde.

Pour importer ce fichier, il faut créer un répertoire et monter sur notre machine comme suit :

Avec tree, nous allons lister tous les dossiers de la monture pour avoir une idée :
Nous voyons un dossier .config de configuration et sdf de la base de données Umbraco (un CMS) du port 80.

Le fichier .conf ne contient rien d'intéressant, et le umbraco.sdf est un fichier binaire.

Nous allons utiliser strings pour afficher les caractères visibles et les mettre dans notre répertoire pour une analyse détaillée :
Nous trouvons des mots de passe "admin" et un utilisateur "smith".

Crackage mots de passe:
Admin (hash): b8be16afba8c314ad33d812f22a04991b90e2aaa

Admin: baconandcheese
Avec crackmapexec comme le service smb est exposer on va esseyer de s'authentifier et valider
aucun effet

Vulnérabilité RCE (Umbraco CMS)
Nous trouvons un panel d'administration et allons essayer l'authentification de l'utilisateur admin :
[email protected]:baconandcheese

Nous avons accès.

Nous allons chercher sur Searchsploit les vulnérabilités de ce CMS et trouvons un script RCE pour Umbraco.

searchsploit -m aspx/webapps/46153.py
Nous allons modifier les paramètres de login, de mot de passe et d'hôte dans le script.

Vérification de la connectivité avec un ping : Nous allons exécuter cette commande pour le serveur, et nous nous mettrons en écoute avec tcpdump

Une fois que nous voyons que nous pouvons exécuter des commandes, nous allons télécharger dans notre équipe le script PS.ps1.
À la fin du script, nous ajoutons la ligne suivante :

Nous allons créer un serveur web avec le script PS.ps1 :
Ensuite, nous allons modifier la commande pour pointer vers notre serveur web :
Finalement, nous nous mettons en écoute sur le port 4444 :

Accès au fichier user.txt et constatation que TeamViewer est installé

Élévation de privilège:
Si l’on observe les tâches en cours d’exécution, on peut voir TeamViewer version 7.

En cherchant dans les scripts de Metasploit, on en trouve un qui permet de récupérer le mot de passe de TeamViewer :

En analysant le script, il faut tout d'abord obtenir la clé (en fonction de la version) depuis le registre :
HKLM\SOFTWARE\WOW6432Node\TeamViewer\Version7', 'Version
Ensuite, on doit examiner les propriétés de sécurité, en particulier le mot de passe AES :

On va mettre dans ciphertext les octets suivants :
255,155,28,115,214,107,206,49,172,65,62,174,19,27,70,79,88,47,108,226,209,225,243,218,126,141,55,107,38,57,78,91
Script Python Automatisation:
Voici le script qui automatise tout cela :

Le mot de passe est !R3m0te!.
On va vérifier avec CrackMapExec si le mot de passe est correct pour l'utilisateur Administrator :

On se connecte avec Evil-WinRM, car le service d'administration de Windows à distance est actif sur le port 5985 :

Flag root Final :)


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