분석일: 2026-06-02
분석자: Deep Coding Lab
버전: v1.0
항목 · 값
**랜딩 도메인** · [비공개]
**앱 이름** · Telegram Viewer
**패키지** · com.cafe24.cass
**Expo slug** · cafe24
**프레임워크** · Expo SDK 52 (React Native)
**EAS 소유자** · wooteayang
**EAS projectId** · dbf0683e-1553-41e3-be01-5f99e0e5caca
**카테고리** · 연락처 탈취 (몸캠피싱 미끼)
**위협 수준** · Critical
도메인 · IP · 용도
[비공개] · [비공개] / [비공개] (CF) · 랜딩 페이지
[비공개] · [비공개] / [비공개] (CF) · C2 API (CodeIgniter PHP)
[비공개] · [비공개] (Vultr) · Metro 번들 서버
IP · 포트 · 서비스
[비공개] · 80 · Expo Web Build (React Native Web)
[비공개] · 8084 · Metro 번들러 (OTA 배포)
· OS: Linux
· 패널: BT-Panel (宝塔面板) — 경로 /www/wwwroot/telegram_expo
· C2 백엔드: CodeIgniter PHP (ci_session 쿠키, index.php 응답)
· CDN: Cloudflare (랜딩 + API)
```
[1] 피해자에게 [비공개] 링크 전달 (몸캠 협박 미끼: "앨범열기")
↓
[2] 랜딩 페이지 자동 실행: openExpoOrRedirect()
↓ window.onload
[3] exp://[비공개] 딥링크 시도
↓ Expo Go 설치됨?
├─ YES → Expo Go에서 악성 번들 로드
└─ NO → Play Store/App Store로 리다이렉트 (Expo Go 설치 유도)
↓
[4] "Telegram Viewer" 로그인 화면 표시
↓ [피해자 정보 비공개] 입력
[5] 연락처 권한 요청 (expo-contacts)
↓ 권한 허용
[6] 전체 연락처 탈취 (이름, 전화번호, 이메일)
↓
[7] 10초 LoadingAnimation 표시 ("잠시만 기다려 주세요...")
↓ 탈취 데이터 패키징
[8] C2 전송: POST [비공개]
↓ {"code":1,"msg":"success"}
[9] 가짜 오류: "기기가 이 버전과 호환 되지 않습니다"
→ 피해자는 앱 오류로 인식, 데이터 탈취 인지 못함
```
메서드 · URL · 용도 · 상태
POST · [비공개] · 연락처 + 기기정보 수신 · 🟢 활성
```json
{
"Platform": "Android",
"brand": "Samsung",
"deviceId": "<Android ID>",
"model": "SM-S918N",
"version": "13",
"phoneNumber": "010-**-**",
"contacts": [
{
"id": "...",
"name": "홍길동",
"phoneNumbers": [{"number": "010-**-**", "type": "mobile"}],
> [비공개]
}
],
"timestamp": "2026-06-02T12:00:00.000Z"
}
```
```json
{"code":1,"msg":"success"}
```
· 엔드포인트명 getexpotoken은 의도적 위장 (실제로는 연락처 수신)
· CodeIgniter 세션 쿠키 설정 (ci_session, 2시간 만료)
· Cloudflare 뒤 실제 오리진 서버 IP 불명 (CF 프록시)
· 번들: 6.28 MB (entry_android.bundle)
· 소스맵: 11.7 MB (entry_android.map)
· 복원 파일: 16개 (앱 고유 소스)
파일 · 크기 · 기능
app/(tabs)/index.tsx · 7,493 B · **메인 페이로드** — 연락처 탈취 + C2 전송
components/LoadingAnimation.tsx · 3,802 B · 탈취 중 위장 애니메이션 (10초)
app/(tabs)/_layout.tsx · 787 B · 탭 레이아웃 (단일 탭)
app/_layout.tsx · 288 B · 루트 네비게이션
constants/theme.ts · 1,683 B · 테마 설정
원문 · 번역 · 위치
设备名称 · 기기 이름 · index.tsx:38
应用标识 · 앱 식별자 · index.tsx:44
设备ID · 기기 ID · index.tsx:46
加载设备信息失败 · 기기 정보 로드 실패 · index.tsx:55
发送数据失败 · 데이터 전송 실패 · index.tsx:142
请求通讯录权限 · 연락처 권한 요청 · index.tsx:156
获取通讯录 · 연락처 가져오기 · index.tsx:163
显示10秒的loading动画 · 10초 로딩 애니메이션 표시 · index.tsx:167
错误 · 오류 · index.tsx:149
请输入有效的手机号码 · 유효한 핸드폰 번호 입력 · index.tsx:149
尝试打开 expo:// 链接 · expo:// 링크 열기 시도 · landing JS
旋转动画 · 회전 애니메이션 · LoadingAnimation.tsx:19
进度条动画 · 진행바 애니메이션 · LoadingAnimation.tsx:29
· "앨범열기" 버튼 = 몸캠피싱 전형적 미끼
· 피해자에게 "텔레그램으로 사진/영상 공유" 위장
· 텔레그램 UI 모방으로 신뢰 유도
· 정당한 Google Play Store 앱(Expo Go)을 런타임으로 악용
· 피해자 관점: "Play Store에서 정상 앱 설치" → 의심하지 않음
· APK 직접 설치 대비 보안 경고 없음
```javascript
const phoneRegex = /^(010|011|016|017|018|019)([0-9]{3,4})([0-9]{4})$/;
```
· 한국 휴대폰 번호만 허용 → 한국인 전용 타겟
지문 · 값 · 의미
EAS 계정 · wooteayang · Expo 개발자 계정
패키지명 · com.cafe24.cass · cafe24 (한국 호스팅?) 연관
Expo slug · cafe24 · cafe24 반복 사용
코드 언어 · 중국어 간체 · 중국인 개발팀
서버 패널 · BT-Panel (宝塔面板) · 중국산 서버 관리 패널
UI 언어 · 한국어 · 한국 [피해자 정보 비공개]
오류 메시지 · 한/중 혼용 · 중국 개발, 한국 배포
데이터 · 수집 방법
전화번호 (본인) · 사용자 직접 입력
연락처 전체 (이름) · expo-contacts API
연락처 전체 (전화번호) · expo-contacts API
연락처 전체 (이메일) · expo-contacts API
기기 이름 · expo-device
기기 모델 · expo-device
기기 브랜드 · expo-device
Android ID · expo-application
OS 버전 · expo-device
플랫폼 · expo-device
타임스탬프 · JavaScript Date
항목 · love3 · soller · candy · **telegraming_live**
위장 · 영상통화 · 채팅 · 게임 · **텔레그램**
미끼 · 앨범 보기 · 초대 · 무료 · **앨범열기**
탈취 대상 · 연락처 · 연락처 · 연락처 · **연락처**
C2 프레임워크 · - · - · - · **CodeIgniter PHP**
서버 OS · Windows · - · - · **Linux (BT-Panel)**
EAS 계정 · - · - · - · **wooteayang**
코드 주석 · 중국어 · 중국어 · 중국어 · **중국어**
Metro IP · - · - · - · **[비공개]**
C2 상태 · - · - · - · **🟢 활성**
· [비공개]
· [비공개]
· [비공개]
· [비공개] (Vultr — Metro 서버)
· [비공개] (Cloudflare)
· [비공개] (Cloudflare)
· [비공개] (랜딩)
· [비공개] (C2 엔드포인트)
· exp://[비공개] (Expo 딥링크)
· com.cafe24.cass
· EAS projectId: dbf0683e-1553-41e3-be01-5f99e0e5caca
· EAS owner: wooteayang
· /www/wwwroot/telegram_expo
· ci_session (CodeIgniter)
🔬 기법 점검:
· 시도한 기법: OA-001 (Expo 매니페스트 추출), OA-003 (소스맵 복원), OA-010 (C2 API 프로빙), OA-012 (딥링크 분석), OA-094 (Expo 번들 다운로드)
· 확장된 기법: OA-001 확장 (매니페스트에서 EAS owner/projectId 추출 → 운영자 지문)
· 신규 기법: OA-098 "CodeIgniter C2 핑거프린팅" — ci_session 쿠키 + index.php 응답으로 PHP 프레임워크 식별
· 한계 발견: Cloudflare 뒤 실제 API 서버 오리진 IP 미확인 (CF 프록시 우회 필요)
혁신 점검:
· 새 아이디어/시도: CodeIgniter 세션 쿠키로 C2 백엔드 프레임워크 핑거프린팅
· 결과: 성공 — ci_session 쿠키 + index.php 200 응답으로 CodeIgniter PHP 확정
· 기법 카탈로그 반영: OA-098 신규 등재
· 다음 앱에서 시도할 아이디어: CF 프록시 우회 기법 (SSL 인증서 원본 IP 탐색)
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr