Magniber 랜섬웨어 유포 취약점 변경(CVE-2018-8174 -> CVE-2019-1367)

매그니베르(Magniber) 랜섬웨어는 취약한 인터넷 익스플로러를 통한 웹페이지 접속만으로 랜섬웨어를 감염시키는 파일리스(Fileless) 형태의 악성코드이다. 국내에 많은 피해를 입히고 있는 대표적인 랜섬웨어로 ASEC 분석팀은 이러한 IE(Internet Explore) 취약점을 통해 유포되는 Magniber 랜섬웨어를 지속적으로 모니터링하고 있다. 그리고 2020년 2월 11일부터 유포에 사용하던 취약점이 CVE-2018-8174에서 CVE-2019-1367으로 새롭게 변경하여 국내에 유포 중임을 확인하였다. 

아래 [그림 1]은 현재 매그니베르 유포 사이트 접속 시 전달받는 HTML 스크립트로 인코딩된 형태이다. 

[그림 1] 인코딩된 취약점 스크립트(CVE-2019-1367)

[그림 2]는 [그림 1]의 스크립트의 디코딩된 형태로 취약점 스크립트 부분이다.  이전에 소개된 VBScript 엔진 취약점(CVE-2018-8174) 스크립트에서 JavaScript 엔진 취약점(CVE-2019-1367)이 사용되고 있다.

[그림 2] 디코딩된 취약점 스크립트 (CVE-2019-1367)

https://asec.ahnlab.com/1274

https://asec.ahnlab.com/1285

공격자는 해당 취약점을 통해 자신이 실행시키고자 하는 악의적 기능의 쉘코드 영역(메모리)에 실행 속성을 부여하고, 실행 흐름을 쉘코드로 분기시킨다. 공격자는 짧은 기간 동안 메모리의 속성을 부여하는 API인 VirtualProtect 함수의 인자값을 변경하였고, 이는 V3의 행위진단을 회피하기 위한 목적으로 추정된다.

[그림 3] 쉘코드에 실행 속성 부여 (변경 전, 변경 후)

[그림 4]는 쉘코드의 첫 번째 기능으로 랜섬웨어 페이로드를 다운로드하는 기능의 코드이다. 해당 방식을 통해 랜섬웨어는 파일형태로 시스템에 생성되지 않고 IE 프로세스 메모리 영역에 인코딩된 형태(랜섬웨어)로 존재한다.

[그림 4] 쉘코드 기능 1 – 인코딩된 랜섬웨어 페이로드 다운

[그림 5]는 쉘코드의 두 번째 기능인 랜섬웨어 디코딩 코드로 커스텀 된 XOR 방식이 사용된다.

[그림 5] 쉘코드 기능 2 – 랜섬웨어 디코딩

[그림 6]은 쉘코드의 3번째 기능으로 실행 중인 사용자 프로세스에 랜섬웨어를 인젝션(Injection)하는 기능이다. 인젝션 된 프로세스는 파일 암호화 행위를 수행한다. 특이 사항으로 안랩 V3 제품 프로세스인 ASDSvc.exe가 존재 시, 자기 자신의 프로세스에 인젝션하는 시도를 생략하는 코드가 추가되었다. 이 역시 V3 제품의 탐지를 우회하기 위한 것으로 추정된다.

[그림 6] 쉘코드 기능 3 – 사용자 프로세스에 랜섬웨어 인젝션

현재 V3에서는 변경된 IE 취약점(CVE-2019-1367)으로 유포되는 메그니베르 랜섬웨어를 다음과 같은 진단명으로 진단하고 있다.

[행위 진단]

  • Malware/MDP.Behavior.M2756
0 0 vote
Article Rating
guest
0 Comments
Inline Feedbacks
View all comments