꿈을꾸는 파랑새

오늘은 구글 플레이 스토어 에서 유포되고 있는 악성코드인 Advanced SMS(2022.07.12)에 대해 알아보겠습니다. 해당 악성코드는 조크(Joker)바이러스는 보통 컴퓨터를 파괴, 스마트폰 파괴를 목적으로 하는 것이 아니고 단순히 사용자를 겁주거나 하는 정도로 사용을 되는 악성코드입니다.
단 해당 진단명을 보면 트로이 목마로 진단하는 것을 보면 윈치 않는 프로그램을 설치하거나 하면 일단 잠재적인 위험 정도일 것입니다.
먼저 악성코드 해쉬값은 다음과 같습니다.
파일명:Advanced SMS_1.0.1_sws.apk
사이즈:10.4 MB
CRC32:59c29092
MD5:a4081f627eb9bb24d3945087ae6541a1
SHA-1:f0e24059eb56564ae090fb4d30de006c79e27545
SHA-256:d9bf553b020adb9fff573e70fcf5102f0874d55fb3f7849768131842c283fe01

악성코드 유포 구글 플레이 스토어

https://play.google(.)com/store/apps/details?id=com.fromamsms.atadvancedmmsopp

Google Play Store 에 있는 Advanced SMS 악성코드
Google Play Store 에 있는 Advanced SMS 악성코드

이며 해당 안드로이드 악성코드 권한은 다음과 같습니다.

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
<uses-permission android:name="android.provider.Telephony.SMS_RECEIVED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-feature android:name="android.hardware.telephony"/>
<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
<uses-feature android:name="android.hardware.screen.portrait" android:required="false"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.READ_APP_BADGE"/>
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_READ"/>
<uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_WRITE"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>

입니다. 일단 악성코드 권한들을 보면 특정 네트워크 상태를 체크, 인터넷 접근,액세스 네트워크 상태, 문자 읽기, 문자 쓰기, 문자 보내기, 문자 받기, 스마트폰 화면 켜진 상태로 유지,휴대폰 번호, 기기 고유 id 등 단말기 정보 가져오기, 스마트폰 연락처 읽기, 삼성 com.sec.android.provider.badge 접근을 위한 퍼미션 프로바이더는 package의 badge count를 db에 쓰고 읽는 역할을 제공 등이 있는 것을 확인할 수가 있습니다.
먼저 해당 악성코드가 유포되는 곳은 구글 플레이 스토어 이면 해당 구글 플레이 스토어 이며 최종적으로 업데이트 된 날짜는 2022년7월6일로 확인을 할 수가 있으며 구글 플레이 스토어 유포 중인 Advanced SMS 악성코드 최초 업로드 날짜는 2022년7월1일인 것을 확인할 수가 있으며 해당 앱을 설명을 보면 다음과 같이 돼 있습니다.

구글 플레이 스토어 유포 중인 Advanced SMS 악성코드 최초 업로드 날짜
구글 플레이 스토어 유포 중인 Advanced SMS 악성코드 최초 업로드 날짜

Main Features Advanced SMS app:(주요 기능 고급 SMS 앱)
Send and receive Text messages(문자 메시지 보내기 및 받기)
Messages Lite - Private Text messaging , Secret SMS(Messages Lite - 개인 문자 메시지, 비밀 SMS)
Messaging text - (Messages + SMS)(메시지 문자 - (메시지 + SMS))
Chat Messages features in messaging app(메시징 앱의 채팅 메시지 기능)
Search for messages and contacts(메시지 및 연락처 검색)
Messenger app for android(안드로이드용 메신저 앱)
Use the Messaging Plus app on multi-SIM devices(멀티 SIM 장치에서 Messaging Plus 앱 사용)
iMessages for texting sms and chat(문자 메시지 및 채팅을 위한 iMessage)
Messages lite app you can use as private messaging apps(비공개 메시지 앱으로 사용할 수 있는 메시지 라이트 앱)
Sending Text Free - Text Messages to Sending Text(무료 문자 보내기 - 문자 메시지에서 문자 보내기)
Enjoy the default SMS & MMS features in this iMessages app(iMessages 앱에서 기본 SMS 및 MMS 기능을 즐기십시오)
Manage Delete all messages and particular one message in this Advanced SMS app(고급 SMS 앱에서 모든 메시지 및 특정 하나의 메시지 삭제 관리)

