국내 사용자를 타겟으로한 Magniber 랜섬웨어는 파일 내부에 고정된 대칭키 방식(AES-128, CBC모드)으로 파일을 암호화하며, 암호화에 사용된 키를 추가로 공개키로 암호화하는 과정이 없음으로 해당 대칭키 정보만 알면 복원이 가능한 구조를 갖는다. 하지만, 랜섬웨어는 암호화 과정 후에 자신을 삭제하는 기능이 존재하여, 사실상 복원이 불가능한 상황이다이러한 파일내부에 저장된 키 정보를 알면 복원이 가능하다는 취약성을 바탕으로 5개월 전 아래의 GitHub 사이트를 통해 Magniber 랜섬웨어의 복호화 코드가 공개되었다.


https://gist.github.com/evilsocket/b89df665e6d52446e3e353fc1cc44711


당시 Magniber 랜섬웨어에 암호화된 파일의 시작 첫 16바이트에는 초기화 벡터값을 저장한다. 하지만 현재 변형된 Magniber 랜섬웨어는 암호화된 파일 내부에 벡터정보를 저장하지 않고, 랜섬웨어 내부에 키와 벡터값을 가지고 있다. 


안랩에서는 매일매일 새로운 변형이 배포되는 상황에서 암호화 확장자 별로는 고정된 키 정보가 사용된 다는 점을 바탕으로 확장자와 키 정보를 제공하고자 한다. 이를 통해 감염피해 고객 중, 공개한 확장자로 암호화된 경우, 제공예정인 복구툴을 통해 복원이 가능하도록 한다. 아래의 <그림 1> <그림 2>에서 Magniber 랜섬웨어가 파일을 감염시킬 때 사용하는 암호화 알고리즘이 AES-128 CBC모드 인 것을 확인할 수 있다.


< 그림 1. RSA-AES 암호화 사용 >



< 그림 2. CBC 모드 사용 >


AES-128 CBC모드는 대칭키 방식의 블록 암호화로, 이때 사용되는 16 바이트의 대칭키와 16 바이트의 초기화 벡터는 압축해제 한 랜섬웨어 파일 내부에 저장되어 있다. 아래의 <그림 3> 3 16일에 수집된 샘플이며 압축해제 과정을 거친 후에 키와 확장자, 초기화 벡터값을 파일 내부에 가지고 있는 것을 보여준다.


< 그림 3. Magniber 랜섬웨어 내부에 저장된 key, 확장자, 초기화 벡터 >



아래의 < 1> 지속적으로 유포 중인 Magniber 랜섬웨어 중 일부의 확장자와 키, 초기화 벡터 값을 정리한 것으로 감염된 파일의 확장자에 따라 키와 초기화 벡터 값이 달라진다.


 수집 날짜

확장자 

키 

초기화 벡터 

 01/16

 qshyrt

 p4Ygp14C4819L58t

 aC5Lo5Z431665033

 01/24

 sphtkgo

 Fok67q8kK2u9106Z

 g480w799652z86V7

 02/05

 cnkkykps

 e81482f90mA84aWO

 be1r75Za8L02hS5F

 02/28

 xuorfaas

 FSNweo784J9123MO

 gVHRq8cLy5c47f42

 03/16

 qwjfypajw

 Z97UNAhSB586M8b2

 a884GxkFHNbQm1M5

 03/29

 smrpzykh

 D9k3Q8M791Pd6E6H

 gqp7J4c2W16C3DIz

< 표 1. 날짜 별 Magniber 랜섬웨어 정보 >


만약 감염 파일의 확장자가 같다면, 동일한 키와 초기화 벡터를 가지는 것을 아래의 < 2>를 통해 알 수 있다.


 Hash

컴파일시간

확장자 

키 

초기화 벡터 

7fe28d48fea54f55b797561ef664c5b3 


2018/03/27 03:30:58 UTC

 afseslnoy

 YQL62z574m7Z3Zud

 p7gtLlTs5R6j723U

 350e5bda858cca10ba774e4fcb5925e0

2545c6c70fa34f5ea1c55513cab29c84 

4488c3c623dd008591cff82cd24d0462 

5165ea305bbb107df2eaf5479f72a508 

a688d3534d0925154c042c3c3de6c9d7 

b4c6b7d79c0a891e2fed6c5af2d80057 

bfbbbb22eca1234afb278d7a3d0c1089 

c5a927e477a0940b8a21c3463e55b830 

ede965f0e76764bd8ef6c4f9682d87b3 

< 표 2. 같은 확장자에 감염된 파일의 키와 초기화 벡터 >



안랩에서는 지속적으로 수집되는 Magniber 랜섬웨어의 정보를 바탕으로 향후 감염된 확장자에 따른 복호화 도구를 제공할 예정이다공개할 복호화 도구는 <그림 4>처럼 사용자로 부터 3개의 인자 값을 전달 받아 동작하는 구조이다.



< 그림 4. Magniber 랜섬웨어 복호화 콘솔 프로그램>


  • 첫 번째 인자 값 : 확장자 (prueitfik )
  • 두 번째 인자 값 : (EV8n879gAC6080r6 )
  • 세 번째 인자 값 : 벡터 (Z123yA89q3m063V9)


복호화가 완료된 결과는 아래 <그림 5>와 같으며, 복호화된 파일의 확장자는 ".dec"를 갖는다.



<그림 5. 복호화가 완료된 폴더 내부>



현재 V3에서는 Magniber 랜섬웨어를 수동, 실시간 모두 진단이 가능하며, 다음의 진단명으로 진단하고 있다. 복구툴은 4월 2일 ASEC블로그를 통해 제공할 예정이며, 확장자//벡터 정보는 지속적으로 업데이트하여 제공될 예정이다.


- 파일 진단 : Trojan/Win32.Magniber (V3: 2018.03.28.03)

- 행위 진단 : Malware/MDP.Create


Posted by 분석팀