play/분석

[악성 앱] Chrome 사칭 악성앱 분석 (23.05.06)

카고형 2023. 5. 6. 22:47
728x90

저한테도 문자가 오네용..ㅎㅎ

문구는 항상 많이 유포되고 있는 택배 스미싱 문구로 기존  택배 스미싱처럼 배송 불가, 반송, 물품 보관 중, 배송 실패 등 주로 배송 실패 되었다는 메시지가 상당수이며 URL 접속 시 chrome 사칭 앱이 다운된다.(택배 어플 로젠, 대한통운 등등 다운될 수도 있음)

송장번호(5920********97)주소불일치 로 물품 보관중입니다. http://kmksn[.]ogdsp[.]com

택배 스미싱 문구

 

해당 사이트 HTML 및  악성앱 다운로드 과정

해당 스미싱에 들어 있는 URL 클릭 시 홈페이지로 접속하게 되며 해당 html에서 스크립트에 저장된 값을 복호화하여  크롬 최신버전 업데이트라는 글과 함께 악성앱을 드롭하는 형태이다.

악성앱 다운 HTML
악성앱 다운 스크립트 내용
chrome 업데이트 사칭
악성 앱 다운

 

유포지 : http://kmksn[.]ogdsp[.]com
최종 유포지 : http://kmksn[.]ogdsp[.]com/chrome.apk

APK 파일 정보

App Name : Сhгоmе
package : bs.vgjaf.vmuhe.xfy
MD5 : 6887c1e8618f7619f3acd047a55268cf
SHA-1 : 796dfe9c93c07959cb8277a583269f13c40ba495
SHA-256 : 4326a95ea56e42ed7b2acfd416b39760007d37582feaff38acea6d54b71df605

 

virustotal 결과

 

 


Android Manifest

Activities 2 , Services 2, Receivers 3, Providers 0

더보기

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="17" android:versionName="199" android:compileSdkVersion="23" android:compileSdkVersionCodename="6.0-2438415" package="bs.vgjaf.vmuhe.xfy" platformBuildVersionCode="23" platformBuildVersionName="6.0-2438415">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="27"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="oszacxb.uumhkllo.cvrhatqy"/>
    <uses-permission android:name="ilbzquvi.tjywknp.asfk"/>
    <uses-permission android:name="niuk.xtlhy.ouzb"/>
    <uses-permission android:name="ftcuxws.wkvogcyv.dhbvc"/>
    <uses-permission android:name="eylcnsgd.ffrbdyx.mwrd"/>
    <uses-permission android:name="cclz.tsoqe.holxtm"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <application android:label="Сhгоmе" android:icon="@drawable/ic_launcher" android:name="gu8g2g0.OdApplication" android:extractNativeLibs="true">
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:name="gu8g2g0.RrActivity" android:exported="true" android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity-alias android:label=" " android:icon="@drawable/i" android:name="o.p.alias" android:exported="true" android:targetActivity="gu8g2g0.RrActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity-alias>
        <service android:name="gu8g2g0.Cq"/>
        <receiver android:name="gu8g2g0.Fx" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
            </intent-filter>
        </receiver>
        <receiver android:name="gu8g2g0.Hp" android:permission="android.permission.BROADCAST_SMS" android:exported="true">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_DELIVER"/>
            </intent-filter>
        </receiver>
        <receiver android:name="gu8g2g0.GE" android:permission="android.permission.BROADCAST_WAP_PUSH" android:exported="true">
            <intent-filter>
                <action android:name="android.provider.Telephony.WAP_PUSH_DELIVER"/>
                <data android:mimeType="application/vnd.wap.mms-message"/>
            </intent-filter>
        </receiver>
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="gu8g2g0.Crq" android:exported="true" android:excludeFromRecents="true" android:launchMode="singleInstance">
            <intent-filter>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.SENDTO"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="sms"/>
                <data android:scheme="smsto"/>
            </intent-filter>
        </activity>
        <service android:name="gu8g2g0.Ir" android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.RESPOND_VIA_MESSAGE"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="sms"/>
                <data android:scheme="smsto"/>
            </intent-filter>
        </service>
    </application>
</manifest>

 

Android Permission

PERMISSION INFO DESCRIPTION
android.permission.CALL_PHONE directly call phone numbers Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.
android.permission.GET_ACCOUNTS list accounts Allows access to the list of accounts in the Accounts Service.
android.permission.READ_CONTACTS read contact data Allows an application to read all of the contact (address) data stored on your phone. Malicious applications can use this to send your data to other people.
android.permission.READ_EXTERNAL_STORAGE read external storage contents Allows an application to read from external storage.
android.permission.READ_PHONE_STATE read phone state and identity Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and so on.
android.permission.READ_SMS read SMS or MMS Allows application to read SMS messages stored on your phone or SIM card. Malicious applications may read your confidential messages.
android.permission.RECEIVE_SMS receive SMS Allows application to receive and process SMS messages. Malicious applications may monitor your messages or delete them without showing them to you.
android.permission.SEND_SMS send SMS messages Allows application to send SMS messages. Malicious applications may cost you money by sending messages without your confirmation.
android.permission.SYSTEM_ALERT_WINDOW display system-level alerts Allows an application to show system-alert windows. Malicious applications can take over the entire screen of the phone.
android.permission.WRITE_EXTERNAL_STORAGE read/modify/delete external storage contents Allows an application to write to external storage.
android.permission.ACCESS_NETWORK_STATE view network status Allows an application to view the status of all networks.
android.permission.ACCESS_WIFI_STATE view Wi-Fi status Allows an application to view the information about the status of Wi-Fi.
android.permission.CHANGE_NETWORK_STATE change network connectivity Allows applications to change network connectivity state.
android.permission.FOREGROUND_SERVICE   Allows a regular application to use Service.startForeground.
android.permission.INTERNET full Internet access Allows an application to create network sockets.
android.permission.MODIFY_AUDIO_SETTINGS change your audio settings Allows application to modify global audio settings, such as volume and routing.
android.permission.RECEIVE_BOOT_COMPLETED automatically start at boot Allows an application to start itself as soon as the system has finished booting. This can make it take longer to start the phone and allow the application to slow down the overall phone by always running.
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS   Permission an application must hold in order to use Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
android.permission.WAKE_LOCK prevent phone from sleeping Allows an application to prevent the phone from going to sleep.

