play/분석

[악성 앱] 모바일 부고장 사칭 악성앱 분석 (23.08.20)

카고형 2023. 8. 20. 08:00
728x90

이번에 지인 관련 스미싱인 부고장 사칭 악성 앱 입니다.   


해당 스미싱은 지인 사칭으로 배포되고 있다. 비슷 한 문구로는 결혼식, 돌잔치, 지인 행사 등이 있지만 이번에는 부고장 관련 문구로 배고 되고 있는 듯하다.  해당 URL 접속 시 부고장 피싱 페이지가 보인다. 생각보다 페이지를 잘 만들었다고 생각이 든다. 해당 페이지에서  "장례절차 확인하기" 버튼 클릭 시 악성앱이 다운된다.

 

문구)



[Web발신] [부고]18일 저녁 10시경 부친께서 별세하셨습니다. 안내 http://xn02[.]h8gd[.]hair

 

 

악성앱 다운로드 과정

 

피싱 메인 페이지

해당 스미싱에 있는 주소를 접속하게되면 모바일 부고장 피싱 사이트에 접속 하게 된다. 해당 사이트를 보면 상당히 잘 만들어 진걸 볼 수 있다.

 

이번 스미싱은 스미싱 문구나 해당 페이지 접속 할 때 고인의 정보나 상주의 정보를 확인할 수 없다.  상주나 고인의 정보를 확인 하기 위해서는  "장례절차 확인하기"  버튼를 눌러야 확인 할 수 있는것 처럼 만든거 같다. 이때 해당 버튼을 누르게 되면 악성앱을 다운로드하게 된다.

고인의 정보나 상주 정보를 확인을 위해 버튼 클릭(악성 앱 다운)을 유도 하는 페이지인것으로  확인 할 수 있다.


※ 정상 배포방식은 원스토어, 구글플래이 해당 사이트(어플)를 통해서만 배포합니다.
※ 대부분의 정상 앱은 일반 사용자에게 특별한 접근 출처를 알  수 없는 앱 설치 권한을 요구 하지 않습니다. 

정상 구글 플레이 스토어 배포

 


HTML 분석

 

해당 페이지는 버튼 클릭을 위한 부고장 이미지를 보여주고, 버튼 클릭 시 특정 주소로 연결되어 악성앱을 다운로드 하게 되는 것을 확인 할 수 있다.

 

 

function click_download() {
    var link = document.createElement("a");
    link.download = "부고장";
    link.href = '/download/the.apk';
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
    delete link;
	$.ajax({
		type: "POST",
		url: `xinde/update_download.php`,
		data: { "ipaddr": ipaddr, "hostname": window.location.hostname },
		success: function(resp) {
			if(resp.success) {
				sessionStorage.setItem("page", 3);
			} else {
			}
		},
		error: function() {
		}
	});
}

 

유포지 : https://xn02[.]h8gd[.]hair/
최종 유포지 : https://xn02[.]h8gd[.]hair/download/the.apk

 


APK 파일 정보

App Name : 모바일 부고장
package : com.xguvpaxbfeua.slr
MD5 : E334D0415B39167AD575FCF5B0226389
SHA-1 : 46411E6011AD611DE892EC118138FA58C7EA9670

Virustotal 결과


Android Manifest

Activities 1 , Services 1, Receivers 1, Providers 1

더보기
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" android:compileSdkVersion="33" android:compileSdkVersionCodename="13" package="com.xguvpaxbfeua.slr" platformBuildVersionCode="33" platformBuildVersionName="13">
    <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="33"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
    <uses-feature android:name="android.hardware.telephony" android:required="false"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.RECEIVE_MMS"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="29"/>
    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <permission android:name="com.xguvpaxbfeua.slr.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" android:protectionLevel="signature"/>
    <uses-permission android:name="com.xguvpaxbfeua.slr.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
    <application android:theme="@style/Theme.App17" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:debuggable="true" android:allowBackup="true" android:supportsRtl="true" android:extractNativeLibs="false" android:fullBackupContent="@xml/backup_rules" android:usesCleartextTraffic="true" android:networkSecurityConfig="@xml/network_security_config" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:dataExtractionRules="@xml/data_extraction_rules">
        <activity android:name="com.xguvpaxbfeua.slr.MainActivity" android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <service android:name="com.xguvpaxbfeua.slr.LoopService" android:enabled="true" android:exported="true"/>
        <receiver android:name="com.xguvpaxbfeua.slr.Mopiotal" android:exported="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
        <provider android:name="androidx.startup.InitializationProvider" android:exported="false" android:authorities="com.xguvpaxbfeua.slr.androidx-startup">
            <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" android:value="androidx.startup"/>
            <meta-data android:name="androidx.lifecycle.ProcessLifecycleInitializer" android:value="androidx.startup"/>
        </provider>
    </application>
</manifest>

 

 

Android Permission

권한 설명
android.permission.INTERNET 인터넷에 연결하여 네트워크 통신을 수행할  있도록 합니다.
android.permission.ACCESS_NETWORK_STATE 네트워크 상태에 대한 정보를 액세스하고, 연결 가능 여부 등을 확인할  있도록 합니다.
android.permission.READ_PRIVILEGED_PHONE_STATE 특권화된 권한으로, 기기의 통화 상태와 관련된 정보를 읽을  있습니다.
android.permission.READ_SMS SMS 메시지를 읽을  있도록 합니다.
android.permission.RECEIVE_SMS SMS 메시지를 수신할  있도록 합니다.
android.permission.RECEIVE_MMS MMS(Multimedia Messaging Service) 메시지를 수신할  있도록 합니다.
android.permission.SEND_SMS SMS 메시지를 발신할  있도록 합니다.
android.permission.READ_PHONE_STATE 기기의 전화 상태와 관련된 정보를 읽을  있습니다.
android.permission.READ_PHONE_NUMBERS 기기에 저장된 전화 번호를 읽을  있도록 합니다.
android.permission.VIBRATE 기기 진동 변경 할  있도록 합니다.

 


코드 분석

모바일 부고장 사칭 앱은 각종 기기정보, 개인정보, sms 정보 수집을 하고, 수집된 정보를 특정 C&C 서버 주소로 유출 행위를 한다. 또한 사용자를 속이기 위해 정상 사이트를 보여준다.

  • UUID 생성 및 저장
  • Web View(정상 사이트)
  • 각종 정보 수집
  • sms 정보수집
  • sms 수신시 진동 및 소리 제어
  • 정보 유출

 

1. 앱 실행 시 UUID 생성 및 저장

서버에서 식별자 역할을 할 것으로 추정된다

 

 

2. 앱 실행 시 정상 사이트를 보여줌

정상 사이트 "부고장.kr" 페이지의 화면을 보여주며 정상 앱인것 처럼 사용자를 속인다.

 

3. 앱 권한 요청

 

3.  각종 정보 수집

핸드폰번호, sim 번호, IMEI 번호, 통신사 정보 수집

 

4.  SMS 수신 시 볼륨 설정 및 진동 제어 기능

 

5.  SMS 정보 수집 및 유출

 

6.  유출지 (C&C)정보

 

7.  유출 시 사용되는 API

 

8.  정보 유출

사용 되는 API에 따라 유출되는 정보 

 


 

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


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

728x90