뭐 대충 보면 문자 관련해서 악용하는 것을 볼 수가 있습니다.
해당 악성코드를 설치하면 기본적으로 문자를 해당 악성코드로 변경해 달라고 할 것입니다.
com.stub.StubApp 부분에서는 현재시각을 밀리 세컨드 단위로 반환하는 코드(현재시간, 실행시간)를 볼 수가 있습니다.

@Override // android.content.ContextWrapper
    protected final void attachBaseContext(Context context) {
        boolean a2;
        System.currentTimeMillis();
        super.attachBaseContext(context);
        c.b();
        d = context;
        if (a == null) {
            a = this;
        }
        if (b == null) {
            Boolean valueOf = Boolean.valueOf(c.a());
            Boolean bool = false;
            Boolean bool2 = false;
            if (Build.CPU_ABI.contains("64") || Build.CPU_ABI2.contains("64")) {
                bool = true;
            }
            if (Build.CPU_ABI.contains("mips") || Build.CPU_ABI2.contains("mips")) {
                bool2 = true;
            }
            if (valueOf.booleanValue() && needX86Bridge) {
                System.loadLibrary("X86Bridge");
            }
            if (loadFromLib) {
                if (valueOf.booleanValue() && !needX86Bridge) {
                    System.loadLibrary("jiagu_x86");
                } else {
                    System.loadLibrary("jiagu");
                }
            } else {
                String absolutePath = context.getFilesDir().getParentFile().getAbsolutePath();
                try {
                    absolutePath = context.getFilesDir().getParentFile().getCanonicalPath();
                } catch (Exception e2) {
                }
                String str = absolutePath + "/.jiagu";
                i = a(str, bool.booleanValue(), bool2.booleanValue());
                e = a(str, false, false);
                f = str + File.separator + e;
                g = str + File.separator + i;
                h = str;
                if (bool2.booleanValue()) {
                    c.a(context, c + "_mips.so", str, e);
                } else if (valueOf.booleanValue() && !needX86Bridge) {
                    c.a(context, c + "_x86.so", str, e);
                } else {
                    c.a(context, c + ".so", str, e);
                }
                if (bool.booleanValue() && !bool2.booleanValue()) {
                    if (valueOf.booleanValue() && !needX86Bridge) {
                        a2 = c.a(context, c + "_x64.so", str, i);
                    } else {
                        a2 = c.a(context, c + "_a64.so", str, i);
                    }
                    if (a2) {
                        System.load(str + "/" + i);
                    } else {
                        System.load(str + "/" + e);
                    }
                } else {
                    System.load(str + "/" + e);
                }
            }
        }
        if (!isMcIsolated) {
            interface5(a);
            if (b == null) {
                b = a(context);
                if (b != null) {
                    try {
                        Method declaredMethod = Application.class.getDeclaredMethod("attach", Context.class);
                        if (declaredMethod != null) {
                            declaredMethod.setAccessible(true);
                            declaredMethod.invoke(b, context);
                        }
                        interface8(b, context);
                        return;
                    } catch (Exception e3) {
                        throw new RuntimeException("Failed to call attachBaseContext.", e3);
                    }
                }
                System.exit(1);
            }
        }
    }

그리고 해당 악성코드 인증서 정보는 다음과 같습니다.

Advanced SMS 악성코드 인증서 정보
Advanced SMS 악성코드 인증서 정보