코드 분석

앱 실행 시 파일 드롭을 통해 dex 파일을 불러온다. 각종 기기 정보를 수집하고 수집한 정보를 탈취하는 행위를 함. 하드코딩된 특정 문자열을 읽고 특정 페이지(youtube.com, vk.com, docs.google.com)에 접속하여 문자열을 가져온 후 복호화 과정을 통해 C&C 주소를 얻는다. 해당 주소는 정보유출지 및 server통신을 위한 것으로 확인된다. 

  • 파일 드롭
  • 특정 패키지 정보수집
  • sms 기본앱 변경
  • 기기 정보 수집
  • SMS 정보 수집
  • 주소록 정보 수집
  • C&C 주소 획득 

 

1. 파일 드롭

assets 밑 파일

 

파일 드롭

2. 특정 패키지 정보수집

하드코딩된 패키지명
특정 패키지 정보수집

3. sms 기본앱 변경

sms 기본앱 변경

4. 기기 정보 수집

sim 정보
기기정보(IMEI)
기기번호
기기 통시사 정보

5. SMS 정보 수집

sms 정보 수집

6. 주소록 정보 수집

주소록 정보 수집

7. C&C 주소 획득 

코드에 하드코딩된 특정 문자열을 읽고 특정 페이지(youtube.com, vk.com, docs.google.com)에 접속하여 문자열을 가져온 후 복호화 과정을 통해 C&C 주소를 얻는다. 해당 주소는 정보유출지 및 server통신을 위한 것으로 확인 된다. 

C&C 주소 획득 1
C&C 주소 획득 2

 

복호화 방식 1
복호화 방식 2

 

유트부를 이용한 C&C 주소 획득 1
유트부를 이용한 C&C 주소 획득 2
유트부를 이용한 C&C 주소 획득 3

그 외 C&C 주소

더보기
vk 1
vk2
vk3

 

UCP5sKzxDLR5yhO1IB4EqeEg@youtube
https://m.youtube.com/channel/UCP5sKzxDLR5yhO1IB4EqeEg/about
ㄴ oeeweLfTv7rY6yKKxarHOoTWONQxAq6jACF2eoeewe
   ㄴ 118.160.3.124:28856

id728589530@vk
https://m.vk.com/id728589530?act=info
ㄴ Mz4HB0Dm0iRoIne6XYzztdU6UB5pNv4p
  ㄴ 91.204.227.39:28844


1s0n64k12_r9MglT5m9lr63M5F3e-xRyaMeYP7rdOTrA@GoogleDoc2
https://docs.google.com/document/d/1s0n64k12_r9MglT5m9lr63M5F3e-xRyaMeYP7rdOTrA/mobilebasic
 ㄴ 1IIB6hhf_BB1DaxzC1aNfLEG1K97LsPsN55AT5pFWYKo/edit
   ㄴ https://docs.google.com/document/d/1IIB6hhf_BB1DaxzC1aNfLEG1K97LsPsN55AT5pFWYKo/edit/
     ㄴMz4HB0Dm0iRoIne6XYzztdU6UB5pNv4p
        ㄴ 91.204.227.39:28844

 

네트워크 통신

네트워크 통신


휴대전화 보안 그리고 악성 앱 제거 방법


KISA  스마트폰 안전 수칙 10 계명
 
① 의심스러운 애플리케이션 다운로드하지 않기
  
② 신뢰할 수 없는 사이트 방문하지 않기
  
③ 발신인이 불명확하거나 의심스러운 메시지 및 메일 삭제하기
  
④ 비밀번호 설정 기능을 이용하고 정기적으로 비밀번호 변경하기
  
⑤ 블루투스 등 무선인터페이스는 사용 시에만 켜놓기
  
⑥ 이상 증상이 지속될 경우 악성코드 감염 여부 확인하기
  
⑦ 다운로드한 파일은 바이러스 유무를 검사한 후 사용하기
  
⑧ PC에도 백신 프로그램을 설치하고 정기적으로 바이러스 검사하기
  
⑨ 스마트폰 플랫폼의 구조를 임의로 변경하지 않기
  
⑩ 운영체제 및 백신 프로그램을 항상 최신 버전으로 업데이트하기

728x90