안랩 ASEC은 9월 7일 배치파일(*.bat) 형태로 유포되는 Gandcrab에 대해 게시(블로그 링크)하였다. 이 때, 사용된 Gandcrab은 NSIS 외형으로 인젝션하여 동작한다고 간단하게 언급되었다. 이번 글에서는 이 NSIS(Nullsoft Scriptable Install System)외형을 가진 Gandcrab 동작 방식에 대해 설명한다. 먼저, 9월 6일 처음 발견된 NSIS 설치파일 내부에는 정상 이미지 파일들과 악성 *.bin 파일, 정상 System.dll 파일이 존재한다.


[그림 1] NSIS 내부 파일들

설치파일 형태의 1차 악성 파일이 실행되면 %temp%경로에 [그림 1]과 같은 파일들을 드롭한다. 그리고, System.dll 이 CALL 호출과 함께 nonagenarians.dll 파일을 (악성파일) 로드하면서 파일 암호화(랜섬웨어) 행위를 수행하게 된다.

[그림 2] Gandcrab 동작 방식

설치파일 내부에 존재하는 Polymerase.bin 파일은 사용할 API와 Gandcrab v4.3 EXE 파일을 인코딩한 파일이다. nonagenarians.dll 파일은 Polymerase.bin 파일을 참조하여 동작한다.

[그림 3] 디코딩 된 Polymerase.bin

그리고, CreateProcessA를 통해 자식 프로세스를 생성한 후, 자식 프로세스를 Gandcrab 실행 파일로 바꿔 감염행위를  한다. 외형만 보면 정상 설치파일로 보일 수 있으나 실제 동작 시 내부에 인코딩 된 EXE로 프로세스가 바꿔져 사용자가 인지하기 어렵다.

[그림 4] Gandcrab v4.3


NSIS 형태이나 새로운 동작방식

9월 10일날 발견된 파일에서는 내부 파일 구조는 동일하나, msiexec.exe 를 사용하여 동작하는 것이 특징이다. (이전까지는 msiexec.exe 문자열은 존재하나 사용되지 않음) 즉, 외형은 동일 하지만 내부 Gandcrab을 실행시키는 방식에서 차이가 있다.

System.dll을 통해 악성 dll이 로드되면 실행한 파일의 경로와 이름을 비교하여 %APPDATA%calumny.exe 일때와 다를 때로 다르게 동작한다. 제작자 테스트 목적으로 추정되며, [그림 5]에서 파란색 표시 부분이 추가로 실행되는 내용이다.

다를 경우(대부분의 일반 사용자) 실행 한 파일을 %APPDATA% 경로에 calumny.exe 이름으로 복사한 후 cmd 명령을 통해 처음 실행한 파일을 삭제한다. 그 다음 복사 한 파일을 실행하며 종료된다. 


[그림 5] 9월 10일 Gandcrab - 실행 파일 경로 이름이 다를 경우


같을 경우, 정상 윈도우 시스템 파일인 C:\Windows\System32\msiexec.exe를 자식 프로세스로 생성하여 Injection 하여 악성 행위를 한다.

먼저 권한 상승 코드를 Injection 하여 실행하고, 자동실행 등록 및 Gandcrab을 복호화하는 코드를 다시 Injection 하여 실행한다. 정상 파일에 Injection 하여 동작하므로 해당 NSIS 또한 사용자가 인지하기 어렵다. 권한상승 기법은 CMSTPLUA 라는 COM 인터페이스를 이용하였다.

[그림 6] 9월 10일 Gandcrab - 실행 파일 경로 이름이 같을 경우


아래의 [그림 7]은 msiexec.exe 메모리 내에 인젝션된 코드에 의해 Gandcrab 이 실행되는 부분을 나타낸다.

[그림 7] msiexec.exe 인젝션 코드에서 Gandcrab 실행과정


현재 안랩 제품에서는 Gandcrab 랜섬웨어를 다음과 같이 진단하고 있다.


[9월 6일]

Troajn/Win32.Gandcrab.C2698070 (2018.09.06.06) - EXE

Trojan/Win32.Agent.C2698134 (2018.09.06.07) - DLL

Malware/MDP.Ransom.1785, Malware/MDP.Ransom.1171 - 행위탐지


[9월 10일]

Troajn/Win32.Gandcrab.R236694 (2018.09.11.05) - EXE

Trojan/Win32.Loader.C2721877 (2018.09.18.08) - DLL

Malware/MDP.Execute.M1423 - 행위탐지


Posted by 분석팀