안드로이드 악성코드 분석 보고서
(Ducktalk.apk)
목 차
Ⅰ. 악성코드 개요
1. 파일정보
2. 분석 환경
3. 타 모바일 자동화 프레임 워크 현황
Ⅱ. 악성 앱 구조 및 행위 분석
Ⅳ. 피해 예상 및 대처
1. 피해 상황 및 예상
Ⅴ. 결론
1. 결론 및 대응 방안
Ⅰ. 악성코드 개요
1. 파일정보
파일명 | 1731074131332777244.apk |
MD5 | 3bd66e90b9b01c693fcdf66ecb2689b7 |
악성코드 명 | SMSstealer |
위험성 | 上 |
탈취정보 | 이름, 통신사, 전화번호, 내용, 앨범 |
유출지 | http://yubtrqvz12254.monster/prod-api/ |
본 악성코드는 SMSstealer 계열로 분류되는 악성 애플리케이션으로, 설치 시 기기 내 SMS, 연락처, 미디어 파일 등 민감한 정보를 수집하여 외부 서버로 전송하는 특징을 갖고 있습니다.
앱은 사용자 동의 없이 동작하며, 특히 .monster와 같은 의심스러운 TLD(Top-Level Domain)를 사용하는 서버로 정보를 유출하는 점에서 일반적인 앱들과는 차별적인 공격성을 띄고 있습니다.
2. 분석환경
정적분석도구 | Jadx-gui, ida pro |
동적분석도구 | Android studio, MobSF |
네트워크 분석도구 | Wireshark |
정적 분석에서는 JEB를 활용하여 APK 파일을 디컴파일하고 내부 클래스와 메서드를 분석하였습니다.
동적 분석은 안드로이드 에뮬레이터 환경에서 이루어졌으며, 실제 악성 행위의 실행 여부와 외부 통신 여부를 관찰했습니다.
네트워크 분석은 Wireshark를 활용하여 유출되는 데이터 패킷을 식별하였습니다.
추가적으로 Mobsf 도구를 사용하여 국가별 유출지 및 악성 권한 요청 여부에 대한 자동 분석을 병행했습니다.
3. 타 모바일 자동화 프레임워크 분석
MobSF를 이용한 정적·동적 분석 결과, 본 앱은 다음과 같은 고위험 권한을 요구합니다

외부 저장소 접근 권한: 이미지, 영상 등 미디어 접근
연락처 접근 권한: 저장된 전화번호 및 이름 수집
SMS 접근 권한: 발신 및 수신 내용 열람
통화 기록 접근
파일 시스템 마운트 권한 등
앱 설치 후 사용자 동의 없이 자동으로 권한을 활성화하며, 관련 권한 요청이 UI 상에 노출되지 않는 것이 특징입니다. 이는 명백한 악성 행위로 판단됩니다.
Ⅱ. 악성 앱 구조 및 행위 분석

해당 APK 파일은 설치 시 앱 이름을 Ducktalk으로 위장하며, 일반적인 커뮤니케이션 앱처럼 보이도록 설계되어 있습니다.
앱 아이콘 또한 위장되어 있어 사용자가 일반적인 앱으로 오인할 가능성이 높습니다.
(1) 유출 서버 식별
base URL: http://yubtrqvz12254.monster/prod-api/
유출 경로:
/login : 사용자 인증 정보 전송
/image : 이미지 업로드
/fksms : SMS 및 연락처 등 기타 민감 정보 유출
.monster와 같이 생소한 TLD 및 무작위 문자열로 구성된 도메인은 단기 도메인 회피 기법에 해당하며, 흔히 악성코드에서 사용됩니다.
(2) 개인정보 수집 코드
classes.dex 내 분석을 통해 다음과 같은 정보 수집 행위가 확인되었습니다:
연락처: getColumnIndex("display_name"), phone_number 호출을 통해 반복 수집
통화 기록: CallLog.Calls 조회
SMS: SMS inbox 및 발신 목록 전체 추출
앨범: 이미지 파일을 image/ MIME 타입으로 위장하여 전송
SIM 통신사 정보: TelephonyManager를 이용한 수집

