HackTheBox. Procédure pas à pas Traverxec. RCE dans le serveur Web nostromo, technique GTFOBins

image

Je continue de publier des solutions envoyées pour un traitement ultérieur à partir du site HackTheBox .

Dans cet article, nous obtenons RCE dans le serveur Web nostromo, obtenons le shell meterpreter sous la session metasploit active, creusons dans les configurations nostromo, modifions le mot de passe de cryptage de clé SSH et utilisons la technique GTFOBins pour augmenter les privilèges.

La connexion au laboratoire se fait via VPN. Il est recommandé de ne pas se connecter à partir d'un ordinateur professionnel ou d'un hôte où les données importantes pour vous sont disponibles, car vous entrez dans un réseau privé avec des personnes qui connaissent quelque chose dans le domaine de la sécurité de l'information :)

Information organisationnelle
, , Telegram . , , .

. , - , .

Recon


Cette machine a une adresse IP de 10.10.10.165, que j'ajoute à / etc / hosts.

10.10.10.165    traverxec.htb

Tout d'abord, nous analysons les ports ouverts. Puisqu'il faut beaucoup de temps pour analyser tous les ports avec nmap, je vais d'abord le faire avec masscan. Nous analysons tous les ports TCP et UDP à partir de l'interface tun0 à une vitesse de 1000 paquets par seconde.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.165 --rate=1000

image

Maintenant, pour des informations plus détaillées sur les services qui fonctionnent sur les ports, nous allons exécuter une analyse avec l'option -A.

nmap -A traverxec.htb -p22,80

image

Nous avons donc SSH et le serveur Web Nostromo.

Vérifions le serveur Web Nostromo pour les exploits connus de la version 1.9.6. À ces fins, vous pouvez utiliser searchsploit, ce programme offre la possibilité de travailler facilement avec des exploits qui se trouvent dans la base de données exploit-db .

image

Comme vous pouvez le voir sur le résultat, le deuxième exploit ne nous convient pas, et le premier a une marque Metasploit, ce qui indique que ce module est implémenté pour le contexte Metasploit Framework.

Point d'accès


Téléchargez msfconsole et faites une recherche d'exploit.

image

Nous connaissons maintenant le nom complet de l'exploit et pouvons l'utiliser. Après avoir chargé l'exploit, nous examinerons les informations le concernant. Nous allons donc découvrir les options de base pour son utilisation et une description de l'exploit lui-même.

image

image

Bien! Cet exploit convient à notre version de nostromo. Nous définissons les options de base et vérifions le fonctionnement de l'exploit.

image

Pour plus de commodité, nous obtenons une coque mètre-mètre. Pour ce faire, envoyez la session travailler en arrière-plan - Ctrl + Z et confirmez. Et si nous regardons les séances de travail, alors nous verrons celle qui vient d'être minimisée.

image

Pour obtenir le shell meterpreter dans une session en cours d'exécution, vous pouvez utiliser le module post-opération post / multi / manage / shell_to_meterpreter. Utilisez rapidement ce module comme suit.

image

Nous sommes informés que la coque du mètre-mètre est ouverte lors de la deuxième session. Par conséquent, nous lançons la deuxième session.

image

UTILISATEUR


Et la première chose que vous devez regarder autour de l'hôte. Pour ce faire, chargez le script d'énumération pour Linux sur la machine.

image

Ensuite, appelez le shell, donnez le droit d'exécuter et d'exécuter le script.

image

En analysant la sortie, nous trouvons le hachage de mot de passe à partir de .htpasswd.

image

Continuer à tourner est une perte de temps ... Réalisant cela et ne sachant pas où aller plus loin, il a été décidé de regarder les configurations du serveur web. Heureusement, le répertoire est indiqué dans le chemin d'accès à ce fichier.

image

Ensuite, regardez le fichier nhttp.conf.

image

Le fait est que le répertoire racine de nostromo est spécifié dans le fichier de configuration comme homedirs_public. Autrement dit, il s'agit du répertoire public_www. Ce répertoire se trouve dans le répertoire personnel de l'utilisateur (homedirs - / home) (serveradmin - david@traverxec.htb). Pour résumer ce qui précède, le fichier index.html se trouve dans le répertoire / home / david / public_www. Pour que les utilisateurs puissent accéder à cette page, le répertoire doit avoir des autorisations de lecture pour tout le monde.

image

Les suppositions sont confirmées. De plus, nous voyons une sorte de répertoire, regardons ce qu'il y a.

image

On y trouve une sauvegarde des fichiers SSH. Téléchargez-les.

image

Décompressez les fichiers.

image

Et nous avons une clé d'utilisateur privée, mais lorsque vous essayez de vous connecter, on nous demande un mot de passe. Cela signifie que la clé est cryptée.

image

Mais nous pouvons le parcourir. Nous apportons d'abord le format souhaité.

image

Enregistrez le hachage dans un fichier et faites défiler le dictionnaire rockyou.txt à l'aide de JohnTheRipper.

image

On retrouve donc le mot de passe de chiffrement des clés. En l'utilisant et une clé, nous nous connectons via SSH.

image

RACINE


Nous regardons ce que nous avons dans l'annuaire des utilisateurs.

image

Dans le répertoire bin, nous trouvons un fichier intéressant. Voyons quel genre de script.

image

Ce script affiche des lignes après lesquelles il exécute une commande sous sudo, dont la sortie passe à cat, ce qui est très intéressant. Exécutez cette commande et voyez une sortie plutôt massive.

image

La redirection vers cat m'a immédiatement incité à penser à utiliser la technologie GTFOBins. En fin de compte, à partir de différents utilitaires système, nous pouvons obtenir la possibilité de lire, d'écrire des fichiers, d'exécuter des commandes, etc. Un exemple de la façon de procéder pour différents programmes peut être trouvé ici .

Le fait est que si nous pressons la fenêtre du terminal et exécutons la commande sans traduire la sortie en cat, la sortie sera automatiquement envoyée à less, où nous pouvons obtenir le shell en utilisant! / Bin / sh. Puisque la commande est exécutée sous sudo, nous obtenons un shell avec des privilèges maximum.

image

image

image

image

Nous obtenons donc l'utilisateur root sur le système.

Vous pouvez nous rejoindre sur Telegram . Vous y trouverez du matériel intéressant, des cours fusionnés ainsi que des logiciels. Créons une communauté dans laquelle il y aura des gens qui connaissent bien de nombreux domaines de l'informatique, puis nous pourrons toujours nous entraider pour tout problème informatique et de sécurité de l'information.

All Articles