꿈을꾸는 파랑새

오늘은 안드로이드 스마트폰을 대상으로 하는 랜섬웨어인 Butewoorse Hacker에 대해 글을 적어 보겠습니다. 랜섬웨어 라는 것은 간단하게 이야기하면 컴퓨터에 있는 중요프로그램들을 암호화해서 인질로 삼아서 사용자에게 돈을 탈취할 목적으로 제작된 악성코드를 이야기하면 최근에는 금전을 탈취하기보다는 가상화폐 요구를 하는 것이 대부분입니다.
랜섬웨어 때문에 국내외에서 큰 피해자가 발생을 하고 있습니다. 물론 해당 랜섬웨어 제작자들을 검거하면 해당 암호화를 풀 수가 있는 도구를 보안 업체에서 만들어서 배포하겠지만, 문제는 해당 부분이 적용되지 않으면 소용이 없습니다.
그리고 가상화폐를 요구하고 있으면 대부분은 기본적으로 악의적인 목적을 가진 사람들에게 비트코인 같은 것을 보낸다고 해도 암호화를 해제할 수 있다고 100% 장담을 못하면 그리고 랜섬웨어는 윈도우 운영체제에서 동작하는 것뿐만 아니라 안드로이드 스마트폰을 사용하는 사용자를 대상으로 랜섬웨어도 만들어지고 있습니다. 몸값은 25달러를 요구하고 있으며 일단 개인적인 추측으로 화폐 단위가 보니까 인도네시아 쪽인 것 같습니다. 그런데 보통은 몸값을 받거나 상담 및 문의를 한다고 하면 보안 메일을 사용하는데 보안 메일을 아닌 일반 구글에서 제공하는 메일을 사용하고 있습니다. 그리고 먼저 악성코드를 유포하는 사이트는 다음과 같습니다.

hxxps://googgle-playystore-butewoorse-komunitas(.)000webhostapp(.)com
인 데 해당 사이트에 접속하면 다음과 같은 메시지를 확인할 수가 있었습니다. (2021.07.10 기준)
불법·유해 정보(사이트)에 대한 차단 안내
지금 접속하려고 하는 정보(사이트)에서 불법·유해 내용이 제공되고 있어.
이에 대한 접속이 차단되었음을 알려 드립니다.
해당 정보(사이트)는 방송통신심의위원회(KCSC)의 심의를 거쳐「방송통신위원회의 설치 및 운영에 관한 법률」에 따라 적법하게 차단된 것이오니
이에 관한 문의사항이 있으시면 아래의 담당기관으로 문의하여 주시기 바랍니다.
한마디로 정부에서 막아 놓았습니다.

Butewoorse Hacker 안드로이드 랜섬웨어 악성코드 권한
Butewoorse Hacker 안드로이드 랜섬웨어 악성코드 권한

일단 먼저 해쉬값을 보겠습니다.
파일명: Butewoorse Hacker.apk
CRC32:5c39b7b4
MD5:ce00b9061effa69e6b331f7457338b65
SHA-1:d3c6bc3813aaa3c72c67f4fa60c9ffec31ec9ded
SHA-256:488ace5b609f5a04530d06c5c5c9efce9dd7fd714f03a533c4fc7d18311ec324
입니다. 그리고 안드로이드 권한은 다음과 같습니다.

<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

만 가지는 악성코드입니다.
일단 해당 랜섬웨어를 실행을 하고 나면 다음과 같이 화면이 나오는데 여기서 모든 권한을 다 허용을 해주면 랜섬웨어 노트를 볼 수가 있습니다. 일단 해당 랜섬웨어는 스마트폰의 IMEI 정보를 획득하기 위해서 다음 method에서 IMEI 정보를 획득하는 코드들이 있습니다. (preparePanel,onKeyShortcut,onKeyShortcut) 있으며 androidx.appcompat.app.AppCompatDelegateImpl 부분을 예를 들면 다음과 같은 코드들이 있는 것을 볼 수가 있습니다.

Butewoorse Hacker androidx appcompat app AppCompatDelegateImp
Butewoorse Hacker androidx.appcompat.app.AppCompatDelegateImpl

if (decorContentParent1 != null) {
        i = decorContentParent1.getDeviceId();
      } else {
        i = -1;
      } 
      if (KeyCharacterMap.load(i).getKeyboardType() != 1) {
        bool = true;
      } else {
        bool = false;
      } 
      ((PanelFeatureState)decorContentParent).qwertyMode = bool;
      ((PanelFeatureState)decorContentParent).menu.setQwertyMode(((PanelFeatureState)decorContentParent).qwertyMode);
      ((PanelFeatureState)decorContentParent).menu.startDispatchingItemsChanged();
    } 
    ((PanelFeatureState)decorContentParent).isPrepared = true;
    ((PanelFeatureState)decorContentParent).isHandled = false;
    this.mPreparedPanel = (PanelFeatureState)decorContentParent;
    return true;
  }