위 코드를 보면 유출 서버의 base url을 파악할 수 있습니다
(식별된 주소 : http://yubtrqvz12254.monster/prod-api/)
또한 각각의 contents들을 전송할때는 분류에 맞게 /image, /login 쪽으로 post형식으로 전송하는 것을 알 수 있습니다
수집대상 |
연락처 |
통화/SMS 기록 |
이미지 |
SIM 통신사 정보 |
위처럼 수집대상은 개인민감정보와 관련된 대상들로 이루어져 있습니다.
Class.dex

해당 코드는 연락처, 통화 기록을 수집하는 부분의 코드

실제 classes.dex 파일 내 코드에서는 const-string v1, "display_name"과 같이 연락처 이름을 식별하는 문자열 상수가 정의되어 있으며, 이후 getColumnIndex() 메서드를 반복 호출하여 저장된 모든 연락처의 이름과 전화번호를 순차적으로 조회하는 방식이 사용됩니다.
이와 같이 수집된 연락처 정보는 악성 앱 내부 로직에 따라 외부 유출 서버로 전송됩니다. 이때 사용되는 서버 도메인의 구조는 아래와 같은 특징을 가집니다.
.monster와 같은 생소한 최상위 도메인(TLD)과
의도적으로 난독화된 무작위 문자열의 호스트명이 결합된 형태
이는 공격자들이 흔히 사용하는 단기 운영 목적의 무작위 도메인 패턴으로, 보안 솔루션의 탐지를 회피하고 빠르게 서버를 교체하기 위해 설계된 방식입니다.
실제로, https://yubtrqvz12254.monster/prod-api/fksms라는 URL을 통해 연락처, 미디어 파일 등 민감한 사용자 데이터가 외부로 대규모 유출된 정황이 포착되었습니다.

위 증적사진처럼 MultipartBody를 생성할때 미디어 타입을 ‘image/’로 고정하여 모든 파일을 ‘그림’으로 위장하여 전송하고 있음을 알 수 있다


해당 악성 애플리케이션은 실행 시 사용자에게 인증코드 입력을 요구하며, 입력된 코드는 내부 로직에 따라 유출 서버로 전송되도록 설계되어 있습니다.
현재 분석 환경에서는 인증코드 전송 패킷만 캡처되었고, 이미지 관련 패킷은 관측되지 않았습니다. 이는 유출 서버가 이미 비활성화되었거나 운영이 종료된 것으로 추정됩니다.
안드로이드 악성코드 분석 보고서
(Ducktalk.apk)
목 차
Ⅰ. 악성코드 개요
1. 파일정보
2. 분석 환경
3. 타 모바일 자동화 프레임 워크 현황
Ⅱ. 악성 앱 구조 및 행위 분석
Ⅳ. 피해 예상 및 대처
1. 피해 상황 및 예상
Ⅴ. 결론
1. 결론 및 대응 방안
Ⅰ. 악성코드 개요
1. 파일정보
파일명
1731074131332777244.apk
MD5
3bd66e90b9b01c693fcdf66ecb2689b7
악성코드 명
SMSstealer
위험성
上
탈취정보
이름, 통신사, 전화번호, 내용, 앨범
유출지
http://yubtrqvz12254.monster/prod-api/
본 악성코드는 SMSstealer 계열로 분류되는 악성 애플리케이션으로, 설치 시 기기 내 SMS, 연락처, 미디어 파일 등 민감한 정보를 수집하여 외부 서버로 전송하는 특징을 갖고 있습니다.
앱은 사용자 동의 없이 동작하며, 특히 .monster와 같은 의심스러운 TLD(Top-Level Domain)를 사용하는 서버로 정보를 유출하는 점에서 일반적인 앱들과는 차별적인 공격성을 띄고 있습니다.
2. 분석환경
정적분석도구
Jadx-gui, ida pro
동적분석도구
Android studio, MobSF
네트워크 분석도구
Wireshark
정적 분석에서는 JEB를 활용하여 APK 파일을 디컴파일하고 내부 클래스와 메서드를 분석하였습니다.
동적 분석은 안드로이드 에뮬레이터 환경에서 이루어졌으며, 실제 악성 행위의 실행 여부와 외부 통신 여부를 관찰했습니다.
네트워크 분석은 Wireshark를 활용하여 유출되는 데이터 패킷을 식별하였습니다.
추가적으로 Mobsf 도구를 사용하여 국가별 유출지 및 악성 권한 요청 여부에 대한 자동 분석을 병행했습니다.
3. 타 모바일 자동화 프레임워크 분석
MobSF를 이용한 정적·동적 분석 결과, 본 앱은 다음과 같은 고위험 권한을 요구합니다
외부 저장소 접근 권한: 이미지, 영상 등 미디어 접근
연락처 접근 권한: 저장된 전화번호 및 이름 수집
SMS 접근 권한: 발신 및 수신 내용 열람
통화 기록 접근
파일 시스템 마운트 권한 등
앱 설치 후 사용자 동의 없이 자동으로 권한을 활성화하며, 관련 권한 요청이 UI 상에 노출되지 않는 것이 특징입니다. 이는 명백한 악성 행위로 판단됩니다.
Ⅱ. 악성 앱 구조 및 행위 분석
해당 APK 파일은 설치 시 앱 이름을 Ducktalk으로 위장하며, 일반적인 커뮤니케이션 앱처럼 보이도록 설계되어 있습니다.
앱 아이콘 또한 위장되어 있어 사용자가 일반적인 앱으로 오인할 가능성이 높습니다.
(1) 유출 서버 식별
base URL: http://yubtrqvz12254.monster/prod-api/
유출 경로:
/login : 사용자 인증 정보 전송
/image : 이미지 업로드
/fksms : SMS 및 연락처 등 기타 민감 정보 유출
.monster와 같이 생소한 TLD 및 무작위 문자열로 구성된 도메인은 단기 도메인 회피 기법에 해당하며, 흔히 악성코드에서 사용됩니다.
(2) 개인정보 수집 코드
classes.dex 내 분석을 통해 다음과 같은 정보 수집 행위가 확인되었습니다:
연락처: getColumnIndex("display_name"), phone_number 호출을 통해 반복 수집
통화 기록: CallLog.Calls 조회
SMS: SMS inbox 및 발신 목록 전체 추출
앨범: 이미지 파일을 image/ MIME 타입으로 위장하여 전송
SIM 통신사 정보: TelephonyManager를 이용한 수집
위 코드를 보면 유출 서버의 base url을 파악할 수 있습니다
(식별된 주소 : http://yubtrqvz12254.monster/prod-api/)
또한 각각의 contents들을 전송할때는 분류에 맞게 /image, /login 쪽으로 post형식으로 전송하는 것을 알 수 있습니다
수집대상
연락처
통화/SMS 기록
이미지
SIM 통신사 정보
위처럼 수집대상은 개인민감정보와 관련된 대상들로 이루어져 있습니다.
Class.dex
해당 코드는 연락처, 통화 기록을 수집하는 부분의 코드
실제 classes.dex 파일 내 코드에서는 const-string v1, "display_name"과 같이 연락처 이름을 식별하는 문자열 상수가 정의되어 있으며, 이후 getColumnIndex() 메서드를 반복 호출하여 저장된 모든 연락처의 이름과 전화번호를 순차적으로 조회하는 방식이 사용됩니다.
이와 같이 수집된 연락처 정보는 악성 앱 내부 로직에 따라 외부 유출 서버로 전송됩니다. 이때 사용되는 서버 도메인의 구조는 아래와 같은 특징을 가집니다.
.monster와 같은 생소한 최상위 도메인(TLD)과
의도적으로 난독화된 무작위 문자열의 호스트명이 결합된 형태
이는 공격자들이 흔히 사용하는 단기 운영 목적의 무작위 도메인 패턴으로, 보안 솔루션의 탐지를 회피하고 빠르게 서버를 교체하기 위해 설계된 방식입니다.
실제로, https://yubtrqvz12254.monster/prod-api/fksms라는 URL을 통해 연락처, 미디어 파일 등 민감한 사용자 데이터가 외부로 대규모 유출된 정황이 포착되었습니다.
위 증적사진처럼 MultipartBody를 생성할때 미디어 타입을 ‘image/’로 고정하여 모든 파일을 ‘그림’으로 위장하여 전송하고 있음을 알 수 있다
해당 악성 애플리케이션은 실행 시 사용자에게 인증코드 입력을 요구하며, 입력된 코드는 내부 로직에 따라 유출 서버로 전송되도록 설계되어 있습니다.
현재 분석 환경에서는 인증코드 전송 패킷만 캡처되었고, 이미지 관련 패킷은 관측되지 않았습니다. 이는 유출 서버가 이미 비활성화되었거나 운영이 종료된 것으로 추정됩니다.