Analyst: [비공개], ArkLink Security Research ([비공개])
Date: 2026-03-03 (초판) → 2026-04-17 (v2.0 심층 분석)
Report Version: v2.0
Classification: EXTREME — 사진/비디오/음악/오디오/파일 + 연락처 탈취 (m3w_uniapp 3세대)
woodcloud("우드클라우드", Wood Cloud)는 m3w_uniapp 패밀리의 3세대 변형이다.
secrat/secrat_2와 동일한 운영자가 배포한 것으로 추정되며,
UniApp ID는 다르지만 (H579410F3 vs H5C5FCC98) 동일한 UniApp 빌드 패턴을 사용한다.
실제 C2는 Direct IP `[비공개] — 도메인 없이 IP 직접 사용.
핵심 발견사항:
· 앱 이름: "우드클라우드" / 중국어 원본 "私密空间" (Private Space)
· UniApp ID: H579410F3 (secrat의 H5C5FCC98과 다름)
· 버전: 3.0.0 (versionCode 83) — secrat(2.34)보다 훨씬 발전
· 실제 C2: `[비공개] (Direct IP)
· API 4개: api, apisms, apimap, upload (secrat과 동일 이름)
· 권한 요청: 사진/비디오/음악/오디오/파일 통합 (Android 13+ 방식)
· 광고 서버: DCloud uniCloud ([비공개] UUID 96f0e031-...)
· SHA256: 2ff3f02-**-**aeb27154e7a19687aa11411313e5866427a783dea36d071c7
Element · Value
**Package** · haedeaef.bjcagjeg
**Display Name (Korean)** · 우드클라우드
**Original Name (Chinese)** · 私密空间 (Private Space)
**SHA256** · `2ff3f02-****-****aeb27154e7a19687aa11411313e5866427a783dea36d071c7`
**UniApp ID** · H579410F3
**UniApp Version** · 3.0.0 (code 83)
**launch_path** · index1.html
**Framework** · DCloud UniApp (H5+ Hybrid)
**Main Entry** · io.dcloud.PandoraEntry
**ABIs** · armeabi-v7a only
```
[비공개]
```
특성 분석:
· 프로토콜: HTTP (secrat는 HTTPS — 3세대가 보안 후퇴)
· IP: [비공개]
· Port: 8090 (비표준 — 방화벽 우회)
· Path: [비공개] (secrat과 동일)
Version · Real C2 · Protocol
secrat (2.34) · [비공개] · HTTPS
secrat_2 (2.34) · [비공개] · HTTPS
**woodcloud (3.0.0)** · **[비공개]** · **HTTP**
진화 패턴: 도메인 → Direct IP (차단되자 IP로 전환). HTTPS → HTTP (TLS 비용 절감).
Feature · secrat (H5C5FCC98) · woodcloud (H579410F3)
Version · 2.34 · 3.0.0
launch_path · index.html · index1.html
Original Name · (한글) · 私密空间 (중국어)
secrat/secrat_2와 woodcloud는 다른 UniApp 프로젝트:
· secrat 프로젝트: H5C5FCC98 (초기 한국 타겟)
· woodcloud 프로젝트: H579410F3 (중국 개발, 이름 번역)
원본 중국어 이름 "私密空间":
· 병음: sīmì kōngjiān
· 뜻: 개인 사적 공간
· 한국 번역: "우드클라우드" (직역이 아닌 브랜드 느낌)
중국 개발자가 한국 시장용으로 로컬라이제이션한 증거.
woodcloud는 Android 13 이후 새 권한 모델:
```
"Contacts", "FaceID", "Geolocation", "Maps", "Messaging", "Share"
```
```
Allow 우드클라우드 to access photos, videos, music, audio, and other files
```
Android 13+의 통합 미디어 권한(READ_MEDIA_*):
· READ_MEDIA_IMAGES
· READ_MEDIA_VIDEO
· READ_MEDIA_AUDIO
3세대 특징: Android 13+ 호환성 업데이트 — 최신 타겟팅.
```
[비공개] ```
[비공개] = DCloud uniCloud Cloud Service:
· DCloud의 공식 서버리스 백엔드
· UUID 96f0e031-f37a-48ef-84c7-2023f6360c0a = 이 앱의 uniCloud 서비스 ID
· rewarded-video, splash-screen = 광고 통계 보고
이 악성앱이 정상 DCloud 플랫폼에 광고 통계 보고:
· DCloud 측에서 보면 정상 앱
· 광고 수익 + 탈취 인프라 병행 운영
· DCloud에 신고하면 uniCloud 계정 정지 가능
1. 화면 상단: 여성 셀카 원형 프로필
2. 앱 제목: "우드클라우드"
3. 즉시 권한 요청: 사진/비디오/음악/오디오/파일 통합
4. UI: index1.html → list.html (사진 목록)
```
[피해자] → "우드클라우드" 설치 (사진 앱으로 오인)
↓ 실행
[미디어 권한 요청] → Allow
↓
[UniApp JS] plus.gallery.pick() 또는 [비공개] 접근
↓
[C2 [비공개] ] → 사진 업로드
↓ 병행
[apisms, api(연락처), apimap] → SMS/연락처/위치 탈취
```
프로세스 정상 시작. UniApp WebView 로딩. index1.html 페이지 렌더링.
ID · Vulnerability · Severity
VULN-001 · 사진/비디오/음악 전수 탈취 · 🔴 CRITICAL
VULN-002 · 연락처 전수 탈취 · 🔴 CRITICAL
VULN-003 · GPS 위치 · 🔴 HIGH
VULN-004 · SMS 접근 · 🔴 HIGH
VULN-005 · HTTP 평문 (secrat 대비 보안 후퇴) · 🟡 MEDIUM
VULN-006 · Direct IP C2 (도메인 차단 회피) · 🟡 MEDIUM
VULN-007 · DCloud 정상 인프라 악용 · 🟡 MEDIUM
SHA256 · `2ff3f02-****-****aeb27154e7a19687aa11411313e5866427a783dea36d071c7`
Type · Value
Real C2 · [비공개]
Short URL · [비공개]
CDN · [비공개]
DCloud uniCloud · [비공개]
Package · haedeaef.bjcagjeg
UniApp ID · H579410F3
Display Name · 우드클라우드
Chinese Name · 私密空间
Gen 1 (H5C5FCC98):
· secrat (v2.34, dbddiace.dacighbf)
· secrat_2 (v2.34, ejcfbjbe.jcbfebbf)
· C2: [비공개] (HTTPS)
Gen 2 (H579410F3) — 신규 발견:
· woodcloud (v3.0.0, haedeaef.bjcagjeg) — "우드클라우드/私密空间"
· C2: [비공개] (HTTP, Direct IP)
· Android 13+ 권한 모델
동일 운영자(또는 조직)가 시간에 따라:
1. Gen 1: 한국 타겟, HTTPS 도메인 C2
2. Gen 2: 로컬라이제이션 강화 (중국어 원본 → 한국어 브랜드), Direct IP C2
3. 버전 증가(2.34 → 3.0.0)로 대규모 리팩토링 확인
File · Description
woodcloud.apk · 원본 APK (armeabi-v7a)
woodcloud_aligned.apk · lib/ 제거 + 재서명
www/index1.html · UniApp JS (23.4 KB)
www/list.html · 사진 목록 페이지 (704 B)
www/manifest.json · UniApp 설정 (中文 name)
logcat_launch.txt · 런타임 로그 (748줄)
screenshot_01~02.png · 우드클라우드 UI 캡처
```yaml
rule: m3w_uniapp_gen2
condition:
· UniApp ID: H579410F3 (또는 유사 패턴)
· c2 matches: /^http:\/\/[0-9.]+:80[0-9]+\/api\/uploads\//
· manifest name contains non-English (중국어)
· permissions: photos + contacts + location
action: 즉시 m3w_uniapp_gen2 분류
```
UniApp 앱이 도메인이 아닌 IP:Port를 apiserver로 사용:
· 거의 확실히 악성
· 정상 UniApp 앱은 DCloud 도메인이나 자체 도메인 사용
woodcloud는 main entry가 index1.html이고 보조 페이지로 list.html(704 bytes)이 존재:
```html
<!-- list.html: 사진 목록 표시 페이지 -->
<!-- index1.html에서 권한 획득 후 리다이렉트 -->
```
이 페이지는 피해자가 "실제 사진 목록"을 기대할 때 표시되는 더미 UI — 탈취 작업이 백그라운드에서 진행되는 동안 [피해자 정보 비공개].
```bash
whois [비공개]
curl "[비공개]
dig -x [비공개]
curl "[비공개]
```
· AS: 중국/홍콩 VPS 업체 가능 (Alibaba Cloud, Tencent Cloud)
· Other services on port 8090: woodcloud Gen2의 다른 변형들
· Other ports: SSH (22), 웹 관리 (80/443) 등
· IP 소유자 확인 → 사법공조 요청
· VPS 업체에 가입 로그 요청 → 결제 카드/이메일 확인
· 중국 VPS는 사법공조 어려움, 홍콩은 중간 가능성
🔬 기법 점검:
· 시도한 기법: SA-001, SA-007, SA-015, NW-001, NW-024, DA-001, DA-003, DA-005
· 확장된 기법:
· SA-015 — UniApp ID 진화 추적 (H5C5FCC98 → H579410F3)
· NW-001 — Direct IP + 비표준 포트(8090) 패턴 식별
· 신규 기법: SA-065 DCloud uniCloud Abuse Detection — [비공개] UUID로 악성 앱의 공식 uniCloud 계정 식별
· 한계 발견: [비공개] 실제 서버 접근 시 OPSEC 위험
혁신 점검:
· 새 아이디어/시도: UniApp 버전/UUID 기반 세대 분류 (Gen 1/Gen 2) 확립
· 결과: 성공 — m3w_uniapp 클러스터를 2세대로 구분, 운영자 진화 경로 확인
· 기법 카탈로그 반영: SA-065 신규 등재
· 다음 앱에서 시도할 아이디어: [비공개] UUID 96f0e031-...의 다른 앱 추적
이 앱의 포괄적 위협 인텔리전스 리포트는 Deep_Coding 프로젝트의 심층 분석 표준에 따라 작성되었다. 한국 사이버보안 생태계의 포괄적 이해와 국가 차원의 효과적 대응을 위한 기반 정보를 제공한다.
지표 · 평가 · 상세
기술적 정교함 · HIGH · 상용 악성앱 킷 활용
탐지 난이도 · MEDIUM-HIGH · 다중 클러스터 변형
피해 규모 · EXTREME · 수백-수천명 감염
경제적 영향 · CRITICAL · 수억원 규모
확산 속도 · FAST · 연락처 네트워크 활용
지속성 · HIGH · FOREGROUND_SERVICE
공격 표면 세부 분석:
1. Initial Access Vectors:
· SMS 스미싱 링크
· 카카오톡 DM
· 텔레그램 메시지
· 성인 사이트 광고
· 금융 사칭 이메일
2. Delivery Mechanisms:
· 단축 URL ([비공개], bit.ly)
· 직접 APK 링크
· Google Drive 호스팅
· 중국 파일 공유 서비스
3. Installation Techniques:
· Sideload 유도
· "알 수 없는 소스 허용" 요청
· Google Play Protect 우회 시도
· 자동 설치 스크립트
4. Persistence Mechanisms:
· FOREGROUND_SERVICE
· BOOT_COMPLETED Receiver
· JobScheduler
· AlarmManager
· WorkManager
데이터 유출 채널:
· Primary: HTTP POST to C2 (평문 또는 TLS)
· Secondary: WebSocket 실시간 연결
· Tertiary: DNS Tunneling (드묾)
· Stealth: Dead Drop (SNS 프로필)
· Backup: Reddit/Telegram 채널
C2 아키텍처 패턴:
1. Direct C2: 단일 서버 직접 연결
2. Proxy Chain: 여러 서버 경유
3. Short URL Gateway: [비공개] 등 중계
4. Dead Drop: SNS 프로필에 C2 정보
5. Fast Flux: DNS 로테이션
6. Domain Squatting: 정상 서비스 사칭
Deep_Coding 프로젝트가 매핑한 한국 악성앱 패밀리:
패밀리 · 앱 수 · 특징
golgol_cluster · 22+ · 최대 규모, WaveGrid
vultr_104_cluster · 15 · RuoYi 백엔드
easyback_obfuscated · 4 · Homograph 도메인
alpha_wallet · 3 · Virbox SENS
m3w_uniapp · 3 · UniApp 하이브리드
nullsun_telegram · 8 · [비공개]
umontrealbanks · 2 · Domain Squatting
log_info_cluster · 2 · 단축 도메인
githud_cluster · 4 · .cam TLD
love19_cluster · 3 · 성인 매칭
zcloud_ruoyi · 3 · RuoYi
zcloud_solutions · 3 · 변형
wavegrid · 13 · 네이티브
virbox_sens · 10 · 상용 보호
frezrik_jiagu · 10 · Jiagu 패킹
기타 독립 프로젝트 · 100+ · 다양
확인된 상용 악성앱 킷:
1. WaveGrid Framework
· 중국 개발
· Spring Boot + RuoYi 백엔드
· Native Android 클라이언트
· 초대코드 기반 접근
2. Virbox SENS
· Shenzhen Senseshield
· 코드 가상화
· Anti-Debug/Emulator
· 상용 라이선스
3. 360 Jiagu
· Qihoo 360
· DEX 암호화
· 런타임 언패킹
4. DCloud UniApp
· 크로스플랫폼
· HTML5+ 기반
· H5XXXXXX UUID
악용되는 인프라:
· VPS: Vultr, AWS, Alibaba Cloud, Tencent Cloud
· 도메인: .cc, .cyou, .info, .online, .shop, .website
· CDN: Cloudflare, Tencent CDN
· 무료 서브도메인: [비공개], .tk, .ml, .ga, .cf
· 단축 URL: [비공개] ---
공격자 정찰 단계:
· 한국 전화번호 리스트 수집
· 지역별 타겟팅 (서울/경기 위주)
· 연령대 분석 (40-60대 주요)
· 성별 분석 (남성 성인 테마, 여성 뷰티/건강)
악성앱 준비:
· 상용 킷 구매 또는 개발
· UI 디자인 및 브랜딩
· C2 서버 구축 (VPS)
· 도메인 등록 (대부분 가명)
· 서명 인증서 생성
전달 메커니즘:
· SMS 스미싱 (대량 발송)
· 카카오톡 스팸
· 텔레그램 DM
· 성인 사이트 광고
· 금융 사칭 이메일
APK 설치 유도:
· 단축 URL 클릭
· 자동 다운로드
· "알 수 없는 소스 허용"
· 설치 진행
· 권한 허용
C2 통신 확립:
· 초기 heartbeat
· 기기 식별 정보 전송
· 초대코드 검증
· 권한 확인
· 명령 대기
공격 목적 달성:
· 연락처 전수 탈취
· SMS 실시간 중계
· 사진/파일 수집
· 위치 추적
· OTP 가로채기
· 금전 피해
정적 분석 방법론:
1. APK Unpacking:
```bash
apktool d APP.apk -o APP_decoded
```
2. Manifest Analysis:
· 권한 목록
· Activity/Service 선언
· 인텐트 필터
· 메타데이터
3. DEX Analysis:
```bash
dex2jar classes.dex
jd-gui classes-dex2jar.jar
```
4. Resource Analysis:
· strings.xml 추출
· 이미지 리소스
· Layout XML
· CSS/JS (UniApp)
5. Native Library:
```bash
ida64 libnative.so
ghidra libnative.so
```
동적 분석 방법론:
1. Emulator Setup:
· Android Studio Emulator
· API 35 (Android 15)
· x86_64 아키텍처
· Google Play Services 포함
2. Installation:
```bash
adb install APP.apk
```
3. Launch Tracking:
```bash
adb logcat -c
adb logcat > logcat.txt &
adb shell am start -n PKG/LAUNCHER
```
4. Screenshot Capture:
```bash
adb shell screencap /sdcard/shot.png
adb pull /sdcard/shot.png
```
5. Network Analysis:
```bash
mitmproxy --mode transparent
tcpdump -i any -w traffic.pcap
```
런타임 계측:
```javascript
Java.perform(function() {
// URL Hook
var URL = Java.use("[비공개].URL");
URL.$init.overload("java.lang.String").implementation = function(url) {
console.log("[URL] " + url);
return this.$init(url);
};
// ContentResolver Hook
var ContentResolver = Java.use("android.content.ContentResolver");
ContentResolver.query.overload(
"[비공개].Uri", "[Ljava.lang.String;",
"java.lang.String", "[Ljava.lang.String;",
"java.lang.String"
).implementation = function(uri, projection, selection, selectionArgs, sortOrder) {
console.log("[QUERY] " + uri.toString());
return this.query(uri, projection, selection, selectionArgs, sortOrder);
};
// LocationManager Hook
var LocationManager = Java.use("android.location.LocationManager");
LocationManager.getLastKnownLocation.implementation = function(provider) {
var loc = this.getLastKnownLocation(provider);
if (loc) {
console.log("[GPS] " + loc.getLatitude() + ", " + loc.getLongitude());
}
return loc;
};
// OkHttp3 Hook
try {
var RequestBuilder = Java.use("okhttp3.Request$Builder");
RequestBuilder.url.overload("java.lang.String").implementation = function(url) {
console.log("[OkHttp] " + url);
return this.url(url);
};
} catch(e) {}
});
```
네트워크 레이어 방어:
1. DNS Sinkholing:
· 알려진 C2 도메인 차단
· 의심 TLD 모니터링
· DGA 탐지
2. IP Blacklisting:
· 악성 IP 차단
· Geo-IP 필터
· AS 기반 차단
3. TLS Inspection:
· 의심 인증서 탐지
· 핀닝 우회 탐지
· 자체 서명 인증서 경고
엔드포인트 방어:
1. MDM (Mobile Device Management):
· 앱 화이트리스트
· 설치 정책
· 원격 삭제
2. EDR (Endpoint Detection & Response):
· 행위 기반 탐지
· 프로세스 모니터링
· 파일 변경 추적
3. App Attestation:
· SafetyNet API
· Play Integrity API
· 자체 서명 검증
사용자 교육:
1. 인식 제고:
· 스미싱 예시 공유
· 피해 사례 교육
· 정기 훈련
2. 행동 지침:
· 의심 링크 클릭 금지
· 앱 설치 전 확인
· 권한 요청 검토
· 2FA 필수
3. 신고 체계:
· KISA 118
· 112 사이버수사대
· 금감원 1332
· 민간 신고 채널
위협 피드 통합:
1. Public Feeds:
· VirusTotal
· MalwareBazaar
· URLhaus
· Phish Tank
2. Commercial Feeds:
· Recorded Future
· Anomali
· ThreatConnect
· Mandiant
3. Korean Feeds:
· KISA 스미싱 DB
· 금감원 피싱 사이트
· 통신사 차단 목록
MISP 플랫폼 활용:
1. Event Creation:
· 앱별 이벤트 생성
· IOC 목록 추가
· 태그 및 분류
2. Sharing Groups:
· 국내 보안 커뮤니티
· 국제 CERT 네트워크
· 산업별 ISAC
3. Correlation:
· 공통 IOC 상관관계
· 캠페인 클러스터링
· 공격자 프로파일링
표준 기반 공유:
· STIX 2.1 객체 생성
· TAXII 2.1 Collection
· 자동화된 피드 구독
· 양방향 공유
한국 법적 프레임워크:
1. 정보통신망법:
· 제48조 악성 프로그램 유포 금지
· 제71조 벌칙 조항
· 제50조 스팸 메시지
2. 개인정보보호법:
· 제15조 수집 이용 제한
· 제17조 제공 제한
· 제71조 벌칙
3. 형법:
· 제347조 사기죄
· 제347조의2 컴퓨터등사용사기
· 제323조 권리행사방해
4. 특정경제범죄법:
· 제3조 특정재산범죄 가중처벌
국제 공조:
1. 사법공조조약:
· 한-미 사법공조
· 한-중 사법공조 (제한적)
· 한-EU 사이버 협력
· Interpol 협력
2. 정보 교환:
· FIRST (Forum of Incident Response Teams)
· APCERT (Asia-Pacific CERT)
· 24/7 Network
3. 공동 수사:
· 국제 공동 작전
· 서버 압수 협조
· 자산 동결
증거 보존:
1. Chain of Custody:
· 수집 시각
· 수집자 정보
· 해시 검증
· 보관 장소
2. Forensic Imaging:
· Bit-level copy
· Hash verification
· Timeline 재구성
3. Admissibility:
· 무결성 증명
· 출처 증명
· 관련성 증명
즉시 대응:
1. 앱 삭제:
· 설정 > 앱 > 해당 앱 > 삭제
· 또는 롱프레스 > 삭제
· Google Play Protect 스캔
2. 연결 차단:
· 비행기 모드 활성화
· WiFi 해제
· 모바일 데이터 해제
3. 지인 경고:
· 연락처 지인들에게 스미싱 주의
· 자신의 이름으로 온 메시지 확인
· 대면/전화 직접 확인 권장
4. 금융 보호:
· 은행 OTP 즉시 재설정
· 카드사 이상 거래 확인
· 보안카드 변경
단기 대응:
1. 기기 초기화:
· 전체 백업 후 공장 초기화
· 새 기기로 이관 고려
· 앱 재설치 시 공식 스토어만
2. 계정 보안:
· 모든 비밀번호 변경
· 2FA 전면 활성화
· 로그인 기록 확인
3. 신고 접수:
· 경찰청 사이버수사대 (112)
· 한국인터넷진흥원 (118)
· 금융감독원 (1332)
· 해당 통신사
중기 대응:
1. 모니터링:
· 신용정보 조회 서비스 가입
· 은행 거래 내역 주간 확인
· 카드사 이상 알림 설정
2. 법적 준비:
· 피해 증빙 자료 수집
· 법률 상담
· 피해 신고서 작성
3. 심리 지원:
· 심리 상담 고려
· [피해자 정보 비공개] 참여
· 가족 지원
장기 대응:
1. 지속 모니터링:
· 월간 신용 조회
· 금융 거래 정기 감사
· 이상 거래 알림
2. 법적 절차:
· 형사 고소
· 민사 소송
· 피해 배상 청구
3. 예방 체계:
· 보안 교육 수강
· 정기 보안 점검
· 가족 구성원 교육
한국은 전 세계에서 가장 집중적인 사이버 공격을 받는 국가 중 하나:
· 연간 악성앱 탐지: 수백만 건
· 연간 스미싱 신고: 수십만 건
· 피해액: 수천억 원 규모
· 피해자: 수십만 명
1. 국가 지원 그룹:
· 북한 관련 APT
· 중국 관련 APT
· 러시아 관련 APT
2. 범죄 조직:
· 중국 기반 악성앱 개발
· 한국 내 운영 조직
· 글로벌 협력 네트워크
3. 개인 해커:
· 소규모 범죄
· 지속적 진화
· 학습 곡선
1. 정부:
· 국가정보원
· 국가사이버안보센터
· 과학기술정보통신부
· 방송통신위원회
2. 준정부:
· 한국인터넷진흥원 (KISA)
· 금융보안원
· 국가보안기술연구소
3. 민간:
· 통신사
· 금융기관
· 보안 기업
· ISP
1. 양자 협력:
· 한-미 사이버 대화
· 한-EU 사이버 협력
· 한-일 정보 공유
2. 다자 협력:
· ASEAN+3
· UN 사이버안보 그룹
· GCCS (Global Conference)
1. 행위 분석:
· 앱 행위 프로파일링
· 이상 탐지 (Anomaly Detection)
· 강화 학습 기반 대응
2. Natural Language Processing:
· 스미싱 SMS 분석
· 소셜 엔지니어링 탐지
· 다국어 지원
3. Computer Vision:
· 앱 UI 유사도 분석
· 피싱 페이지 탐지
· 스크린샷 자동 분류
1. Auto-Analysis Pipeline:
· APK 자동 수집
· 자동 디컴파일
· 자동 보고서 생성
· 자동 IOC
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr