Clue

cassandra web freeswitch

  • Nom machine : Clue

  • Difficulté : Difficile

  • OS : Linux

Enumération

NMAP

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-12 05:25 EDT
Nmap scan report for 192.168.156.240
Host is up (0.034s latency).
Not shown: 65529 filtered tcp ports (no-response)
PORT     STATE  SERVICE          VERSION
22/tcp   open   ssh              OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 74:ba:20:23:89:92:62:02:9f:e7:3d:3b:83:d4:d9:6c (RSA)
|   256 54:8f:79:55:5a:b0:3a:69:5a:d5:72:39:64:fd:07:4e (ECDSA)
|_  256 7f:5d:10:27:62:ba:75:e9:bc:c8:4f:e2:72:87:d4:e2 (ED25519)
80/tcp   open   http             Apache httpd 2.4.38
|_http-title: 403 Forbidden
|_http-server-header: Apache/2.4.38 (Debian)
139/tcp  closed netbios-ssn
445/tcp  closed microsoft-ds
3000/tcp open   http             Thin httpd
|_http-title: Cassandra Web
|_http-server-header: thin
8021/tcp open   freeswitch-event FreeSWITCH mod_event_socket
Service Info: Host: 127.0.0.1; OS: Linux; CPE: cpe:/o:linux:linux_kernel

HTTP (3000) : Thin httpd

Cassandra Web

En fouillant un peu nous trouvons un user dans le message d'erreur : cassie.

Nous allons chercher s'il existe un exploit pour Cassandra Web.

freeswitch-event (8021)

Nous allons chercher un exploit, nous tombons sur :

Nous l'avons testé avec le mot de passe par défaut : ClueCon, sans succès.

Accès initial

Nous revenons donc à l'exploit pour Cassandra Web

Il fonctionne ! Nous avons donc deux users : cassie et anthony Nous avons essayé de bruteforce par ssh mais sans succès.

Peut-être faut-il chercher un fichier de configuration ayant le mot de passe de FreeSwitch ? Nous n'arrivons pas à accéder au fichier.

Dans la page de l'exploit, il y avait quelque chose d'intéressant :

# > cassmoney.py 10.0.0.5 /proc/self/cmdline

Le mot de passe de Cassie serait : SecondBiteTheApple330

Nous ne pouvons nous connecter en ssh avec ce mot de passe. Nous essayons avec smb, et oui ! Cela fonctione.

Nous avons fait le choix de tout télécharger. Nous aurions pu également télécharger seul les fichiers intéressants, par exemple : autoload_configs/event_socket.conf.xml que nous n'avions pas trouvé avec la LFI précédente.

Rien d'intéressant dans ces fichiers... Cependant, nous avons maintenant le path complet du fichier /event_socket.conf.xml

Un nouveau mot de passe ! Nous pouvons maintenant utiliser l'exploit pour freeswitch en modifiant le mot de passe par celui que l'on vient de trouver.

Nous allons chercher à obtenir un reverse-shell. Tout d'abord nous vérifions la présence de nc sur la cible avec which nc puis testons plusieurs ports. Le port 80 fonctionne.

Elévation des privilèges

Nous ne pouvons pas le lire. Mais nous allons essayé avec l'exploit du port 3000.

On le copie dans un fichier et modifie les droits (chmod 600). Ne fonctionnant pas pour cassie, on essaye pour anthony... Toujours pas, et root ?

Nous sommes root !

Mis à jour