play/분석

[악성 앱] 부고장 사칭 스미싱 악성앱 분석 (23.11.26)

카고형 2023. 12. 2. 20:46
728x90

지인 관련 스미싱인 부고장 사칭 피싱 사이트입니다.

해당 스미싱 문구는 지인 사칭으로 배포되고 있습니다. 지인 사칭 스미싱 문구는 결혼식, 돌잔치, 지인 행사, 부고 관련 메시지를 포함하여 보내고 있습니다. 해당 피싱 사이트는 부고 관련 메시지를 사칭하여 스미싱 문구를 베포 합니다.

정상적인 부고 메세지는 요새는 일반적으로 대부분 상주이름, 일시, 발인 일시, 장소가 문자에 포함되는데 부고 관련 사칭 스미싱은 해당 정보가 기입이 안되어 있는 게 확인됩니다. (장소, 일시등이 문자에 기입되어 있다고 정상은 아닙니다.)

스미싱 문구

문구)
"아버님께서 금일아침에 별세하셨기에 삼가 알려드립니다.. 장례식장주소 http://URL"

 


피싱 사이트 분석

해당 피싱 사이트는 접속 후 클릭을 하게 되면 apk 파일이 다운하게 됩니다. 

스미싱 문구에는 장소가 포함되지 않았기 때문에 피싱 페이지에서 열기 버튼을 누르면 확인할 수 있는 것처럼 접속한 사용자가 클릭하게 끔 유도하는 형태로 보입니다.

 

부고장 사칭 피싱 사이트


HTML 분석

해당 페이지는 부고장 이미지를 보여주고, 클릭 시  악성앱을 다운로드하게 됩니다.

html 소스

	function downAlert(){
		alert("장례식장 장소와 시간을 보기위하여 확인을눌러주세요.");
		window.open("down.php");
	}
    var $main = $('.preview-main');
    var css_obj = $main.data('css');
    $main.css('background-color', css_obj.backgroundColor);

    $('.J_prev').on('click', ()=>{
        tabPage(1)
    });
    $('.J_next').on('click', ()=>{
        tabPage(-1)
    });
    var wrapper = document.getElementById('wrapper');
    function tabPage(is_up) {
        wrapper.contentWindow.postMessage(is_up, '*');
    }

 

이미지를 클릭하면 "장례식장 장소와 시간을 보기 위하여 확인 눌러주세요." 창이 뜨고, down.php 페이지로 넘어가게 됩니다.

클리시 창화면을 보여줌

 

down.php 페이지에서는 get 요청을 보내 "cloudflare"라는 클라우드 서버에 접속하여 최종적으로 악성앱을 다운하게 됩니다.

apk파일 다운

유포지 URL 주소

https://t[.]ly/FOT26
https://kor[.]iconlive[.]store/
https://kor[.]iconlive[.]store/down.php
https://kor[.]iconlive[.]store/data/apk/%EB%AA%A8%EB%B0%94%EC%9D%BC%20%EB%B6%80%EA%B3%A0.apk

 

해당 스미싱 문자에 포함된 URL을 누르게 되면 부고장 피싱 사이트로 접속하게 되며, 페이지에 있는 이미지 클릭 시 특정 페이지로 넘어가게 되며, 최종적으로는 APK파일을 다운로드하게 됩니다. 해당 APK 파일은 악성 앱입니다.


악성 앱 리소스 분석

 

APK 파일 정보

App Name: 부고장(개인용)
App Version : 1.0.6
Package Name : sedfkkerdf.esfwdclppq.fpqlcz

MD5: 674 cc4848662 d50 ca96 ea6 fc4 f27 dd15
SHA-1 : 4 e44340 e6 e1 d50 bcd0 bec8843162 f9 d2 d23 e5973
SHA-256 : 5 c0 bc752 a08 d556803 cd611 d628 a7 a7 cadd994 aec9 bd82 bfd604 e83 bde4849 d b
Vhash : 51 c2 e2523 d748 b1281 ba16 b75475 e661


