HAURI

전체메뉴 열기

Security issues analysis

주의해야 할 보안위협요소에 대한 분석자료 제공

보안이슈 분석

모바일에도 감염되는 워너크라이 랜섬웨어
등록일 :
2017.06.15

※ 분석 내역


분석환경 : jadx(0.6.1), 안드로이드 가상에뮬레이터(4.1.2)

 

 

1. Malware (3bbe6a9cc79050180ed9821b32bc7af6)

 

개요 : SD카드에 존재하는 파일들을 암호화하여 금전을 요구한다.

 ViRobot Mobile Pro

 Trojan-Ransom.Congur

 

 

상세분석 :


(1) 다음은 모바일 워너크라이 아이콘이다.
- 패키지 이름 : com.android.tencent.zdevs.bah
- 버전 코드 : 2​

                                                               

                                                           [그림 1]설치된 아이콘

 

(2) 모바일 워너크라이가 요구하는 권한들이다.

 

 

 모바일 워너크라이 요구 권한

 android.permission.SET_WALLPAPER ​

 배경화면 지정

 android.permission.ACCESS_WIFI_STATE

 WIFI상태 접근

 android.permission.READ_LOGS

 로그 읽어오기

 android.permission.READ_PHONE_STATE

 통화상태 읽어오기

 android.permission.GET_TASKS

 테스크힉득

 android.permission.WRITE_EXTERNAL_STORAGE

 SD카드 파일 읽고 쓰기

 android.permission.INTERNET

 인터넷 연결

 com.android.launcher.permission.READ_SETTINGS

 홈설정 및 바로가기 읽기

 android.permission.WAKE_LOCK

 절전모드로 전환되지 않도록 설정

 android.permission.ACCESS_NETWORK_STATE

 네트워크 연결 상태 보기

 android.permission.CHANGE_CONFIGURATION

 시스템 표시 설정 변경

 android.permission.MOUNT_UNMOUNT_FILESYSTEMS

 SD카드 파일 시스템에 접근

 android.permission.READ_EXTERNAL_STORAGE

 보호된 저장소에 액세스 테스트

 android.permission.MODIFY_AUDIO_SETTINGS

 오디오 설정 변경

 [표 1] 모바일 워너크라이 요구 권한

 

(3) 모바일 워너크라이를 실행한 화면이다. PC에서 배포되었던 워너크라이와 흡사하다는 것을 알 수 있다.

        
     [그림 2] 모바일 워너크라이                                                [그림 3] PC 워너크라이 

 

(4) SD카드 내에 존재하는 파일들이 암호화되면서 확장자가 변경된다.
- 파일 암호화 전

 

 

- 파일 암호화 후

 

 

(5) Alipay, Wechat, QQ와 같은 모바일 앱을 통해 배포자와 금전거래를 한다.
- 결제방식 선택화면

   

             [그림 4] 결재 선택 화면                                     [그림 5] Alipay QR코드

   
              [그림 6] WeChat QR코드                            [그림 7] QQ메신저 QR코드 

 

(6) 앱을 종료시키면 기존에 존재하였던 아이콘은 사라지고 새로운 아이콘으로 변경된다.
- 아이콘 이름을 Lycorisradiata로 변경하고 새로운 UI를 생성한다.
 

 

- 기존의 아이콘을 숨기고 새로운 아이콘을 보여준다.

 

                                                    
                                                 [그림 8] 새로운 아이콘



 

(7) random 함수를 호출하여 난수를 생성한다. 생성한 난수를 연산하여 복호화 키를 생성한 뒤 m 객체에 저장한다. 난수로 복호화 키를 생성하므로 단말기에 따라 복호화 키가 다를 수 있다.
- m = (xh+ 850) * 8 - 199
- m = (xh+ 850) * 8 - 199 ​



- 암호화가 된 후 m 객체에 저장된 복호화 키 값은 82783081이다.

 

(8) Base64와 XOR를 이용하여 확장자명을 복호화한다.
- 확장자명은 암호화되어 있다.

 

- 문자열을 복호화하면 확장자명이 나온다.



- 확장자명이 복호화된 결과이다.

 

(9) 복호화된 확장자명 뒤에 값을 알면 복호화 키를 찾을 수 있다.

 

 

-  암호화가 된 후 bahk뒤에 값이 10347060 인 것을 알 수 있다.



- 10347060을 이용하여 추가 연산을 하면 복호화 키인 82783081 를 찾을 수 있다.
- (10347060 + 850) * 8 – 199 = 82783081


 

(10) SD카드에 존재하는 모든 파일들을 AES암호화 한다.
- 제외 파일 : 파일이름이 '.' 으로 시작하거나 파일 사이즈가10KB미만, 50MB이상인 파일

 

 

- AES 암호화 또는 복호화한다.
- 복호화키 : 난수로 생성된 키(분석시점 82783081)
- IV키 : QQqun 571012706​ 

 

 

(11) 사용자로부터 값을 입력받은 뒤 저장된 복호화 키와 비교하여 값이 같으면 암호화되어 있는 파일들을 복호화한다.

 

 

(12) 복호화 키를 입력한 뒤 Decrypt 버튼을 누른다.

   
             [그림 9] 복호화 키 입력                             [그림 10] 복호화 완료 메세지 

 

- 버튼명이 Decrypt complete 변경되면서 SD카드에 암호화되었던 파일들이 복호화된다.

 

                                                         [그림 11] 파일 복호화 완료


 바이로봇 모바일 업데이트 내역

Trojan-Ransom.Congur

 

 

  • - 본 정보의 저작권은 (주)하우리에 있으므로 허가없이 전체 또는 일부를 사용 시 저작권 침해로 간주될 수 있습니다.
  • - 상업적인 목적이나 단체에서 사용할 경우, 별도로 허가를 받으셔야 합니다. (정보 이용 문의 skim@hauri.co.kr)

Top