Butewoorse Hacker 랜섬웨어 악성코드 실행
Butewoorse Hacker 랜섬웨어 악성코드 실행

그리고 해당 랜섬웨어에 의해서 스마트폰이 잠겨서 사용을 못 하면 랜섬웨어 에서 요구하는 코드를 입력해야 하는데 해당 코드는 com.device.security.activities.BlockedAppActivity 부분에서 다음과 같이 돼 있습니다.

Butewoorse Hacker 랜섬웨어 복호화 비밀번호
Butewoorse Hacker 랜섬웨어 복호화 비밀번호

private void verifyPin() {
    String str = this.secretPin.getText().toString().trim();
    if (TextUtils.isEmpty(str))
      Toast.makeText((Context)this, "masukan kode milik anda", 0).show(); 
    if (str.equals("0812308208744")) {
      SharedPreferencesUtil.setAuthorizedUser((Context)this, "1");
      Toast.makeText((Context)this, "Decrypt sukses , 0).show();
      finish();
      return;
    } 
    Toast.makeText((Context)this, "Kode Decrypt Error , 0).show();
  }

Butewoorse Hacker 랜섬노트
Butewoorse Hacker 랜섬노트

0812308208744이라는 부분이 랜섬웨어를 복원을 하는 키입니다. 여기서 보면 다음과 같은 문장이 있어서 구글 번역기를 통해서 한번 실행을 해 보았습니다.
Decrypt sukses: 복호화 성공
Kode Decrypt Error: 코드 해독 오류
입니다. 그리고 악성코드에서 포함된 주소는 다음과 같습니다.

Butewoorse Hacker Bytecode Viewer 로 본 악성코드 포함된 주소

hxxp://www.google(.)com
hxxps://pastebin(.)com/d0bYqCMc
hxxp://schemas.android(.)com/apk/res/android
그리고 바이러스 토탈(VirusTotal) 2021-07-09 10:09:07 UTC 기준으로 탐지되는 보안 업체들은 다음과 같습니다.
Alibaba:Ransom:Android/Coravin.63a019a0
Avast-Mobile:APK:RepSandbox [Trj]
Avira (no cloud):ANDROID/Locker.XG.FIJG.Gen
BitDefenderFalx:Android.Trojan.SLocker.BPV
Cynet:Malicious (score: 99)
DrWeb:Android.Locker.7145
ESET-NOD32:A Variant Of Android/Locker.XG
F-Secure:Malware.ANDROID/Locker.XG.FIJG.Gen

Fortinet:Android/Locker.XG!tr
Ikarus:Trojan-Spy.AndroidOS.Goontact
K7GW:Trojan ( 00562d5c1 )
Kaspersky:UDS:DangerousObject.Multi.Generic
McAfee:Artemis!C2AA6BDAE84E
McAfee-GW-Edition:Artemis
Microsoft:Ransom:AndroidOS/covidransom.A
Symantec:Trojan.Gen.MBT
Symantec Mobile Insight:AdLibrary:Generisk
Trustlook:Android.PUA.DebugKey
ZoneAlarm by Check Point:UDS:DangerousObject.Multi.Generic
일단 기본적으로 탐지가 안 되는 업체들에 샘플은 전송을 했습니다. 일단 기본적인 보안수칙을 지키는 것이 안전하게 스마트폰을 사용하는 방법입니다.
요약
1. 구글 플레이 스토어 및 공식 스토어 이외에 어플 설치하지 말 것
2. 공신력 있는 백신 앱(안티바이러스 앱) 설치해서 실시간 감시 및 실시간 업데이트할 것(AV-TEST 참고)
3. 구글 안드로이드 스마트폰에서는 외부 앱을 설치를 하려고 하면 경고 메시지가 나오는데 해당 경고 메시지처럼 외부 앱 설치하지 말 것
4. 전화금융사기 차단앱 후후,후스콜,T 전화 같은 것을 사용하면 이런 앱을 활용을 하면 이런 보이스피싱 피해를 줄일 수가 있습니다.
5. 소개팅 어플에서 어떤 어플을 다운로드 해서 설치하라고 하면 100% 악성코드입니다.
6. 컴퓨터 환경에서는 출처가 불분명한 사이트 그리고 파일 다운로드 금지
7. 기본적으로 인지도가 있는 백신앱,백신프로그램 을 사용 및 실시간 감시, 실시간 업데이트
8. PC 같은 경우 랜섬웨어 예방 프로그램인 앱체크 등과 프로그램이 있으니 해당 프로그램을 설치하거나 V3 같은 경우 랜섬웨어 보호를 위해서 부분은 기본적으로 작동하고 있으니 해당 부분은 해제하는 것은 금지(랜섬웨어가 감염을 시도하기 전에 미끼 파일로 낚시하는 것입니다.)
즉 기본적인 보안 수칙을 잘 지켜주면 이런 악성코드에 감염되는 것을 최소화할 수가 있습니다.

그리드형

공유하기

facebook twitter kakaoTalk kakaostory naver band