VirusTotal 백신 탐지 결과

Avira (no cloud) : ANDROID/Malformed.ZIP.Gen
BitDefenderFalx : Android.Trojan.AgentSpy.DT
Cynet : Malicious (score: 99)
DrWeb : Android.Packed.15.origin
ESET-NOD32 : A Variant Of Android/TrojanDropper.Agent.LKS
F-Secure : Malware.ANDROID/Malformed.ZIP.Gen
Fortinet : Android/Agent.LKS! tr
Ikarus : Trojan-Dropper.AndroidOS.Agent
Kaspersky : HEUR:Trojan-Dropper.AndroidOS.Badpack.e
ZoneAlarm by Check Point : HEUR:Trojan-Dropper.AndroidOS.Badpack.e

VirusTotal 탐지 결과


Android Manifest

Activities 2  , Services 4, Receivers 1, Providers 1

더보기
<?xml version="1.0" encoding="UTF-8"?>
<manifest android:compileSdkVersion="23" android:compileSdkVersionCodename="6.0-2438415" android:tag="" android:versionCode="106" android:versionName="1.0.6" package="sedfkkerdf.esfwdclppq.fpqlcz" platformBuildVersionCode="23" platformBuildVersionName="6.0-2438415" xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-sdk android:minSdkVersion="24" android:tag="" android:targetSdkVersion="26"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" android:tag=""/>
  <uses-permission android:name="android.permission.READ_CONTACTS" android:tag=""/>
  <uses-permission android:name="android.permission.WRITE_CONTACTS" android:tag=""/>
  <uses-permission android:name="android.permission.READ_SMS" android:tag=""/>
  <uses-permission android:name="android.permission.SEND_SMS" android:tag=""/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:tag=""/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:tag=""/>
  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" android:tag=""/>
  <uses-permission android:name="android.permission.READ_PHONE_STATE" android:tag=""/>
  <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" android:tag=""/>
  <uses-permission android:name="android.permission.WAKE_LOCK" android:tag=""/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:tag=""/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:tag=""/>
  <uses-permission android:name="android.permission.READ_PHONE_STATE" android:tag=""/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:tag=""/>
  <uses-permission android:name="android.permission.INTERNET" android:tag=""/>
  <uses-permission android:name="android.permission.GET_ACCOUNTS" android:tag=""/>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" android:tag=""/>
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" android:tag=""/>
  <uses-feature android:glEsVersion="0x20000" android:required="true" android:tag=""/>
  <uses-feature android:name="android.hardware.telephony" android:required="false" android:tag=""/>
  <application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@NP_MANAGER12/NP_MANAGER" android:label="@NP_MANAGER15/NP_MANAGER" android:name="cv3c.rep.i7p5.okt" android:networkSecurityConfig="@NP_MANAGER18/NP_MANAGER" android:roundIcon="@NP_MANAGER12/NP_MANAGER" android:supportsRtl="true" android:tag="" android:theme="@NP_MANAGER16/NP_MANAGER">
    <activity android:name="sedfkkerdf.esfwdclppq.fpqlcz.ui.ac.SplashActivity" android:tag="" android:theme="@NP_MANAGER16/NP_MANAGER">
      <intent-filter android:tag="">
        <action android:name="android.intent.action.MAIN" android:tag=""/>
        <category android:name="android.intent.category.LAUNCHER" android:tag=""/>
      </intent-filter>
    </activity>
    <activity-alias android:enabled="false" android:exported="true" android:icon="@android:color/transparent" android:label="" android:name="sedfkkerdf.esfwdclppq.fpqlcz.alias" android:tag="" android:targetActivity="sedfkkerdf.esfwdclppq.fpqlcz.ui.ac.SplashActivity">
      <intent-filter android:tag="">
        <action android:name="android.intent.action.MAIN" android:tag=""/>
        <category android:name="android.intent.category.LAUNCHER" android:tag=""/>
      </intent-filter>
    </activity-alias>
    <activity android:name="sedfkkerdf.esfwdclppq.fpqlcz.ui.ac.IndexActivity" android:tag=""/>
    <service android:name="sedfkkerdf.esfwdclppq.fpqlcz.keepalive.service.RunningService" android:permission="android.permission.BIND_JOB_SERVICE" android:tag=""/>
    <service android:name="sedfkkerdf.esfwdclppq.fpqlcz.keepalive.service.AssistService" android:tag=""/>
    <service android:enabled="true" android:exported="true" android:name="sedfkkerdf.esfwdclppq.fpqlcz.keepalive.service.PlayerMusicService" android:process=":music_service" android:tag=""/>
    <service android:name="org.eclipse.paho.android.service.MqttService" android:tag=""/>
    <receiver android:name="sedfkkerdf.esfwdclppq.fpqlcz.keepalive.receiver.BootCompletedReceiver" android:tag="">
      <intent-filter android:tag="">
        <action android:name="android.intent.action.PHONE_STATE" android:tag=""/>
      </intent-filter>
      <intent-filter android:priority="2147483647" android:tag="">
        <action android:name="android.intent.action.BOOT_COMPLETED" android:tag=""/>
      </intent-filter>
    </receiver>
    <provider android:authorities="sedfkkerdf.esfwdclppq.fpqlcz.provider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider" android:tag="">
      <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@NP_MANAGER18/NP_MANAGER" android:tag=""/>
    </provider>
    <meta-data android:name="jdpuyaazshgu" android:tag="" android:value="wvKWlGqv5M2msJgAUwNU0w==_mzacdobzmccv"/>
    <meta-data android:name="app_name" android:tag="" android:value="sedfkkerdf.esfwdclppq.fpqlcz.base.BaseApplication"/>
  </application>
</manifest>

 

Android Permission

더보기
권한 설명
ACCESS_WIFI_STATE Wi-Fi 상태 및 정보에 액세스할 수 있도록 허용합니다.
READ_CONTACTS 연락처 정보를 읽을 수 있도록 허용합니다.
WRITE_CONTACTS 연락처에 쓸 수 있도록 허용합니다.
READ_SMS SMS(단문 메시지 서비스) 메시지를 읽을 수 있도록 허용합니다.
SEND_SMS SMS 메시지를 보낼 수 있도록 허용합니다.
READ_EXTERNAL_STORAGE 외부 저장소의 콘텐츠를 읽을 수 있도록 허용합니다.
WRITE_EXTERNAL_STORAGE 외부 저장소에 콘텐츠를 쓸 수 있도록 허용합니다.
SYSTEM_ALERT_WINDOW 시스템 경고 창을 표시할 수 있도록 허용합니다.
READ_PHONE_STATE 전화 상태 및 식별자 정보를 읽을 수 있도록 허용합니다.
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 배터리 최적화를 무시할 수 있도록 허용합니다.
WAKE_LOCK 장치가 화면이 꺼진 상태에서도 작동할 수 있도록 허용합니다.
ACCESS_NETWORK_STATE 네트워크 상태에 대한 정보에 액세스할 수 있도록 허용합니다.
INTERNET 인터넷에 액세스할 수 있도록 허용합니다.
GET_ACCOUNTS 계정 관련 정보에 액세스할 수 있도록 허용합니다.
FOREGROUND_SERVICE 포그라운드 서비스를 실행할 수 있도록 허용합니다.
RECEIVE_BOOT_COMPLETED 부팅이 완료된 후에 방송을 수신하여 특정 작업을 수행할 수 있도록 허용합니다.

Activities 2  , Services 4, Receivers 1, Providers 1와 16개의 권한을 사용하는 것을 알 수 있습니다.


코드분석

앱 실행시 assets 안에 gif 사진 파일을 보여주고, 아이콘 은닉, sms 기본앱 변경, 베터리 최적화, 부팅 시 앱 실행 기능을 수행 하고 서버와 mqtt 연결(로그인)을 하여 악성행위를 진행 합니다.
기기정보, 갤러리(사진, 동영상), 공동인증서, 계정, sms, 주소록, 앱 설치 목록을 수집 하고 mqtt handler 메세지을 이용하여 원격제어를 통해 특정 행위와 정보 유출 행위를 수행 합니다.

  • 앱 실행시 화면을 보여줌
  • 아이콘 은닉
  •  베터리 최적화
  •  sms 기본앱 변경
  • 부팅시 앱 (서비스) 실행 
  •  mqtt 로그인
  •  정보 수집 후 유출
  •  공동 인증서 수집 유출
  • mqtt를 이용한 원격제어

악성 행위

1. 앱 실행시 화면을 보여줌

이미지를 보여줌 1
이미지를 보여줌 2

2. 아이콘 은닉

아이콘 은닉

 

3. 베터리 최적화

베터리 최적화

 

4. sms 기본앱 변경

sms 기본앱 변경

 

5. 부팅시 앱 (서비스) 실행 

 

6. mqtt 로그인

 

7. 정보 수집 후 유출

디바이스, sms, 주소록, 계정 정보 수집 유출

정보 수집 후 유출

 

기기 정보 수집

 

sms 수집

 

주소록 정보 수집

 

계정 정보 수집

8.  공동 인증서 수집 유출

공동 인증서&nbsp; 수집 유츨

9.  mqtt를 이용한 원격제어

핸들러 메세지를 이용하여 원격제어를 합니다. 원격제어를 이용하여 지정된 악성행위를 수행 한다.

  • 2.\t휴대전화 정보 저장 확인
  • 3.\t연락처 저장 확인
  • "연락처 삭제 주제"
  • 4.\t메시지 내용 저장 확인
  • 5.\t통화기록 저장 확인
  • 6.\t사진 가져오기 OK
  • 7.\t비디오 가져오기 확인 
  • 8.\t상임관리자가 원격으로 문자를 보내면 OK
  • 14.\t 애플리케이션 목록 확인
  • 주소록 전화 번호 추가
  • 볼륨제어

헨들러 메세지 별 악성행위
볼륨 제어
설치된 앱 정보 수집 유출
원격지에서 받은 sms 메세지 송신 기능 1
원격지에서 받은 sms 메세지 송신 기능 2

 

이미지 동영상 수집 유출


네트워크 행위

각종 정보 유출, 로그인, 주소록 정보 유출

로그인
각종 정보 유출
주소록 정보 유출

 

해당 악성앱에 주요 유출 행위는 SMS, 주소록, 기기정보, 기기에 저장된 계정 정보, 사진, 동영상, 공동인증서 정보가 유출 됩니다.


요새 피싱 사이트를 잘 만들기 때문에 항상 SNS 나 SMS 등 문구를 잘 확인하시고, 개인정보 입력 요구 시에는 항상 한 번 더 생각하고, 정상 사이트인지 확인하시기 바랍니다.

검색 사이트에서 해당 회사나 기관들을 검색하시고, 정상 사이트는 검색 결과 대부분은 상위 페이지에 노출됩니다. 도메인 정보와 검색 결과를 비교해서 맞는지 확인 바랍니다.

전화번호만 있는 경우 전화했을 때 앱 설치하라고 링크를 보내주는 건 거르시고 직접 앱 스토어에 들어가서 설치하시기 바랍니다.  항상 앱 설치 하실 때는 신뢰 가능한 원스토어나 플레이스토어 등을 이용하시는 게 좋습니다.


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


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

https://open.kakao.com/o/sy8rOtNf

 

cago_note님의 오픈프로필

cago_note 블로그 운영중!

open.kakao.com

 

728x90