Aujourd’hui je m’attaque à la machine SolidState, classé Médium.
Scan de port comme d’habitude.
Nous avons les ports habituels 22 et 80.
Les ports 25, 110 et 119 sont également ouverts.
Le port 25 est utilisé habituellement pour SMTP.
Simple Mail Transfer Protocol est un protocole de communication utilisé pour transférer le courrier électronique (courriel) vers les serveurs de messagerie électronique.
Le port 110 quant à lui est utilisé habituellement par POP.
POP, pour (Post Office Protocol, littéralement « protocole de bureau de poste »), est un protocole qui permet de récupérer les courriers électroniques situés sur un serveur de messagerie électronique.
SMTP est utilisé pour l’envoi de courrier depuis l’ordinateur émetteur vers le serveur de messagerie des destinataires. D’autre part, POP3 est utilisé pour récupérer et organiser les mails de la boîte aux lettres présente sur le serveur de messagerie du destinataire.
Le port 119 ne nous intéresse pas pour l’instant.
Regardons le site web en port 80
Un site web statique, une recherche de dossier via ffuf et le logiciel nikto ne donnent rien. Passons à un autre service.
En regardant le port 25 via nc, nous avons une bannière qui nous indique la version du logiciel.
Ce même logiciel est utilisé pour le port 110.
Une recherche sur internet nous indique que celui ci est faillible.
Celui ci demande une authentification pour fonctionner et une connexion ssh d’une personne pour fonctionner.
Par contre, une chose intéressante est que le logiciel James Server écoute sur le port 4555. Une vérification via nmap confirme cela.
Je décide de me connecter via l’identifiant et le mot de passe par défaut présenté dans l’exploit précédent.
Me voici connecté au service.
Via la commande listusers, il nous est possible de voir la liste des utilisateurs.
Il nous est également possible de changer le mot de passe des utilisateurs. Ce que je fais pour pouvoir lire leurs mails.
Le compte john a un mail parlant de Mindy et de changement de mot de passe pour accéder à son compte. Changeons le mot de passe de Mindy et regardons ses mails.
Le premier mail ne donne rien.
Le second quant à lui, nous donne l’identifiant et le mot de passe ssh de Mindy.
En se connectant il n’y a pas de possibilité d’utiliser énormément de commandes. Le bash est restreint.
Une recherche sur google me montre comment contourner cela. Après plusieurs essais, j’y arrive.
Une fois connecté, je décide d’utiliser linpeas pour trouver une élévation de privilège. Je trouve une fichier dans /opt. Le logiciel est créé par root et est éxécutable.
Le script supprime les fichiers et dossier présents dans /tmp.
Regardons si il fonctionne via un cron de root.
Le script fonctionne bien. Je modifie le script en conséquence pour avoir un reverse shell.
Et voilà, j’ai un reverse shell en root.