국내 사용자를 타겟으로한 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
'악성코드 정보' 카테고리의 다른 글
Magniber 랜섬웨어에서 GandCrab 랜섬웨어로 변경 (1) | 2018.04.11 |
---|---|
Magniber 랜섬웨어 암호화방식 변화 (0) | 2018.04.09 |
Magniber 랜섬웨어 유포 방식의 변화 (exe->dll) (0) | 2018.03.27 |
Hermes 랜섬웨어를 유포하는 GreenFlash Sundown 웹공격툴킷 국내 사이트 발견 (0) | 2018.03.23 |
스팸 메일로 유포되는 Hancitor 악성코드 재활동 (0) | 2018.03.22 |
댓글