안랩 ASEC 에서는 국내로 유포되는 갠드크랩 랜섬웨어의 유포과정을 모니터링 중 갠드크랩 유포 스크립트에서 V3 Lite 제품에 대해 제거(Uninstall)를 유도하는 기능을 발견하였다. (V3 Lite 제품만을 타겟으로 함)

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


유포 스크립트는 [그림 1]과 같이 난독화된 자바스크립트가 포함되어있으며, 난독화 해제 시 [그림 2]와 같은 자바스크립트의 메인 함수를 확인 할 수 있다.

[그림 2] - 복호화된 스크립트 코드


[그림 2]에 복호화된 자바스크립트는 두 가지 방법을 통해 갠드크랩 랜섬웨어를 실행한다. 2번 항목의 파워쉘을 이용한 방법으로 다운로드되는 갠드크랩의 경로는 http://pastebin.com/raw/**** 형태로 확인되었다. (상세한 동작방식은 기존에 작성된 http://asec.ahnlab.com/1141 참고) 갠드크랩 내부 버전은 모두 v4.3으로 확인되었다.

 갠드크랩 랜섬웨어 실행방식

 1. 내부 인코딩된 갠드크랩 실행파일을 사용자 시스템에 생성 및 실행

 2. 파워쉘 스크립트를 이용해 갠드크랩을 다운로드하여 실행

[표 1] - 스크립트 내부의 갠드크랩 실행방식 2가지


해당 유포 스크립트에서는 추가로 V3 프로그램 삭제를 유도하는 기능이 발견되었다. 유포 스크립트는 랜섬웨어를 실행하기 이전에 코드를 통하여 Windows Defender 서비스를 비활성화 및 V3 삭제를 유도한다. 해당 스크립트는 V3 삭제를 유도하기 위해, 해당 기능이 포함된 'tmtvgcslpw.js' 를 로컬에 생성하고 실행한다.


 [그림 3] - V3 삭제 유도기능이 포함된 자바스크립트(tmtvgcslpw.js)


[그림 3]은 V3 삭제 유도기능이 포함된 자바스크립트(tmtvgcslpw.js)의 난독화가 해제된 모습이다. 해당 스크립트는 V3 언인스톨러의 경로를 구한 후, 윈도우 버전에 따라 적합한 실행방식으로 언인스톨러를 실행한다. 언인스톨러를 실행한 이후 최대 60초까지 V3가 제거되었는지 확인 한다. 사용자가 제거 버튼을 60초 이내에 클릭할 경우, 즉시 갠드크랩 랜섬웨어가 실행된다.  


[그림 4] 스크립트에 의해 실행된 V3 제거 프로그램


유포스크립트는 아래 [표 2]와 같이 정상 문서 및 프로그램 이름으로 위장되어 유포되고 있어 첨부 파일로 전송받은 문서 실행 시 주의가 필요하다.

 유포 스크립트의 위장 파일명

 윈도우_10_스토어_오류.js

 무료_ppt_템플릿.js

 러브홀릭스_butterfly.js

 오토캐드_2014_키젠.js

 npdf_64_bit.js

[표 2] - 유포 스크립트의 위장 파일명


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


유포 JS 파일

파일 진단명

JS/Gandcrab, JS/GandCrab.S1

랜섬웨어

실행파일

파일 진단명

Trojan/Win32.Gandcrab (2018.07.05.05)

행위 진단명

Malware/MDP.Ransom.M1171

파워쉘 스크립트

행위 진단명

Malware/MDP.Ransom.M1947


- Update (2018.08.30)

8월 30일자 확인된 "오토캐드_2014_키젠.js파일에서는 아래의 스크립트 코드에서 알 수 있듯이 파워쉘을 통한 다운로드 기능이 제거된 형태로 발견되었다. 내부의 인코딩된 갠드크랩을 생성하여 실행하는 기능만이 존재하며, V3Lite 제품에 대한 언인스톨 기능 등은 동일하다.


[그림 5] 파워쉘 부분이 제거된 8/30일자 변형


Posted by 분석팀