안랩 ASEC 에서는 국내로 유포되는 갠드크랩 랜섬웨어를 지속적으로 모니터링하고 있다. 그리고 최근 갠드크랩 랜섬웨어 유포 자바스크립트에서 V3 Lite 제품을 언인스톨하는 행위를 포착하였다. 8월 29일에 동일 내용으로 ASEC블로그(http://asec.ahnlab.com/1152)를 통해 V3Lite 언인스톨 기능을 처음으로 소개하였다. 당시 소개된 내용은 사용자에게 V3Lite 언인스톨 화면이 보여지고 클릭을 유도하는 방식이었지만, 현재 유포되는 파일은 언인스톨 화면을 숨기고(Hidden) 버튼 클릭까지 자동으로 이루어지는 방식이다. 즉, 자바스크립트 파일 실행 시 V3Lite 제품이 사용자 모르게 제거되고, 이후 갠드크랩 랜섬웨어가 생성/실행되는 구조로 고도화 되었다.


[그림 1] - 난독화된 스크립트 코드


유포 스크립트는 [그림 1]과 같이 지난 8월 29일 블로그를 통해 공개된 스크립트와 동일한 난독화 방식을 사용하고 있다. 이전과 동일하게 자바스크립트의 메인함수에서는 아래와 같은 기능들을 수행하며, 붉은색 표시부분이 새롭게 추가된 기능이다.

- AVAST 백신제거 (new)

- Windows Defender 서비스 제거

- Microsoft Security Client 서비스 제거

- V3 Lite 자동 언인스톨 (new)

- 갠드크랩 랜섬웨어 생성 및 실행


기존 유포스크립트와의 차이점은 아래와 같으며, 기존에 V3 언인스톨러를 실행시켜 사용자에게 제거를 유도하는 방식이 아닌, V3 제거를 직접적으로 수행하는 방식이 추가되었다.  감염 시스템의 윈도우 버전에 따라 유효한 UAC 우회기법을 사용하여 파워쉘 코드가 실행되는 구조이다.

- V3 Lite 언인스톨 화면 숨김 및 자동 버튼클릭

- 파워쉘을 통한 Fileless 기법의 갠드크랩 다운로드 기능 제거 


[그림 3] - V3Lite 자동 제거기능의 코드(uvxvfxx.js)


[그림 3]은 V3를 직접적으로 제거하는 기능이 포함된 자바스크립트(uvxvfxx.js)의 난독화가 해제된 모습니다. 해당 스크립트는 윈도우 버전에 적합한 실행방식을 통해 인코딩된 파워쉘 스크립트를 디코딩 과정을 거쳐 실행한다. 


[그림 4] - 디코딩된 파워쉘 스크립트의 메인함수


[그림 5] - 언인스톨 화면 숨김 및 버튼클릭 


[그림 4]는 디코딩된 파워쉘 스크립트의 메인함수이다. 해당 메인함수는 V3 언인스톨러를 실행하고 실행된 프로세스의 윈도우 핸들을 얻어와 공격자가 미리 정의해둔 SendKeyMe 함수로 핸들을 전달한다. [그림 5]는 파워쉘의 Add-Type 기능을 통해 공격자가 정의한 C# 클래스이며, 내부에 정의된 SendKeyMe 함수를 확인할 수 있다. SendKeyMe 함수의 기능은 아래와 같다. 

언인스톨 윈도우창에 [Enter] 메시지를 전송하여 제거 버튼 클릭 행위

- 언인스톨 윈도우창을 숨김


안랩 제품에서는 비정상적인 V3 Lite 언인스톨 행위에 대해 아래와 같이 행위로 차단하고 있다. 


[그림 6] - V3 제거 행위 시 차단


안랩 제품에서는 스크립트 파일 및 랜섬웨어를 아래와 같이 진단하고 있다. 갠드크랩 랜섬웨어 다운로드에 의한 동작 및 파워쉘을 통한 파일리스(Fileless) 형태 모두 행위차단이 가능하다.


유포 JS 파일

파일 진단명

JS/Gandcrab, JS/GandCrab.S1

랜섬웨어

실행파일

파일 진단명

Trojan/Win32.Gandcrab (2018.07.05.05)

행위 진단명

Malware/MDP.Ransom.M1171

비정상적인 

V3 제거 행위

행위 진단명

Malware/MDP.Behavior.M2004


Posted by 분석팀