1- Introduction challenge

Voici un challenge qui pour moi est très intéressant pour les débutants, il englobe un certain nombre de points clés que vous devez comprendre afin d’évoluer dans le milieu du Pentesting et hacking. L’objectif est de pouvoir lire le fichier qui se trouve sans le répertoire « /root/a0216ea4d51874464078c618298b1367.txt ».

Alors Téléchargez l’image via le lien : https://download.vulnhub.com/sickos/sick0s1.1.7z et décompressez ce dernier. Importez la machine dans votre hyperviseur (dans mon cas VirtualBox).

Lancez le server :

Vous êtes prêts ? Alors let’s go !

2- Phase collecte d’informations

Tout d’abord on commence toujours par chercher l’adresse IP de notre box cible (SickOS1.1), pour cela vous avez plusieurs possibilités. On va utiliser la commande que l’on connaît bien maintenant « netdiscover -r ip/24 » :

Vérifions maintenant si cela correspond bien à notre server cible en effectuant un scan rapide :

Nickel ! c’est bien notre box.

Et maintenant on fait quoi ? Eh bien on va lancer un scan plus intense pour avoir un peu plus de renseignement, on va utiliser le flag « -Pn » pour ne pas pinguer le server.

On peut voir ici que le port 22 (SSH) et 3128 (http-proxy) sont ouverts, puis le port 8080 fermé. Il faut bien garder à l’esprit que toutes les informations données par le scan sont les bienvenues, surtout n’oubliez pas de chercher s’il existe des exploits sur les versions des services utilisés.

Bon, sur le port 80 (http) nous n’avons pas accès au server Web, mais rappelez-vous, on a un proxy !

On va configurer notre navigateur (Firefox) comme proxy : pour cela allez dans :

Preferences -> Network proxy et settings 

Utilisez l’adresse de votre server ainsi que le port 3128 dédié au proxy.

On peut maintenant visiter l’interface Web du server et son code source : on y va alors !

Essayons en y ajoutant le port adéquat : 19.168.1.177:3128

ERROR, ce n’est pas grave on va utiliser nikto pour un scan Web sur le port 3128.

Il y a beaucoup d’informations importantes, voyons ce que le robots.txt nous cache :

Hmm intéressant, il y a un répertoire dénommé wolfcms dans le serveur Web, allons jeter un coup d’œil.

On remarque un détail le cms (content management system), un système de gestion de contenu.

On est sur le répertoire wolfcms et dans la rubrique about us, il y a un détail très important qui doit vous interpeler c’est le point d’interrogation dans la barre d’adresse. En général on peut écrire ce qui suit : « adresse_ip/wolfcms/?/admin »

Bingo ! une petite recherche s’impose sur wolfcms pour voir s’il y a un user et password par défaut (bien sûr Google est votre ami) :

Pas de login par défaut, mais il y a un fichier config.php qui peut s’avérer très utile par la suite. Vous voyez, il est primordial de faire des recherches afin de recueillir un maximum d’informations.

D’accord mais je fais quoi alors si je n’ai pas les données de connexion ?

Dans un cas de figure comme celui-ci, essayez toujours par : user=admin password=admin

Et voilà le travail, ça a fonctionné. Durant vos futures Pentests vous allez vous confronter à des situations similaires, donc comprenez bien la notion de la collecte d’information. La connexion en tant que admin est très fréquente donc pensez-y car les administrateurs ne changent pas la configuration par défaut ce qui vous donne un accès !

Explorons maintenant ce que l’on peut trouver d’utile : allez dans la rubrique Files :

Vu que vous êtes admin depuis ce serveur Web, vous avez la possibilité d’uploader des fichiers. C’est un point clé qui est très important, ça va nous permettre d’envoyer un fichier ou payload qui donnera un reverse_shell par exemple. C’est super non ?

3- Phase d’exploitation

On va créer notre payload à l’aide de msfvenom et l’envoyer au server pour avoir un shell à distance (un shell meterpreter dans notre cas).

Voilà notre payload reverse.php, dans un autre terminal on va lancer Metasploit (msfconsole) pour établir notre écouteur.

NB : vous pouvez utiliser également netcat.

Commençons par uploader notre fichier depuis l’interface Web, profitons-en on a l’accès :

Notre fichier est visible, cliquez sur le payload et copiez le contenu. Ensuite coller sur le fichier que vous allez créer dans « Home Page » ou « About us » peu importe : puis choisir Published :

On peut enregistrer et fermer. Préparons notre écouteur, on reviendra sur notre bout de code par la suite. Pour cela on va utiliser depuis metasploit l’exploit suivant : exploit/multi/handler puis configurer les paramètres prérequis (payload, lport, lhost) :

Depuis votre navigateur allez vers la page « reverse » puis lancez sur metasploit l’écoute en tapant « run » :

Yeah ! nous avons eu notre meterpreter shell, à ce stade il faut toujours se renseigner sur le système cible et l’utilisateur ainsi que le contenu du répertoire où on se situe :

« sysinfo », « getuid », « pwd » et « ls » à utiliser sans modération …

Vous vous souvenez du fichier de configuration du CMS ? Eh bien le voici ! On va regarder ce qu’il contient :

Il y a des informations très précieuses dans ce fichier. Voyons maintenant le fichier « passwd » dans le répertoire « etc » pour voir les utilisateurs du système.

Donc il y a un utilisateur « sickos », souvenez-vous que le port 22 service SSH est ouvert. Essayons dans un premier temps de se connecter en tant que root avec le mot de passe : ‘’ john@123 ‘’ que l’on a trouvé précédemment (fichier config.php) puis si ça ne fonctionne pas on essayera avec sickos avant de lancer un brute forcing si l’on ne peut avoir la connexion.

Alors ça n’a pas fonctionné avec root mais avec user=sickos et password=john@123 on a pu accéder au server !

Maintenant, il faut comme toujours bien vérifier qui est l’utilisateur et essayer d’avoir les privilèges root sur le système. On commence par la commande « sudo su » puis le mot de passe actuel pour être le super-utilisateur root avant de procéder à d’autres méthodes.

Super ! on est root dans le server cible, on a tous les privilèges.

N’oublions pas notre objectif : le flag, donc on se déplace vers le répertoire root et on affiche le contenu du fichier a0216ea4d51874464078c618298b1367.txt

Félicitations ! Vous avez terminé le challenge avec succès ! Si vous avez des questions n’hésitez pas à me les poser dans la section de commentaire.

Peace 😝.

 

No responses yet

Laisser un commentaire

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

huit − cinq =

Follow by Email
YouTube