HackTheBox. Procédure pas à pas Cascade. Objets distants LDAP et Active Directory



Je continue à publier des solutions envoyées pour la finalisation des machines depuis la plateforme HackTheBox .



Dans cet article, nous allons creuser dans LDAP, décoder le mot de passe VNC, décompiler les applications dotNet, décrypter facilement AES et récupérer les objets Active Directory supprimés.



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ù il y a des données importantes pour vous, car vous vous trouvez dans un réseau privé avec des personnes qui connaissent quelque chose sur la sécurité de l'information.



Informations organisationnelles
, , Telegram . , , .



. , - , .



Reconnaître



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



10.10.10.182	cascade.htb


La première étape consiste à analyser les ports ouverts. Comme il faut beaucoup de temps pour analyser tous les ports avec nmap, je vais d'abord le faire en utilisant masscan. Nous analysons tous les ports TCP et UDP de l'interface tun0 à 500 paquets par seconde.



masscan -e tun0 -p1-65535,U:1-65535 10.10.10.182      --rate=500






De nombreux ports sont ouverts sur l'hôte. Maintenant, analysons-les avec nmap pour filtrer et sélectionner ceux dont nous avons besoin.



nmap cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88






Maintenant, pour obtenir des informations plus détaillées sur les services qui s'exécutent sur les ports, exécutez une analyse avec l'option -A.



nmap -A cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88






Comme d'habitude, la première chose à faire est de commencer par lister le SMB - enum4linux.



enum4linux -a cascade.htb










Nous nous sauvegardons une liste d'utilisateurs et leur appartenance à un groupe. Voyons ce que LDAP a à offrir.



Point d'accès



Nous utilisons JXplorer pour travailler avec LDAP. Connectons-nous et voyons tous les objets.







Et de l'utilisateur Ryan Thompson, nous trouvons l'attribut cascadeLegacyPwd.







Nous décodons base64 et obtenons le mot de passe.







UTILISATEUR



Une fois que nous avons trouvé les informations d'identification, voyons les ressources SMB disponibles à l'aide de CrackMapExec.



cme smb cascade.htb -u "r.thompson" -p "rY4n5eva" --shares






Connectons-nous à la ressource Data.



smbclient -U r.thompson //10.10.10.182/Data






Passons en revue tout récursivement.







Maintenant, téléchargeons et voyons ces fichiers.



get "IT\Email Archives\Meeting_Notes_June_2018.html"
get "IT\Logs\Ark AD Recycle Bin\ArkAdRecycleBin.log"
get IT\Logs\DCs\dcdiag.log
get "IT\Temp\s.smith\VNC Install.reg"


Dans le premier fichier, ils parlent du transfert réseau et du fait que le mot de passe TempAdmin est le même que le mot de passe administrateur normal.







A partir du deuxième fichier, notez nous-mêmes les droits de l'utilisateur ArkSvc.







Il n'y a rien d'intéressant dans le troisième fichier. Mais dans le quatrième, nous trouvons le mot de passe VNC pour l'utilisateur s.smith.







Nous le décodons avec vncpasswd . Nous indiquons que nous voulons décoder le mot de passe (-d) et le passer sous forme hexadécimale.



vncpasswd.py -d -H 6bcf2a4b6e5aca0f






Si nous regardons la sortie de enum4linux, nous pouvons voir que cet utilisateur est membre des groupes Utilisateurs de la gestion à distance. Essayons de nous connecter via le service winrm avec ce mot de passe.



evil-winrm -i cascade.htb -u s.smith -p sT333ve2






UTILISATEUR 2



Voyons les ressources SMB de cet utilisateur:



cme smb cascade.htb  -u s.smith -p sT333ve2 --shares






Audit $ ressource disponible.



smbclient -U s.smith //10.10.10.182/Audit$






Téléchargeons tout ce qui existe.







Il existe une base de données parmi les fichiers téléchargés, en l'ouvrant, vous pouvez entrer les informations d'identification dans la table LDAP.







Mais ils ne rentrent nulle part, apparemment le mot de passe est crypté, mais décrypté à l'aide du programme. Cela a CascCrypto.dll. De plus, le programme et la bibliothèque sont écrits en C #.







Décompilons le programme en utilisant dnSpy. Nous trouvons l'endroit où le mot de passe est lu dans la base de données et transféré à la fonction de décryptage. La clé y est également transférée.







Après avoir décompilé la bibliothèque, nous découvrons le mode de cryptage et le vecteur d'initialisation.







Ainsi, nous avons les paramètres suivants:







Nous devons maintenant décrypter. Faisons-le sur le site Web de CyberChef .







Et nous obtenons le mot de passe. Comme suit d'enum4linux, cet utilisateur appartient aux groupes Utilisateurs de la gestion à distance et Corbeille AD. Comme vous vous en souvenez, cet utilisateur était nécessaire pour transférer des objets. Et l'utilisateur TempAdmin a le même mot de passe que l'administrateur. Mais il a été supprimé.



Jetons un coup d'œil aux objets distants.



Get-ADObject -IncludeDeletedObjects -Filter {IsDeleted -eq $True}






Et nous trouvons l'objet que nous recherchions. Obtenons ses attributs.



Get-ADObject -Filter {SamAccountName -eq 'TempAdmin'} -IncludeDeletedObjects -Properties *






Et nous décodons le mot de passe.







Connectons-nous à WinRM et prenons le drapeau.



evil-winrm -i cascade.htb -u Administrator -p baCT3r1aN00dles






Vous pouvez nous rejoindre sur Telegram . Vous pouvez y trouver des documents intéressants, des cours et des logiciels qui ont fui. Rassemblons une communauté dans laquelle il y aura des gens qui connaissent de nombreux domaines de l'informatique, alors nous pourrons toujours nous entraider sur tous les problèmes informatiques et de sécurité de l'information.



All Articles