꿈을꾸는 파랑새

오늘은 북한 김수키(Kimsuky)에서 만든 스마트폰 악성코드인 app-release.apk 에 대해 간단하게 분석을 해 보겠습니다.
파일명:app-release.apk
사이즈:2 MB
MD5:69a475a90678c538beda96f4d6475334
SHA-1:8f1d6de577a72cd7e3ae7ab562ed941588b3c944
SHA-256:72d902a067f67efbe9c6c37a8fb08a08e6c3b7124dc03df9293a3c36886a3da6

안드로이드 악성코드 권한
안드로이드 악성코드 권한

안드로이드 권한

<uses-permission android:name="android(.)permission(.)READ_PRIVILEGED_PHONE_STATE"/>
<uses-permission android:name="android(.)permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission
android:name="com(.)support(.)doumi.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
android:protectionLevel="signature"/>
<uses-permission android:name="com(.)support(.)doumi.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>

안드로이드 권한 설명

READ_PRIVILEGED_PHONE_STATE IMEI, SIM 정보 등 민감한 기기 정보 접근
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS:배터리 최적화 무시 (백그라운드 계속 실행)
POST_NOTIFICATIONS 알림 전송:일반적인 권한
INTERNET:인터넷 통신 서버로 데이터 전송 가능 악용한다고 하면 (C2 서버 통신 가능)
FOREGROUND_SERVICE:포그라운드 서비스 실행->백그라운드 지속 실행 가능
READ_SMS:문자 메시지 읽기
OTP / 인증코드 탈취 가능 즉 그냥 인증 문자들은 삭제 및 개인정보가 포함돼 있다고 생각 드는 문자 삭제
RECEIVE_BOOT_COMPLETED:스마트폰 부팅 시 자동 실행
READ_EXTERNAL_STORAGE:저장소 읽기
WRITE_EXTERNAL_STORAGE:저장소 쓰기->파일 저장
MANAGE_EXTERNAL_STORAGE전체 파일 접근
permission
android:name="com(.)support(.)doumi(.)DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
android:protectionLevel="signature"/>\

악성코드 에 포함된 C2 주소
악성코드 에 포함된 C2 주소

같은 개발자 서명으로 서명된 앱만 접근 가능하게 설정이 돼 있음
대충 이런 게 악용이 되겠다고 생각
내부 Broadcast 보호
동일 개발자 앱끼리 통신
도우미(Doumi) 인 것을 보면 무엇가 도움을 권장하는 앱 처럼 돼 있는 것이 아닐까? 생각
악성코드 사용하는 네트워크
중요한 문자열과 설정 값을 숨겨 둔 부분

C2

hxxp://95(.)164(.)86(.)148/dash/

HTTP 평문 통신
뒤 경로(path)만 난독화
95(.)164(.)86(.)148 쪽과 통신 할려는 목적
뒤에 dash 가 있는 것을 보면 아마도 대시보드 쪽으로 스마트폰 정보를 넘기려는 목적이 아닐까? 생각
2.문자열 복호화 함수 사용
bstractC0160a.m626H(...)는 문자열 난독화 해제 함수
URL 경로 숨기기
API 이름 숨기기
명령 문자열 숨기기
탐지 회피
코드 서명만 보면 안 보이게 하고 런타임에 복호화해서 사용하는 구조
목적 추측
SMS,OTP 수집 후 서버 전송
기기 식별 정보 수집 후 등록
부팅 후 자동 재실행

악성코드 에 포함된 인증서
악성코드 에 포함된 인증서

장기 상주 후 명령 수신
파일 목록,파일 전송
인증서 내용 보면 김포 어쩌고 있는데 신뢰 가능한 실명 검증 정보가 아니라 자체 서명 인증서
결론: 삼성 스마트폰에 맥아피 보안 앱 있기는 있는데…. 돈좀 써서 유료버전 사용하거나 AV-TEST 에서 좋은 평점 받은 것 사용을 하시는 걸로….
이렇게 같은 민족의 해커 단체 김수키(Kimsuky)에서 만든 악성코드에서 간단하게 알아보았습니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band