Telegram Viewer (telegraming.live) 상세 분석 보고서

telegraming_live 실체화 분석 보고서

분석일: 2026-06-02

분석자: Deep Coding Lab

버전: v1.0

1. 앱 개요

항목 · 값

**랜딩 도메인** · [비공개]

**앱 이름** · Telegram Viewer

**패키지** · com.cafe24.cass

**Expo slug** · cafe24

**프레임워크** · Expo SDK 52 (React Native)

**EAS 소유자** · wooteayang

**EAS projectId** · dbf0683e-1553-41e3-be01-5f99e0e5caca

**카테고리** · 연락처 탈취 (몸캠피싱 미끼)

**위협 수준** · Critical

2. 인프라 매핑

2.1 도메인 구조

도메인 · IP · 용도

[비공개] · [비공개] / [비공개] (CF) · 랜딩 페이지

[비공개] · [비공개] / [비공개] (CF) · C2 API (CodeIgniter PHP)

[비공개] · [비공개] (Vultr) · Metro 번들 서버

2.2 서버 포트

IP · 포트 · 서비스

[비공개] · 80 · Expo Web Build (React Native Web)

[비공개] · 8084 · Metro 번들러 (OTA 배포)

2.3 서버 환경

· OS: Linux

· 패널: BT-Panel (宝塔面板) — 경로 /www/wwwroot/telegram_expo

· C2 백엔드: CodeIgniter PHP (ci_session 쿠키, index.php 응답)

· CDN: Cloudflare (랜딩 + API)

3. 공격 흐름 (Kill Chain)

```

[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] 가짜 오류: "기기가 이 버전과 호환 되지 않습니다"

→ 피해자는 앱 오류로 인식, 데이터 탈취 인지 못함

```

4. C2 통신 분석

4.1 엔드포인트

메서드 · URL · 용도 · 상태

POST · [비공개] · 연락처 + 기기정보 수신 · 🟢 활성

4.2 전송 데이터 구조

```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"

}

```

4.3 C2 응답

```json

{"code":1,"msg":"success"}

```

4.4 특이사항

· 엔드포인트명 getexpotoken은 의도적 위장 (실제로는 연락처 수신)

· CodeIgniter 세션 쿠키 설정 (ci_session, 2시간 만료)

· Cloudflare 뒤 실제 오리진 서버 IP 불명 (CF 프록시)

5. 소스 코드 분석

5.1 소스맵 복원 결과

· 번들: 6.28 MB (entry_android.bundle)

· 소스맵: 11.7 MB (entry_android.map)

· 복원 파일: 16개 (앱 고유 소스)

5.2 핵심 파일

파일 · 크기 · 기능

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 · 테마 설정

5.3 중국어 주석 (개발팀 지문)

원문 · 번역 · 위치

设备名称 · 기기 이름 · 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

6. 사회공학 분석

6.1 미끼 전략

· "앨범열기" 버튼 = 몸캠피싱 전형적 미끼

· 피해자에게 "텔레그램으로 사진/영상 공유" 위장

· 텔레그램 UI 모방으로 신뢰 유도

6.2 Expo Go 악용

· 정당한 Google Play Store 앱(Expo Go)을 런타임으로 악용

· 피해자 관점: "Play Store에서 정상 앱 설치" → 의심하지 않음

· APK 직접 설치 대비 보안 경고 없음

6.3 전화번호 검증

```javascript

const phoneRegex = /^(010|011|016|017|018|019)([0-9]{3,4})([0-9]{4})$/;

```

· 한국 휴대폰 번호만 허용 → 한국인 전용 타겟

7. 운영자 지문 (Operator Fingerprint)

지문 · 값 · 의미

EAS 계정 · wooteayang · Expo 개발자 계정

패키지명 · com.cafe24.cass · cafe24 (한국 호스팅?) 연관

Expo slug · cafe24 · cafe24 반복 사용

코드 언어 · 중국어 간체 · 중국인 개발팀

서버 패널 · BT-Panel (宝塔面板) · 중국산 서버 관리 패널

UI 언어 · 한국어 · 한국 [피해자 정보 비공개]

오류 메시지 · 한/중 혼용 · 중국 개발, 한국 배포

8. 탈취 데이터 목록

데이터 · 수집 방법

전화번호 (본인) · 사용자 직접 입력

연락처 전체 (이름) · 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

9. 기존 Expo Go 악용 앱과 비교

항목 · love3 · soller · candy · **telegraming_live**

위장 · 영상통화 · 채팅 · 게임 · **텔레그램**

미끼 · 앨범 보기 · 초대 · 무료 · **앨범열기**

탈취 대상 · 연락처 · 연락처 · 연락처 · **연락처**

C2 프레임워크 · - · - · - · **CodeIgniter PHP**

서버 OS · Windows · - · - · **Linux (BT-Panel)**

EAS 계정 · - · - · - · **wooteayang**

코드 주석 · 중국어 · 중국어 · 중국어 · **중국어**

Metro IP · - · - · - · **[비공개]**

C2 상태 · - · - · - · **🟢 활성**

10. IOC (Indicators of Compromise)

10.1 도메인

· [비공개]

· [비공개]

· [비공개]

10.2 IP 주소

· [비공개] (Vultr — Metro 서버)

· [비공개] (Cloudflare)

· [비공개] (Cloudflare)

10.3 URL

· [비공개] (랜딩)

· [비공개] (C2 엔드포인트)

· exp://[비공개] (Expo 딥링크)

10.4 패키지/식별자

· com.cafe24.cass

· EAS projectId: dbf0683e-1553-41e3-be01-5f99e0e5caca

· EAS owner: wooteayang

10.5 서버 경로

· /www/wwwroot/telegram_expo

10.6 세션/쿠키

· ci_session (CodeIgniter)

11. 기법 점검

🔬 기법 점검:

· 시도한 기법: 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 프록시 우회 필요)

12. 혁신 점검

혁신 점검:

· 새 아이디어/시도: CodeIgniter 세션 쿠키로 C2 백엔드 프레임워크 핑거프린팅

· 결과: 성공 — ci_session 쿠키 + index.php 200 응답으로 CodeIgniter PHP 확정

· 기법 카탈로그 반영: OA-098 신규 등재

· 다음 앱에서 시도할 아이디어: CF 프록시 우회 기법 (SSL 인증서 원본 IP 탐색)

본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr