play/분석

[악성 앱] 교통민원24(이파인) 사칭 앱 분석 (22.10.30)

카고형 2022. 10. 30. 15:53
728x90

교통민원24(이파인)  사칭 악성 앱 분석

 
교통민원 사칭은 아래 사진과 같이 sms 형태로 교통법규를 위반 했다고 메세지가 오고 범칙금, 벌금, 벌점이 부과 되었다며 통지서 확인 하라는 형태가 대부분 이다.
 
ex) 교통법규위반 단속이 통지서 발송 완료 

스미싱 문자


아래는 해당 URL 접속 화면이다.

접속화면

해당 사이트는 교통민원24(이파인)을 사칭 하는 피싱 사이트 이며 번호입력, 이름, 생년월일을 입력 하면 다음 페이지로 넘어가고 최종적으로 하이퍼 링크를 이용하여 악성앱이 다운로드되는 형태이다.
 
※ 정상 배포방식은 원스토어, 구글플래이 해당 사이트(어플)를 통해서만 배포한다
 
유포지

htrc[.]oiwx.hair

 
최종 유포지

hxxp://htrc.oiwx[.]hair/7003734d095abfee769eeafec9f57337e2ad7854/010 전화 번호.apk

 
접속 화면 마지막 부분에서 다운로드를 누르게 되면 자신이 입력한 전화 번호로 다운 되는 것을 확인할 수 있습니다.
 
Apk 파일 정보
MD5 : c3fb6c92f8c0444d4b13363c307925f8
SHA-1 : 649e2b399288cad2875db0d1b2f4a4cdc216a197
SHA-256 : fa8c0803a77c6e2d4673c95e36f924a3b7e7c1c7c24f3b723a7db326edb46dd1
Vhash : 94e21930f01c657e41ec2bb3bf012f24
SSDEEP : 49152:1HggOmRrBztpLhhzEDroaXFfvJ4Q/JCsuakz6MhBVTKj:1HfRrBztXyv5AQ/Lsz6M7VTY
 
 

바이러스토탈 정보

 

바이러스 토탈 정보


Android Manifest

Manifest 를 보면 23개의 권한과 1개의 서비스 10개의 activity를 확인 가능하다 

더보기
<?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="23" android:compileSdkVersionCodename="6.0-2438415" package="com.example.myapplication" platformBuildVersionCode="30" platformBuildVersionName="11">
    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
    <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"/>
    <uses-permission android:name="android.permission.REORDER_TASKS"/>
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.REORDER_TASKS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_SMS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.ANSWER_PHONE_CALLS"/>
    <application android:theme="@style/Theme_MyApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:debuggable="true" android:allowBackup="true" android:supportsRtl="true" android:roundIcon="@mipmap/ic_launcher_round" android:appComponentFactory="androidx.core.app.CoreComponentFactory">
        <activity android:name="com.example.myapplication.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <provider android:name="androidx.core.content.FileProvider" android:exported="false" android:authorities="com.example.myapplication.fileprovider" android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
        </provider>
        <activity android:name="com.example.myapplication.Step2"/>
        <activity android:name="com.example.myapplication.Step3"/>
        <activity android:name="com.example.myapplication.Step3b"/>
        <activity android:name="com.example.myapplication.Step4"/>
        <activity android:name="com.example.myapplication.Step5"/>
        <activity android:name="com.example.myapplication.Step6"/>
        <activity android:name="com.example.myapplication.ArsA"/>
        <activity android:name="com.example.myapplication.SunSang"/>
        <activity android:name="com.example.myapplication.encryption_card"/>
        <service android:name="com.example.myapplication.RelService"/>
        <receiver android:name="com.example.myapplication.Forbid">
            <intent-filter android:priority="2147483647">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
        <receiver android:name="com.example.myapplication.ForbidPhone">
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE"/>
            </intent-filter>
        </receiver>
    </application>
</manifest>

android permission 정리

권한 설명
android.permission.GET_TASKS 작업 권한
android.permission.INTERACT_ACROSS_USERS_FULL 사용자에게 브로드캐스트 메세지를 보내 디바이스 관리자 변경 가능
android.permission.GET_TOP_ACTIVITY_INFO 상위 활동에 대한 개인정보를 검색 권한
android.permission.REORDER_TASKS 작업 순서 변경 권한
android.permission.DISABLE_KEYGUARD 키가드 비활성화
android.permission.SYSTEM_ALERT_WINDOW 모든 앱 위에 표시 할수 있는 권한
android.permission.REORDER_TASKS 작업 순서 변경 권한
android.permission.WRITE_EXTERNAL_STORAGE 외부저장소 쓰기 권한
android.permission.ACCESS_NETWORK_STATE 네트워크 정보
android.permission.INTERNET 네트워크 소켓 사용 권한
android.permission.READ_PHONE_STATE 전화번호 읽기 권한
android.permission.READ_PRIVILEGED_PHONE_STATE 휴대폰 상태 읽기 권한
android.permission.READ_SMS SMS 읽기 
android.permission.SEND_SMS SMS 보내기
android.permission.RECEIVE_BOOT_COMPLETED 시스템 부팅 후 브로드캐스트 수신
android.permission.RECEIVE_SMS SMS 수신
android.permission.WRITE_SETTINGS 시스템 설정 읽고 쓰기
android.permission.READ_CONTACTS 사용자 연락처 데이터 읽기
android.permission.WRITE_CONTACTS 사용자 연락처 데이터 쓰기
android.permission.WRITE_SMS SMS 쓰기
android.permission.READ_PHONE_STATE 전화번호 읽기 권한
android.permission.CALL_PHONE 전화 걸기
android.permission.ANSWER_PHONE_CALLS 수신 전화 받기

 


악성행위_코드 분석  

교통민원24(이파인) 사칭 앱은 activate를 통해 인증절차인것 처럼 속여 삼성계정, 신분증/면허증, 신용카드 정보, 계좌 정보, 보안 카드, 공인인증서,  인증서 암호등에 정보를 요구 유출, 최신앱 다운, gps 정보 송신, 연락처, 각종 휴대폰 정보를 유출 하는 행위를 보인다.
 
 

앱 실행 화면

해당 앱은 특정 화면을 보여주고 사용자가 정보를 입력하면 특정 서버로 정보를 유출한다
아래 그림은 삼성계정, 신분증을 요구하는 화면이다

정보 요구1

 
 

추가적인 실행 화면

더보기

신용 카드 / 계좌  정보 요구 화면

 

정보 요구 2

보안카드 / 인증서 암호 요구 화면

 

정보 요구 3

추가 다운로드 화면

추가 다운로드

 


 

삼성 계정 정보 유출

삼성 계정 정보 유출

 

신분증/면허증 유출

신분증/면허증 유출

공인인증서 유출

공인인증서 유출

 

신용카드 유출

신용카드 유출

 

계좌 정보 유출

계좌 정보 유출

 

보안카드 유출

보안 카드 유출

 

공인 인증서 비밀번호 유출

공인 인증서 비밀번호 유출

 

특정 도메인을 통한 추가 다운로드

추가 다운로드

hxxps://c85[.]pcloud.com/dpZcxxfdCZ3lcY0AZAMRj7ZZ2Ib5c7Z2ZZoa7ZZPBmB87dB6gRKVOA7MIGV1uInLOMk/%EA%B5%90%ED%86%B5%EB%AF%BC%EC%9B%9024%28%EC%9D%B4%ED%8C%8C%EC%9D%B8%29.apk

 

GPS 감시 GPS정보 송신 기능

GPS 감시

 

GPS 정보 탈취

 

사용자 전화번호 수집

사용자 전화번호 수집

 

사용자 통신사 정보 수집

사용자 통신사 수집

 

 

연락처 정보 수집 및 유출

연락처 정보 수집

 

SMS 삭제 기능

sms 삭제

 
 


네트워크 유출 행위

특정 도메인으로  휴대폰 정보 연락처 정보 삼성계정, 신분증/면허증, 신용카드 정보, 계좌 정보, 보안 카드, 공인인증서,  인증서 암호 유출
 
 

삼성 계정 정보 유출
신분증/면허증 유출

 

신용카드 정보 유출
계좌 정보 유출

 

보안카드 유출

 

공인인증서 비밀번호 유출

 
 


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

728x90