> 분석 주체: 주식회사 아크링크 (정당한 보안 연구 — 피싱/스미싱 [피해자 정보 비공개])
> 분석 레벨: dynamic (정적 + 동적 + C2 패널 정찰)
> 최초 작성: 2026-06-21 (admin SSOT 완전성 감사로 누락 발견 후 등재)
260317_LOVESM.apk 는 com.puwnxdr.iuwnncs 패키지의 wavegrid 패밀리(RuoYi 백엔드) 연락처·미디어 탈취 악성앱이다. "LOVESM" 류 만남/소개팅 앱으로 위장하며, 초대코드 게이트를 통과한 피해자의 연락처 전체 + 사진/영상 + 단말 식별자를 C2 `[비공개] 로 탈취한다.
항목 · 값
패키지 · com.puwnxdr.iuwnncs
SHA256 · e1dcd2f828f3249f89f0632a67e36b4c939d9a33c3ee25b54345d648ab6b88e5
패밀리 · wavegrid (RuoYi [비공개])
C2 · [비공개] (LIVE)
C2 패널 위장 · 个人网盘관리시스템 (Personal Netdisk Management System)
위협도 · extreme
우회 상태 · success (초대코드 56개 확보 + 패널 정찰)
AndroidManifest 추출 권한:
권한 · 악성 용도
READ_CONTACTS · 연락처 전체 탈취 (핵심)
READ_MEDIA_IMAGES · 갤러리 사진 탈취
READ_MEDIA_VIDEO · 갤러리 영상 탈취
READ_EXTERNAL_STORAGE · 레거시 저장소 미디어 접근
READ_PHONE_NUMBERS / READ_PHONE_STATE · 전화번호·IMEI/IMSI 단말 식별
DUMP · 시스템 정보 덤프 (비정상적으로 강한 권한)
INTERNET / ACCESS_NETWORK_STATE · C2 통신
연락처 + 미디어(사진·영상) + 단말식별자 조합은 wavegrid 패밀리의 표준 탈취 프로파일이다.
· Primary C2: `[비공개]
· 앱 자체 smali(decompiled)에 평문 하드코딩: ...[비공개], ...[비공개]
· 백엔드: RuoYi (Java Spring, `[비공개] 라우팅) — wavegrid 패밀리 공통
· 플릿 공유: 동봉 정찰 스크립트가 동일 플릿의 자매 C2를 교차 프로빙:
· `[비공개] (= ML 앱(YLOVE)의 C2 — apps.json ML.ioc에 ddu17j 도메인 역등재 확인)
· `[비공개]
· 귀속: wavegrid MaaS 플릿 (PEG TECH 계열 인프라, ML/penha/losh/tunf 와 동일 운영 패턴)
이 앱은 wavegrid 표준 초대코드 게이트를 사용한다. 코드 검증은 C2 `[비공개] (또는 초대코드 엔드포인트)으로 수행된다.
· 확보된 유효 초대코드: 56개 (scan_results.json의 found 배열)
· 예: 8LJX, L7HQ, FJQ1, E2EK, PR4D, GFNZ, HN11, FSLY …
· 응답 시그니처: 유효 코드 → {"msg":"접속오류!","code":200}
· 이는 LOSH 트랩 패턴 — code:200 "접속오류!" 는 가짜 에러 메시지(cloaking)이며 실제로는 서버 처리 성공(코드 유효/세션 생성)을 의미한다. tunf·penha 분석에서 확립된 시그니처와 동일.
· code_keeper_state.json: 26,128회 코드 체크 수행, trap_deployed 코드군 운용 — 동적 초대코드 수확 작업 산출물.
· 초대코드 게이트 통과 → 권한 요청 → 허용 시 `[비공개] 로 연락처 업로드.
· 페이로드 필드(smali 확인): Username(=초대코드), Model(단말 모델), OperatorName(통신사) — RuoYi wavegrid 표준 saveAddressBook 구조.
· 미디어(사진/영상)는 READ_MEDIA_IMAGES/VIDEO 권한으로 수집되어 업로드(별도 image 엔드포인트, wavegrid 공통 /webapp/image/{code} 패턴 추정).
· 상세 전송 구조는 lovesm_260317_data_transmission_report.md 참조.
· admin_index.html: C2의 관리자 패널 캡처. <title>个人网盘管理系统</title> (개인 클라우드 디스크 관리 시스템) — 피해 데이터를 "넷디스크"로 위장 관리하는 RuoYi 백오피스.
· cap_45_admin6.jpg, cap_45_cloud1.jpg, cap_oi_admin1.jpg 등 다수 패널/로그인 캡처 — 관리자 계정 열거(admin1/admin123/admin666/123qwe) 정찰 흔적.
기제 · 상태
패킹(Jiagu/Virbox) · 없음 — 평문 smali 직접 디컴파일
에뮬레이터 탐지 · 미검출 (동적 실행 성공)
C2 cloaking · "접속오류!"(200) 가짜 에러로 유효/무효 위장
코드 난독화 · 패키지명 난독(com.puwnxdr.iuwnncs) 수준
· logcat_dynamic_analysis.txt: 런타임 logcat
· frida_universal_output.txt: Frida 후킹 출력
· 260317_LOVESM_patched_aligned.apk (+ .idsig): 권한 게이트 분석용 패치/서명 APK
· _monitor_cap.jpg, cap_login*.jpg, captcha_*.jpg: 권한/로그인/captcha 흐름 캡처
유형 · 값
패키지 · com.puwnxdr.iuwnncs
SHA256 · e1dcd2f828f3249f89f0632a67e36b4c939d9a33c3ee25b54345d648ab6b88e5
C2 도메인 · [비공개]
C2 엔드포인트 · [비공개]
플릿 자매 C2 · [비공개]
유효 초대코드 · 8LJX, L7HQ, FJQ1, E2EK, PR4D, GFNZ, HN11, FSLY 외 48개(총 56)
C2 패널 시그니처 · `个人网盘管理系统`
· 연락처 전체 + 갤러리 사진/영상 + 전화번호가 C2로 탈취되어 2차 피싱/협박(몸캠피싱) 소재로 사용됨.
> [비공개]
· C2 [비공개] 는 ML 플릿과 인프라 공유 — 통합 차단/모니터링 대상.
🔬 기법 점검:
· 시도한 기법: [SA-정적C2추출] 앱 smali 평문 C2/엔드포인트 추출 / [NW-초대코드오라클] LOSH 트랩 시그니처(접속오류!=200=유효)로 56개 코드 유효성 판정 / [OA-패널정찰] admin_index.html C2 백오피스(个人网盘管理系统) 캡처·계정열거 / [NW-플릿프로빙] 자매 C2(oiubny=ML, 45fgd) 교차 프로빙으로 wavegrid 플릿 귀속
· 확장된 기법: [LOSH 트랩 패턴 확장] tunf/penha에서 확립된 code:200 "접속오류!"=INSERT/유효 시그니처를 본 앱 56코드 데이터셋에 적용·재확인 — 패밀리 횡단 일반성 입증
· 신규 기법: 없음 (기존 wavegrid 분석 기법 재적용)
· 한계 발견: [L-패널인증] admin_index.html 은 캡처본이며 라이브 패널 재인증/장악은 미수행 / [L-미디어전송] 사진/영상 업로드 엔드포인트는 권한 프로파일·패밀리 패턴으로 추정, PCAP 바이트 미확보
> [비공개]
· LOVESM 만남앱 위장. 첫 장벽은 초대코드 게이트(코드 없이는 앱 진입 불가).
· smali 평문에서 C2 `[비공개] + 초대코드/로그인 엔드포인트 추출 → 게이트가 서버측 검증임을 확인. 단발 정적 분석으로는 코드를 알 수 없어 동적 수확이 필요했다.
· 4자 코드 공간(약 1.6M)을 50워커·23~26코드/sec로 brute (scan_invitecodes → scan_v2).
· scan_v2_state: 690,255개 스캔, 누적 유효코드 56~89개 발견(all_found_codes 89, scan_results found 56).
· 유효 시그니처 = LOSH 패턴({"msg":"접속오류!","code":200}), 무효 = err. 시행착오: 초기엔 무효/유효 구분 기준이 없어 전수 응답을 분류한 뒤에야 LOSH 시그니처를 확립.
· 발견 코드가 휘발성(운영자가 수시 무효화)이라 단발 스캔으로는 부족 → code_keeper로 88개 known 코드를 5분 간격 26,128회 생존 모니터링.
· 결과: alive 4 → 0 (code_keeper_log Check #26120까지 Alive 0). 운영자 글로벌 코드 로테이션으로 확보 코드 전량 사멸 — penha/tunf의 wavegrid 회전과 동일 메커니즘.
· 후반 재스캔(scan_output): found:0 / injected:0 / err:4666 — 코드 공간 자체가 회전돼 신규 발견 0. 시행착오의 핵심 교훈: "코드 확보 = 종결"이 아니다.
· C2 관리자 패널(个人网盘管理系统)은 캡차 로그인 → 51회 캡차 시도(UUID 기반, 예 d942740112e643459b466b78e2d58c41).
· admin 비밀번호 열거: admin1 / admin123 / admin666 / 123qwe (cap_oi_*.jpg) → 라이브 패널 장악은 미완(한계).
단계 · 시도 · 결과
코드 brute · 690K 스캔 (50워커) · 56~89개 발견
생존 모니터 · 26,128회 (5분 간격) · 전부 사멸(글로벌 회전)
패널 캡차/계정 · 51회 / 4계정 · 부분(미장악)
> [비공개]
> [비공개]
260317_LOVESM = wavegrid RuoYi 플릿의 연락처·미디어 탈취 변종. C2 [비공개], 유효 초대코드 56개 확보, ML 플릿과 인프라 공유. admin SSOT 감사로 누락이 발견되어 본 보고서와 함께 apps.json에 등재됨.
> 침투·역공 등 민감 분석 섹션은 비공개입니다. 피해 상담·전체 열람 문의: [비공개]
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr