GandCrab 랜섬웨어는 최근 Magnitude 익스플로잇 킷을 통해 Fileless 형태로 유포 중임이 발견되었다. 이전 블로그에도 게시했던 것처럼 Magniber 유포지 확인 중 새로운 버전의 GandCrab v2.1이 유포 됨을 확인한바 있다이와 관련하여 자사에서는 금주부터 GandCrab v3.0이 Magnitude 익스플로잇 킷을 통해 Fileless 형태로 유포 중임을 추가 확인하였다


[그림 1] 4월 30일 유포과정 구조도

[그림 2] 5월 2일 유포과정 구조도

[그림 1]과 [그림2]는 각각 4월 30일, 5월 2일 Magnitude 익스플로잇 킷을 통해 유포되는 GandCrab v3.0의 구조도이다. 유포 스크립트로부터 GandCrab v3.0 랜섬웨어가 실행되기까지의 상세한 과정은 아래와 같다.


[그림 3] 인코딩된 유포 스크립트

[그림 3]은 Magnitude 익스플로잇 킷의 랜딩페이지로 인코딩 형태이다. [그림 4], [그림 5]은 각각 4월 30일, 5월 2일 수집된 해당 스크립트의 디코딩한 모습이다. 


[그림 4] 디코딩된 유포 스크립트 (04/30)


[그림 5] 디코딩된 유포 스크립트 (05/02)

[그림 4], [그림 5]의 디코딩된 스크립트는 빨간 박스의 변수에 담긴 문자열(Base64 인코딩된 닷넷 DLL) 을 디코딩 후 실행한다. 해당 방식은 디코딩된 닷넷 DLL을 로컬에 드랍하지 않고 실행하는 Fileless 방식이다. 따라서 닷넷 DLL은 해당 유포스크립트가 동작하던 iexplore.exe 의 메모리에서 동작하게 된다.


[그림 6] Base64 디코딩된 닷넷 PE (04/30)


[그림 7] Base64 디코딩된 닷넷 PE (05/02)

[그림 6]과 [그림 7]은 각각 4월 30일, 5월 2일 유포 스크립트 내부의 닷넷 DLL 코드이다. 유포 스크립트로 인해 해당 DLL이 실행되면 <그림 2>,<그림 3>에 보이는 array에 담긴 쉘코드를 쓰레드로 실행시킨다. 해당 쉘코드는 [그림 1],[그림 2] 의 구조도에서 보이는 패킹된 DLL을 다운로드하고 실행하는 역할을 수행한다.


[그림 8] 쉘코드로부터 다운로드되는 DLL (04/30)


[그림 9] 쉘코드로부터 다운로드되는 DLL (05/02)

[그림 8]과 [그림 9]는 각각 4월 30일, 5월 2일 쉘코드로부터 다운로드 및 실행되는 DLL이다. 날짜별 실행방식에 차이는 인젝션 대상 프로세스이다. 4월 30일 자 DLL의 경우 svchost.exe에 인젝션을 시도하며, 실패 시 현재 프로세스(iexplore.exe)에 랜섬웨어를 인젝션한다. 5월 2일 자 DLL의 경우에는 wimserv.exe 에 인젝션을 시도하며, 실패 시 현재 프로세스(iexplore.exe)에 랜섬웨어를 인젝션 하게 된다.


[그림 10] GandCrab v3.0 의 랜섬노트


[그림 11] GandCrab v3.0 감염 후 변경 된 바탕화면


인젝션되어 동작하는 GandCrab 랜섬웨어는 파일 암호화를 수행하고, 감염이 완료되면 [그림 10]과 같이 랜섬노트를 팝업시키며, 이전 버전과 달리 [그림 11] 처럼 바탕화면이 변경된다.


감염 예방방법

- 취약점 패치

결과적으로 GandCrab은 Fileless의 형태로 동작하는 것과 개인키 확인을 어렵게 하는 점으로 보아 진단 및 복구를 힘들게 한다고 할 수 있다. 따라서 확인되지 않는 페이지의 접근을 지양하고 접속 시 사용자의 각별한 주의가 필요하며 주기적인 보안 업데이트가 필요하다. (아래 참고)

스크립팅 엔진 메모리 손상 취약점 (CVE-2016-0189)

취약점 대상의 인터넷 익스플로러 버전 9, 10, 11이며 아래 경로에서 최신 버전의 인터넷 익스플로러를 다운로드 할 수 있다.

https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads

또한 윈도우 보안 업데이트는 다음과 같이 진행 할 수 있다.

윈도우 시작 버튼 -> 모든 프로그램 -> Windows Update

Posted by 분석팀