오늘 3월 22일 토요일에 빙에서 카카오톡을 검색했더니 상위 3개 결과가 전부 피싱 사이트였습니다. apps-kakaocorp.com, apps-kakaotalk.com, pc-kakaotalk.com 이렇게 3개인데, 나름 그럴싸하죠?
사실 개발자 입장에선 허술한 피싱이지만, 디지털에 익숙하지 않은 부모님 세대라면 충분히 속을만한 퀄리티였습니다.
사이트 디자인도 바이브 코딩 티가 나긴하는데 그럭저럭 봐줄만 한 디자인이었고요. 정작 진짜 카카오톡 공식 사이트는 4등에 밀려나 있었습니다. 아래 글은 해당 피싱에 대한 간단한 분석입니다.

직접 접속하면 안 보입니다
요즘 피싱 사이트들이 좀 영리한 게, URL을 주소창에 직접 치면 아무것도 안 나옵니다. HTTP 500이 뜨면서 빈 페이지만 나와요.
curl -sS -D- https://apps-kakaocorp.com/
# HTTP/2 500 (빈 응답)
Referer 헤더를 붙여도 User-Agent가 없으면 403으로 차단됩니다.
curl -sS -D- -H "Referer: https://www.bing.com/" https://apps-kakaocorp.com/
# HTTP/2 403 "Access denied."
Referer 그리고 User-Agent를 같이 보내야 비로소 피싱 페이지가 나타납니다.
curl -sS -D- \
-H "Referer: https://www.bing.com/" \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)..." \
https://apps-kakaocorp.com/
# HTTP/2 200 (32KB 피싱 페이지)
이러면 urlscan.io 같은 자동 스캐너로 돌려도 빈 페이지만 나오니까 보안 분석도 피해가고, 누군가 "이거 피싱 아니야?" 하고 URL을 직접 들어가봐도 아무것도 안 보이니까 신고하기도 애매해지는 거죠.
11가지 조합으로 테스트해 봤는데 결론은 간단합니다. Referer 있을 것, UA 있을 것. 이 두 가지만 충족하면 OS가 뭐든, 브라우저가 뭐든, 검색엔진이 빙이든 구글이든 네이버든 다 보여줍니다. 3개 도메인 전부 필터링이 100% 동일하고요.
소스코드에서 나온 것들
피싱 페이지 소스를 받아서 열어봤더니 생각보다 꽤나 허술했습니다.
og:locale이 zh-cn
<meta property="og:locale" content="zh-cn">
카카오톡 사이트를 사칭하면서 OpenGraph 로케일을 중국어로 놔뒀습니다. 실수인 거겠죠.
51.la 추적 코드
<script src="//sdk.51.la/js-sdk-pro.min.js"></script>
<script>LA.init({id:"3P8qBJ0OfqMaXlJn",ck:"3P8qBJ0OfqMaXlJn"})</script>
Google Analytics 대신 51.la라는 중국 웹 분석 서비스를 씁니다.
tell.js — 텔레그램 연락처
이게 제일 결정적이었습니다. /static/js/tell.js라는 파일을 로드하길래 받아봤더니:
document.addEventListener('DOMContentLoaded', () => {
const $tg=['@xiaozhang0','@qingf80188'][Math.floor(Math.random()*2)];
$p=document.querySelector('footer .border-t');
$p.innerHTML=$p.innerHTML+'contact us: '+$tg;
});
네. 사실 JS로 볼 필요도 없이 그냥 사이트 푸터에 텔레그램 연락처를 랜덤으로 하나 표시합니다. @xiaozhang0(小张, "작은 장씨")이랑 @qingf80188. 피싱 킷 관련 문의용 연락처로 보입니다. 3개 도메인 전부 이 파일이 바이트 단위로 동일합니다.
기타
/wenzhang/(중국어 "文章", 글) 경로로 SEO용 페이지 자동 생성- 에셋 경로가
seo_templates/index/zd/kk_1/,kk_2/,kk_3/구조 — 도메인별 SEO 템플릿 변형 - 모든 한국어 텍스트를 HTML entities로 인코딩해서 넣음
- Tailwind CSS + Font Awesome CDN 사용
- 공식 카카오 서비스 링크(accounts.kakao.com, careers.kakao.com 등)를 넣어서 신뢰성 위장
다운로드 과정
페이지에 x64, x32, macOS용 다운로드 버튼이 있고 전부 /download.php로 연결됩니다. 근데 바로 호출하면 500이 나오고, 먼저 /download 페이지에 접속해서 PHPSESSID 쿠키를 받아야 합니다.
# 1. 세션 쿠키 획득
curl -sS -c cookies.txt \
-H "Referer: https://www.bing.com/" \
-H "User-Agent: ..." \
https://apps-kakaocorp.com/download -o /dev/null
# 2. 쿠키로 다운로드 요청
curl -sS -b cookies.txt -D- -o /dev/null \
-H "Referer: https://apps-kakaocorp.com/download" \
-H "User-Agent: ..." \
https://apps-kakaocorp.com/download.php
# HTTP/2 302
# location: https://download.i96l6.top/KakaoTalk_S8542up.zip
download.i96l6.top이라는 Cloudflare CDN 도메인으로 리다이렉트됩니다. 이 도메인은 Alibaba Cloud에서 등록된 중국 도메인이고요. 3개 피싱 사이트 전부 같은 URL로 리다이렉트됩니다.
악성코드
다운로드한 ZIP(98MB)을 열면 KakaoTalk_S8542up.scr이 들어있습니다. .scr은 Windows 스크린세이버 파일인데 실제로는 .exe랑 동일한 PE 실행 파일입니다.
NSIS v3.07 인스톨러이고, exiftool로 메타데이터를 뽑으면 "Kakao Corp.", "KakaoTalk Setup", 버전 26.1.2.4957 이렇게 그럴듯하게 위장해놨습니다. 그리고 requestedExecutionLevel이 requireAdministrator로 설정되어 있어서 관리자 권한을 요구합니다.
NSIS 인스톨러 내부를 7z로 열어보면:
- DcryptDll.dll (20KB) — 런타임 복호화 DLL. 암호화된 페이로드를 풀어주는 역할
- $APPDATA/comain_ev2f79/, $APPDATA/comain_ev2c34/ — AppData에 파일 드롭
- $R1 (94MB) — 메인 페이로드. WPS Office(중국 Kingsoft 오피스 제품군) 컴포넌트가 대량으로 포함
- login_guide_checkbox_normal.svg — 로그인 UI 에셋
정상 소프트웨어(WPS Office)와 악성 페이로드를 같이 설치해서 사용자를 안심시키는 패턴으로 보입니다. 동적 분석은 하지 않았기에 정확히 어떤 행위를 하는지까지는 확인 못했습니다.
인프라
3개 도메인의 WHOIS를 조회하면 재밌는 게 나옵니다.
| apps-kakaocorp.com | apps-kakaotalk.com | pc-kakaotalk.com | |
|---|---|---|---|
| 등록 시각 | 01:34:01 | 01:34:02 | 01:34:01 |
| Registry ID | 3071537943 | 3071537949 | 3071537946 |
1초 간격으로 등록이고, Registry Domain ID도 3 간격으로 연번입니다. 자동화 도구로 한 번에 3개를 찍어낸 거죠. IP도 207.56.58.34, .36, .40으로 같은 /24 서브넷이고, TLS 인증서도 같은 날 7분 간격으로 발급받았습니다.
등록기관은 Tencent/DNSpod, CDN은 Alibaba Cloud, 분석 도구는 51.la, 텔레그램 연락처도 중국어 닉네임. 전부 중국 인프라입니다.
이게 좀 위험한 이유
Edge 브라우저의 기본 검색엔진이 빙이잖아요. 설정 안 바꾼 사람이 "카카오톡" 검색하면 공식 사이트보다 피싱 사이트가 먼저 나옵니다. URL을 유심히 안 보면 구분이 안 되고, 직접 접속하면 빈 페이지라 신고도 애매하고요.
대응 방법...?
- 카카오톡은
https://www.kakaocorp.com에서 직접 다운로드 - 그냥 수상한 바이너리는 실행하지 않는다.
애초에 구글 사용한다.<- 빙 피싱 사이트 대응이 너무 느려요... ㅠㅠ