# 한국 최대 모바일 채팅 앱에서 발견된 1-클릭 익스플로잇

> Clean Markdown view of GeekNews topic #15537. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15537](https://news.hada.io/topic?id=15537)
- GeekNews Markdown: [https://news.hada.io/topic/15537.md](https://news.hada.io/topic/15537.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-06-27T08:33:18+09:00
- Updated: 2024-06-27T08:33:18+09:00
- Original source: [stulle123.github.io](https://stulle123.github.io/posts/kakaotalk-account-takeover/)
- Points: 4
- Comments: 0

## Topic Body

### TL;DR

- 카카오톡 `10.4.3` 버전에서 원격 공격자가 WebView에서 임의의 JavaScript를 실행해 HTTP 요청 헤더에 액세스 토큰을 유출할 수 있는 딥 링크 검증 문제가 있음.
- 이 토큰을 사용해 다른 사용자의 계정을 탈취하고 공격자가 제어하는 장치에 등록해 채팅 메시지를 읽을 수 있음.
- 이 버그는 CVE-2023-51219로 할당됨.

### 배경

- 카카오톡은 1억 이상의 다운로드를 기록한 한국의 가장 인기 있는 채팅 앱임.
- 카카오톡은 기본적으로 종단 간 암호화(E2EE)를 사용하지 않음.
- "Secure Chat"이라는 선택적 E2EE 기능이 있지만 그룹 메시징이나 음성 통화를 지원하지 않음.

### Entry Point: CommerceBuyActivity

- `CommerceBuyActivity` WebView는 공격자가 주목할 만한 주요 진입점임.
  - 딥 링크로 시작 가능 (`adb shell am start kakaotalk://buy`)
  - JavaScript가 활성화됨 (`settings.setJavaScriptEnabled(true);`)
  - `intent://` 스킴을 지원해 다른 비공개 앱 컴포넌트에 데이터 전송 가능.
  - `intent://` URI의 검증이 부족해 잠재적으로 모든 앱 컴포넌트에 접근 가능.
  - `Authorization` HTTP 헤더에 액세스 토큰을 유출함.

### URL 리디렉션을 통한 DOM XSS

- `https://buy.kakao.com`에서 `https://buy.kakao.com/auth/0/cleanFrontRedirect?returnUrl=` 엔드포인트를 통해 XSS 취약점을 발견함.
- `https://m.shoppinghow.kakao.com/m/search/q/alert(1)`에서 저장된 XSS를 확인함.
- `CommerceBuyActivity` WebView에서 임의의 JavaScript를 실행해 사용자의 액세스 토큰을 유출할 수 있음.

### 딥 링크를 통한 카카오 메일 계정 탈취

- 악성 딥 링크를 통해 사용자의 액세스 토큰을 공격자 서버로 전송 가능.
- 액세스 토큰을 사용해 피해자의 카카오 메일 계정을 탈취하거나 새로운 메일 계정을 생성해 기존 이메일 주소를 덮어쓸 수 있음.

### Burp를 이용한 카카오톡 비밀번호 재설정

- 피해자의 카카오 메일 계정에 접근해 비밀번호 재설정을 시도할 수 있음.
- 2단계 인증(2FA)을 우회하기 위해 Burp를 사용해 요청을 가로채고 수정함.

### PoC

- 공격자가 악성 딥 링크를 준비해 피해자가 클릭하면 액세스 토큰을 유출함.
- 유출된 액세스 토큰을 사용해 피해자의 비밀번호를 재설정하고 공격자의 장치를 피해자의 카카오톡 계정에 등록함.

### Takeaways

- 여전히 복잡하지 않은 공격 체인으로 사용자의 메시지를 탈취할 수 있는 인기 채팅 앱이 존재함.
- 앱 개발자가 몇 가지 간단한 실수를 하면 Android의 강력한 보안 모델과 메시지 암호화가 도움이 되지 않음.
- 아시아 채팅 앱은 보안 연구 커뮤니티에서 여전히 저평가되고 있음.

### GN⁺의 의견

1. **보안 취약점의 심각성**: 카카오톡과 같은 대중적인 앱에서 발견된 보안 취약점은 사용자 데이터 보호의 중요성을 다시 한번 상기시켜 줌.
2. **개발자의 책임**: 앱 개발자는 보안 검증을 철저히 하고, 특히 민감한 데이터와 관련된 기능에서는 더욱 신경 써야 함.
3. **사용자 교육**: 사용자도 의심스러운 링크를 클릭하지 않도록 주의하고, 2단계 인증을 활성화하는 등 보안 의식을 높여야 함.
4. **보안 연구의 필요성**: 아시아 채팅 앱에 대한 보안 연구가 더 활발히 이루어져야 하며, 이를 통해 더 많은 취약점을 사전에 발견하고 수정할 수 있음.
5. **대안 제시**: 카카오톡 외에도 Signal, Telegram과 같은 보안 중심의 메시징 앱을 고려해 볼 수 있음.

## Comments



_No public comments on this page._
