Faible [TryHackMe] Procédure pas à pas

Apr 01 2023
J'ai récemment développé une salle THM pour un événement CTF à mon collège et voici la procédure pas à pas !! Lien : https://tryhackme.com/jr/weak Remarque : La boîte prend jusqu'à 5 à 7 minutes pour démarrer correctement tous les services, vous devez donc être un peu patient :) Recon Une analyse de base des ports de la boîte révèle que les ports 80 et 22 sont ouverts avec des services valides (respectivement http et ssh).

J'ai récemment développé une salle THM pour un événement CTF à mon collège et voici la procédure pas à pas !!

Lien:https://tryhackme.com/jr/weak

Remarque : la boîte prend jusqu'à 5 à 7 minutes pour démarrer correctement tous les services, vous devez donc être un peu patient :)

Reconnaissance

Une analyse de base des ports de la boîte révèle que les ports 80 et 22 sont ouverts avec des services valides (respectivement http et ssh).

Énumération

HTTP

Un modèle très basique

La page http n'a pas de boutons actifs ou quoi que ce soit, donc l'analyse du code source et la suppression des répertoires sont quelque chose que je ferais.

Utilisateur: Tyrone

Ce commentaire particulier suggère la possibilité que Tyrone soit un utilisateur valide sur la boîte.

Pendant ce temps, la suppression des répertoires révèle l'existence d'un fichier appelé impressum.txt

Qui ressemble heureusement à une clé privée pour la connexion ssh.

En mettant deux et deux ensemble, la connexion peut être obtenue pour Tyrone.

oui chmod 600 atw
Yay!

Plus d'énumération

Après la connexion, local.txt se trouve immédiatement dans /home/tyrone/

De plus, le /var/www/html/ a un fichier appelé flag2 que nous ne sommes pas autorisés à lire

En y regardant de plus près, il appartient à Tyrone lui-même, nous pouvons donc modifier les autorisations et nous laisser le lire.

N'essayez pas de copier le drapeau svp

Un grep occasionnel sur le contenu du fichier nous montre deux autres fichiers qui peuvent être lus une fois que nous avons modifié leurs autorisations

4 drapeaux baissés !

Le répertoire racine contient un fichier texte qui peut être lu par Tyrone mais qui n'est clairement pas un drapeau

baseRot1364 ressemble à un wrapper base64 autour de rot13

Base64 — Rot13 — Base64

Baissons ce drapeau !

Escalade des privilèges

L'utilisateur tyrone n'a aucune autorisation sudo et aucune information d'identification en tant que telle n'est disponible dans les répertoires.

Regarder les bits SUID avec la commande suivante nous permet de regarder les binaires qui permettent à n'importe quel utilisateur de les exécuter en tant qu'utilisateur qui les possède

find / -perm -4000 2>/dev/null

https://gtfobins.github.io/gtfobins/tee/#suid

Nous pouvons maintenant écraser n'importe quel fichier du système de fichiers. (Facile Priv Esc via /etc/passwd)

Cependant, il existe un autre vecteur d'escalade de privilèges que j'aimerais afficher.

crontab est illisible. Bizarre.

Permet de surveiller les services pour voir quel crontab est en cours d'exécution.

https://github.com/DominicBreuker/pspy

Quelque chose, quelque part déclenche un script

Génial, écrasons ceci
Commande personnalisée pour remplacer le script.sh
Maintenant, cela devrait se transformer en un bit SUID dès que l'horloge atteint 00
Bash est maintenant un bit SUID.

L'accès root est maintenant facilement disponible via une commande GTFOBins facile

https://gtfobins.github.io/gtfobins/bash/#suid

cd à la racine et récupérez le proof.txt ezpz.

Tout commentaire, suggestion ou critique peut m'être communiqué via Twitter, LinkedIn ou en laissant un commentaire ici

@JodisKripe