Je continue de publier des solutions envoyées pour un traitement ultérieur à partir du site HackTheBox .Dans cet article, nous collectons des informations sur la machine, effectuons une pulvérisation par mot de passe pour obtenir l'utilisateur et augmentons également nos droits de DnsAdmin sur SYSTEM à l'aide d'une DLL malveillante.La connexion au laboratoire se fait via VPN. Il est recommandé de ne pas se connecter à partir d'un ordinateur de travail ou d'un hôte où les données importantes pour vous sont disponibles, car vous vous retrouvez sur 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 10.10.10.169, que j'ajoute à / etc / hosts.10.10.10.169 resolute.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 500 paquets par seconde.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.169 --rate=500
L'hôte a de nombreux ports ouverts. Maintenant, scannez-les avec nmap pour filtrer et sélectionnez ceux dont vous avez besoin.nmap resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915
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 resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

À partir de la sortie nmap, nous trouvons le nom de domaine megabank.local, que nous ajoutons à / etc / hosts. La première chose dans l'intelligence pour Windows est une liste de base. Personnellement, lorsque je teste depuis une machine Linux, j'utilise enum4linux.enum4linux -a megabank.local




Et parmi les informations sur le domaine, les utilisateurs, le groupe et la politique de mot de passe, nous trouvons un commentaire intéressant sur la marque du compte utilisateur. Le commentaire contient son mot de passe. Mais après avoir ouvert une session avec ces informations d'identification, nous échouons sur tous les services.UTILISATEUR
Comme nous avons déjà un mot de passe et une liste d'utilisateurs mis en évidence dans le système, nous pouvons utiliser l'une des techniques de mouvement latéral - la pulvérisation par mot de passe. J'ai écrit sur tout cela en détail ici . L'essentiel est que nous essayons des mots de passe connus pour tous les utilisateurs connus.Tout d'abord, nous essayons de trier par SMB. Pour cela, vous pouvez utiliser le module smb_login pour Metasploit Framework.
Nous indiquons les paramètres nécessaires.
Et nous trouvons avec succès l'utilisateur auquel ce mot de passe convient.
Et vérifiez les informations d'identification. Je préfère smbmap, qui spécifie l'utilisateur, le mot de passe, le domaine et l'hôte.
Et nous obtenons une liste des ressources disponibles. Si vous revenez à la liste des ports, alors il y a un service WinRM en cours d'exécution sur 5985. Pour un travail pratique avec ce service sous Linux, vous pouvez utiliser Evil-WinRM .
USER2
Evil-WinRM fonctionne bien, mais le metterpter est toujours plus pratique. Heureusement, ce programme vous permet de spécifier un répertoire avec des fichiers PowerShell ou C # lors de la connexion, qui sera automatiquement chargé dans la session. Nous allons générer un fichier PowerShell qui contiendra la charge Meterpreter.
Et créez un écouteur pour écouter la connexion.
Maintenant, nous sommes connectés à Evil-WinRM et nous spécifions un répertoire avec un script.
Mais après avoir démarré le fichier avec la charge, nous voyons que le script a fonctionné sans erreur, mais il n'y a pas de connexion.
Le script a probablement été bloqué. Comme il s'agit de PowerShell, il utilise probablement AMSI. Mais Evil-WinRM a ses propres modules utiles.
Comme vous pouvez le deviner, nous avons besoin du premier. Nous allons appliquer ce module et exécuter à nouveau notre fichier avec le chargement.
Et nous observons une connexion réussie.
Après avoir exécuté les scripts pour Recon, en contournant la machine, nous tombons sur un répertoire intéressant.
Il s'agit du répertoire qui stocke le fichier texte des sessions PowerShell enregistrées, après la commande «Start-Transcript». Nous recherchons un fichier.
Voyons le contenu.
Il s'agit donc d'une session utilisateur Ryan. Et un peu plus loin, nous trouvons la commande avec laquelle le mot de passe a été transmis.
Nous essayons les informations d'identification pour le service WinRM.
Et à la fin, connectez-vous en tant que Ryan.RACINE
Et tout d'abord, en vérifiant les informations sur l'utilisateur actuel, nous trouvons une fonctionnalité intéressante. Il est membre du groupe DnsAdmins.
Cela nous donne la possibilité de mettre à niveau nos privilèges vers SYSTEM. Nous pouvons vous demander de charger la DLL au prochain démarrage du service. Générons la DLL contenant la charge de meterpreter.
Et exécutez l'auditeur.
Activez maintenant le serveur smb. Nous indiquons le répertoire, le nom et le support de SMB version 2.
Maintenant, en utilisant dnscmd, nous indiquerons la DLL à charger.
La commande s'est terminée avec succès, redémarrez maintenant le service DNS.
Et après un redémarrage, nous voyons une connexion via SMB.
Ainsi qu'une session ouverte.
Et nous obtenons les droits du 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 pouvons toujours nous entraider pour tout problème informatique et de sécurité de l'information.