유효한 APK 서명 v1을(를) 찾았습니다.
서명자 BNDLTOOL.RSA (META-INF/BNDLTOOL.SF)
유형: X.509
버전: 3
시리얼 번호: 0xbdbfd74e4bfb0deb5476be338dcdec2e1874a905
소유자: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
유효 시작 시각: Sat Jul 02 11:09:54 GMT+09:00 2022
유효 종료 시각: Tue Jul 02 11:09:54 GMT+09:00 2052
공개키 타입: RSA
지수: 65537
모듈러스 크기 (비트): 4096
모듈러스: 660710165216085864611995066569072917621482364663465888393743154758177553090585064767562781950635099244007914090858657649010472471077947283052011186418925742007433377784229125471098716721772131099208066978705711257356596640107834017630855680406883643153693608309466156157663188159303399246266905380087186649467012293769900772159229947571719685027496674516204490737737741790955954532166227900291749768130416778191254560319268085448165504943210529272385323931429838210710515771560831592358805936378246989568786750587280559009880309050780294337583034731204023714533690022779233371375647350167293848435647511479514243783557625467447487055308523004958075985186887348047370592822527071450093772574340981687001875193115921850758971853496072802267017238599230675928055413675012842603114618490700334864441258131386671627367054312946649702082699274461172546933868237552769382920333843493747498011038345584341795416747989474165259727762892525410578444344408043372692475673227286169711479443989262807402059145871240296851117574374772775272720775791724279299062810547619200371775090913810729431149826691806398212631237651289142633513663244883203485981233508590524304002410708914374825854602569791541627961259143973956135845045466952784184989988369
서명 유형: SHA256withRSA
서명 OID: 1.2.840.113549.1.1.11
MD5 지문: 5B 10 29 79 22 D1 41 97 19 02 AA EC ED 97 8D 9A 
SHA-1 지문: 0D 91 2D 38 26 15 8F 3E CC BC 8A 34 42 DE 02 A4 47 15 03 C4 
SHA-256 지문: A0 9F EC F0 B3 49 F7 13 1F A9 67 FB 61 57 1C C3 97 B3 E0 5A 0A 92 AE 68 F1 67 B8 AA 68 8F 17 B1

IP traffic(IP 트래픽)은 다음과 같습니다.

108.177.127(.)95:443(TCP)
108.177.96(.)95:443(TCP)
74.125.128(.)94:443(TCP)
108.177.126(.)139:443(TCP)
142.251.18(.)95:443(TCP)
172.217.218(.)106:80(TCP)
108.177.119(.)101:443(TCP)
108.177.126(.)101:443(TCP)
74.125.128(.)188:5228(TCP)
172.217.218(.)147:443(TCP)
108.177.119(.)100:443(TCP)
142.251.31(.)95:443(TCP)
142.250.145(.)95:443(TCP)
108.177.126(.)188:5228(TCP)
142.250.145(.)147:443(TCP)
108.177.119(.)188:5228(TCP)
172.217.218(.)102:443(TCP)
108.177.127(.)113:443(TCP)
142.250.187(.)202:443(TCP)
142.250.200(.)3:443(TCP)
142.250.179(.)234:443 (TCP)
142.250.180(.)10:443 (TCP)
142.250.200(.)14:443 (TCP)
172.217.169(.)10:443 (TCP)
142.250.180(.)14:443 (TCP)
172.217.169(.)78:443 (TCP)
74.125.140(.)188:5228 (TCP)
74.125.200(.)188:443 (TCP)
172.217.169(.)42:443 (TCP)
216.58.212(.)206:443 (TCP)
108.177.15(.)188:5228 (TCP)

이며 바이러스토탈(VirusTotal) 2022-07-12 02:04:00 UTC 기준으로 탐지하는 보안 업체들은 다음과 같습니다.
Avast-Mobile"APK:RepMalware [Trj]
BitDefenderFalx:Android.Riskware.Joker.XA
ESET-NOD32:Multiple Detections
Fortinet:Riskware/PackagingUntrustworthyJiagu!Android
Ikarus:PUA.AndroidOS.Jiagu
K7GW:Trojan(0052d2661 )
Kaspersky:HEUR:Trojan.AndroidOS.Piom.apkf
McAfee:Artemis!A4081F627EB9
McAfee-GW-Edition:Artemis!Trojan
Symantec Mobile Insight:AppRisk:Generisk
Tencent:Android.Trojan.Agent.Lizw
Trustlook:Android.PUA.General
으로 탐지를 하는 백신앱들은 대부분 해외 백신들인 것을 확인할 수가 있으며 탐지를 하고 있더라도 정식 진단명이 아닌 사전 탐지 기능을 통해서 탐지한 맥아피, 카스퍼스키가 있는 것을 확인할 수가 있으면 구글 플레이 스토어 에 앱이 등록이 돼 있더라도 악성코드가 포함돼 있으니까 항상 조심을 하는 것이 좋으며 기본적으로 리뷰,다운로드 수, 백신 앱을 설치들을 통해서 해당 악성코드가 스마트폰에 설치되는 것을 차단할 수가 있습니다. 일단 구글 플레이 스토어에 있다고 악성코드들이 없는 것이 아니므로 항상 주의를 기울여야 합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band