1. 개요

- 스타링크(Starlink)를 탑재한 스바루 차량들에서 심각한 보안 취약점 발견 [1]
- 공격에 성공하면 미국, 캐나다, 일본에 있는 모든 스바루 차량과 고객 계정에 무제한 접근이 가능
- 이메일 주소, 전화번호, 차량번호판 중 하나만 알아도 최소 네 가지 공격을 진행할 수 있음

※ 현재는 보안 패치가 적용된 상태

2. 주요 내용

- 사용자가 차량에 명령을 보낼 수 있는 MySubaru 모바일 앱을 분석
> 프록시 처리한 후 명령을 가로채고 승인 없이 차량의 잠금을 해제할 수 있는지 찾기 위함
> 그러나, 앱의 보안 상태와 인증 시스템 모두 보안이 정상적으로 작동

 

2.1 portal.prod.subarucs.com

- 일반적으로 자동차 제조사들은 고객용 앱보다 더 광범위한 권한을 가진 직원용 앱이 있으며, subarucs.com이 이에 해당함
- 도메인에 대한 스캔을 실행한 결과 하위 도메인 hxxps://portal.prod.subarucs.com/login.html을 발견
> 해당 도메인에는 ‘스타링크 관리자 포털’(STARLINK Admin Portal)'이라는 이름이 붙어 있었음
> 구글링 결과 STARLINK는 스바루 차량 내 인포테인먼트 시스템의 이름으로 차량의 모든 원격 제어 기능을 담당

※ 인포테인먼트 (Infotainment) : 정보(Information)와 오락(Entertainment)의 합성어로, 정보 전달에 오락성을 가미한 소프트웨어를 지칭하는 용어

[사진 1] portal.prod.subarucs.com

2.2 /assets/_js/

- 해당 페이지의 소스를 확인해 아래 부분을 확인

> "/assets/_js/" 폴더 아래에 몇 가지 흥미로운 JavaScript 파일이 있었기 때문에, 다른 JavaScript 파일을 찾기 위해 디렉토리를 무차별 대입

[사진 2] /assets/_js/

2.3 login.js

- FFuF를 실행한 후 흥미로운 코드가 있는 login.js 파일을 확인
확인 토큰 없이 직원의 계정을 재설정할 수 있는 "ResetPassword.json" 엔드포인트가 있는 것으로 확인

[사진 3] ResetPassword.json

2.4 /forgotPassword/resetPassword.json

- 임의의 계정 정보를 포함한 POST 요청을 전송

[사진 4] 임의의 계정 정보 전송 및 실패

유효한 계정 정보를 사용해 테스트한 결과 비밀번호를 정상적으로 변경할 수 있었음

[사진 5] 유효한 계정 정보 전송및 성공

2.5 2FA 우회

- 변경한 계정 정보를 통해 로그인을 시도한 결과 2FA 인증이 필요

[사진 6] 2FA 요구

UI에서 클라이언트 측 오버레이를 제거하는 간단한 방법으로 2FA 인증을 우회할 수 있었음

> 또한 모든 버튼이 정상적으로 작동

[사진 7] 오버레이 제거
[사진 8] 2FA 우회

2.6 차량 해킹

- 지인의 차량 번호판을 통해 관리자 패널에서 접근 권한을 부여
> 계정이 성공적으로 생성되었음을 확인할 수 있는 이메일을 수신
> 생성된 계정으로 지인 차량의 잠금을 원격에서 해제할 수 있었음

[사진 9] 계정 정상 추가

[영상 1] 공격 시연 [3]

3. 참고

[1] https://samcurry.net/hacking-subaru#finding-the-subaru-admin-panel
[2] https://github.com/ffuf/ffuf
[3] https://www.youtube.com/watch?v=0i8juy6RPBI
[4] https://www.boannews.com/media/view.asp?idx=135796

+ Recent posts