본문 바로가기

악성코드 정보

V3Lite 제품에 대한 진단 우회 시도 (GandCrab v5.2)

최근 갠드크랩 랜섬웨어는 악성 문서를 포함한 피싱 이메일, 유틸리티 피싱 다운로드 페이지 등으로 활발하게 유포되고 있다. 안랩 ASEC은 해당 유포방식을 모니터링 중 국내 백신에 대한 진단 우회 시도를 포착하였다.

 

해당 유포 스크립트는 지난 글에서 언급하였듯이 과거에 백신(V3Lite)을 종료시키는 무력화를 시도했던 이력이 있다. 새롭게 진단 우회를 시도하는 유포 악성코드는 자바스크립트(JS) 유형으로 <그림 1>과 같은 피싱 다운로드 페이지에서 유포된다.

 

지난 글 : ‘국내 백신에 대한 새로운 무력화 시도(GandCrab v5.0.4)’ (https://asec.ahnlab.com/1187)

 

<그림 1. 갠드크랩 자바스크립트를 유포하는 피싱 페이지>

해당 피싱 페이지로부터 다운로드된 유틸리티는 압축파일 형태(zip) 이며, 압축파일 내부에는 자바스크립트(JS) 파일이 존재한다. 해당 자바스크립트는 갠드크랩 랜섬웨어를 다운로드받아 실행하는 기능을 수행하며, 감염 흐름은 아래 <그림 2>와 같다.

 

<그림2. 감염 흐름도>

최초 압축파일 내부의 자바스크립트는 <그림 3>과 같이 난독화되어 있으며, <그림 4>는 난독화 해제된 스크립트이다. 난독화 해제된 스크립트는 드로퍼 기능의 자바스크립트를 악성 서버로부터 다운로드받아 실행한다.

 

 

<그림 3. 난독화된 갠드크랩 유포 스크립트>
<그림 4. 난독화 해제된 유포 스크립트>

 

<그림 5>는 다운로드 받아 실행되는 드로퍼 기능의 자바스크립트이다. 해당 스크립트는 갠드크랩 랜섬웨어를 포함한 인코딩된 파워쉘 스크립트를 %USERPROFILE% 경로 .log 파일로 생성 후 실행한다.  

 

 

<그림 5. 다운로드된 드로퍼 기능의 자바스크립트>

 

<그림 6>은 디코딩된 파워쉘 스크립트이다. 해당 파워쉘 스크립트는 <그림 7>의 갠드크랩 인젝터(DLL)를 압축해제 후 파워쉘 프로세스에 로드하여 실행한다.  

 

 

 

<그림 6. 디코딩된 파워쉘 스크립트>

 

실행된 갠드크랩 인젝터(DLL)는  아래 <그림 7>과 같이 백신 유무를 검사하여 V3 Service가 존재 시 진단 우회 코드를 수행한다.

 

 

<그림 7. Powershell.exe에 로드된 갠드크랩 인젝터의 악성 행위 흐름도>

 

아래 <그림 8>은 진단 우회 코드이며, <그림 9>는 해당 함수 내 인젝션을 수행하는 함수(injectV3Program) 이다. 

 

 

<그림 8. 진단 우회 코드>
<그림 9. injectV3Program 함수 내부 코드>

무력화를 시도하던 과거 코드와 달리 %V3Lite%autoup.exe 파일을 찾아 안랩 백신 프로그램(autoup.exe)이 악성 행위를 할 수 있도록 인젝션을 시도한다인젝션 이후 약 275시간 동안 시간을 지연(Sleep() 함수호출)을 통해 파일에 대한 암호화 작업이 완료될 때까지 파워쉘 프로세스가 종료되는 것을 대기하도록 한다.

 

인젝션 코드는 CreateProcess API를 이용해  Autoup.exe를 suspend 상태로 실행하며 이후 ImageBase Address를 참조해 인젝션 방법을 결정한다이처럼 제품 실행 파일에 랜섬웨어 인젝션을 시도하는 형태의 동작기법이 사용된 것에 주목할 필요가 있으며, 작년과 같이 제품을 Uninstall 하거나 무력화를 시도하려는 것으로 보인다. 안랩에서는 해당 샘플들을 아래와 같이 진단하고 있다.

 

<그림 10. 행위 진단 화면>

 

파일 진단

JS/Gandcrab (2019.04.11.06)

- JS/Gandcrab.S5 (2019.03.06.00)

JS/Gandcrab.S7 (2019.04.12.06)

 

행위 진단

- Malware/MDP.Behavior.M2193