Analysis

02. GandCrab Ransomware V5.0

p3ngdump 2018. 11. 30. 16:12

갠드크랩 랜섬웨어는 V1.0을 시작으로 현재 V5.0.4에 이르기까지 계속해서 업데이트와 함께 한국을 대상으로 유포중에 있다.


아래 그림은 Ahnlab에서 공개한 2018년 3분기 국내 랜섬웨어 유포 비율 현황이다. 갠드크랩 랜섬웨어가 79%를 차지할 만큼 큰 비중을 갖고 있다.


[그림 1] 2018년 3분기 랜섬웨어 Top 10 / 출처 : Ahnlab


본 글에서는 그 중 V5.0을 분석한 결과를 포스팅한다.


악성코드 정보는 아래와 같다.


악성코드명 

 o.exe

악성코드 hash(md5)

 - 

관련 그룹

 -


해당 갠드크랩 랜섬웨어를 실행하게 되면 먼저 특정 프로그램(백신 등)이 실행중인지 검사하고, 실행 중이라면 특정 프로그램들을 종료한다.

[그림 2] 특정 프로그램이 실행중인지 검사


[그림 3] 특정 프로그램 종료


종료하는 프로그램은 아래 표와 같다.

msftesql.exe         sqlagent.exe

sqlbrowser.exe         sqlwriter.exe

oracle.exe         ocssd.exe

dbsnmp.exe         synctime.exe

agntsvc.exeisqlplussvc.exe sqlservr.exe

mydesktopservice.exe ocautoupds.exe

agntsvc.exeagntxvc.exe agntsvc.exeencsvc.exe

firefoxconfig.exe         mydesktopqos.exe

ocomm.exe         mysqld.exe

mysqld-nt.exe         mysqld-opt.exe

dbeng50.exe                 sqbcoreservice.exe

excel.exe         infopath.exe

msaccess.exe         mspub.exe

onenote.exe         outlook.exe

powerpnt.exe         steam.exe

sqlservr.exe         thebat.exe

thebat64.exe                 thunderbird.exe

visio.exe         winword.exe

wordpad.exe

[표 1] 종료하는 특정 프로그램 목록


해당 랜섬웨어가 중복 실행될 경우를 방지하기 위해 뮤텍스를 생성한다.

[그림 4] 뮤텍스 생성


이후 PC의 정보들을 탈취하는데, 운영체제 버전을 탈취하고, 키보드 형식도 탈취한다. 또한, 이후 행위에 있어 권한으로 제한받지 않도록 권한도 얻어온다.

[그림 5] 운영체제 버전 탈취

[그림 6] 운영체제 버전 탈취

[그림 7] 키보드 레이아웃 탈취

[그림 8] 권한 획득


탈취한 키보드 레이아웃을 기반으로 해당 PC의 키보드 레이아웃이 러시아 레이아웃인지 확인한 후 러시아라면 프로그램을 종료한다.

[그림 9] 키보드 레이아웃 확인


V4.x 에 있었던 안랩에게 보내는 메시지도 포함되어있다.

[그림 10] 안랩에게 보내는 메시지

[그림 11] 안랩에게 보내는 메시지


이후 진행하다보면 해당 파일이 Salsa 알고리즘을 통해 암호화 됬다는걸 명시한 메시지가 등장한다.

[그림 12] Salsa 알고리즘을 통한 암호화 명시


그 뒤에, 피해자 ip, 피해자 hdd 정보, 피해자 os 정보, 피해자 pc 언어, 피해자 key 레이아웃, 피해자 pc 명, 피해자 user 명, 피해자 group 명, 피해자가 사용하는 anti-virus명, 피해자 os bit 를 탈취할 준비를 한다.

[그림 13] 피해 PC 정보 탈취 준비


이후 본격적으로 PC 명, User 명 등을 탈취한다.

[그림 14] 피해 PC 유저명 탈취

[그림 15] 피해 PC 명 탈취


'SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Domain' 레지스트리키를 확인해 피해 PC의 ip를 탈취한다.

[그림 16] 피해 PC ip 탈취

[그림 17] 피해 PC ip 탈취


'HKEY_CURRENT_USER\Control Panel\International\LocaleName' 레지스트리키를 이용해 피해 PC의 언어를 탈취한다.

[그림 18] 피해 PC 언어 탈취

[그림 19] 피해 PC 언어 탈취

[그림 20] 피해 PC 언어 탈취



'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\productName' 레지스트리키를 이용해 피해 PC의 윈도우 정보를 탈취한다.

[그림 21] 피해 PC 윈도우 정보 탈취

[그림 22] 피해 PC 윈도우 정보 탈취

[그림 23] 피해 PC 윈도우 정보 탈취



피해 PC가 몇 비트의 운영체제인지도 확인해 탈취한다.

[그림 24] 피해 PC 비트 확인

[그림 25] 피해 PC 비트 확인


중간에 한번 더 특정 프로그램이 실행중인지 확인하고 종료시키는데, 이 프로그램들은 백신 프로그램들이다.

[그림 26] 특정 프로그램 목록

[그림 27] 특정 프로그램 종료


'HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString' 레지스트리 키를 이용해 피해 PC의 CPU가 무엇인지도 탈취한다.

[그림 28] 피해 PC CPU 정보 탈취

[그림 29] 피해 PC CPU 정보 탈취

[그림 30] 피해 PC CPU 정보 탈취


'HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\Identifier' 레지스트리 키를 이용해 피해 PC의 패밀리도 확인해 탈취한다.

[그림 31] 피해 PC CPU 패밀리 정보 탈취

[그림 32] 피해 PC CPU 패밀리 정보 탈취

[그림 33] 피해 PC CPU 패밀리 정보 탈취



이후 PC 드라이브 타입과 남은 공간까지 탈취해 저장한다.

[그림 34] 드라이브 타입 탈취

[그림 35] 드라이브 남은 공간 탈취

[그림 36] 드라이브 남은 공간 탈취



탈취한 모든 정보를 저장한 다음 C&C 서버로 전송한다.

[그림 37] 탈취한 정보들


다음으로는 쓰레드를 생성해 여러 URL들에 접속하며, 해당 행위는 C&C 서버를 찾기 힘들게 하기 위한 행위로 보인다.

[그림 38] 여러 URL 접속

[그림 39] 여러 URL 접속

[그림 40] 여러 URL 접속

[그림 41] 여러 URL 접속

[그림 42] 여러 URL 접속


이후 암호화를 진행하며 V5.0에서의 암호화 형식은 [파일명].[랜덤5문자]이다.

[그림 43] 암호화 확장자명


'HKEY_CURRENT_USER\SOFTWARE\keys_data\data\ext' 레지스트리키를 생성하고 해당 키 값에 확장자 명을 넣는다. 이 키 값이 암호화에 쓰인다.

[그림 44] 확장자명 키 값 저장



또한 'HKEY_CURRENT_USER\SOFTWARE\keys_data\data\private' 레지스트리 키와 'HKEY_CURRENT_USER\SOFTWARE\keys_data\data\public' 레지스트리 키에 각각 피해 PC의 RSA 개인키와 공개키를 생성하고 해당 값과 함께 파일 암호화에 쓰일 키를 생성해 파일 암호화에 이용한다.

[그림 45] RSA 공개키

[그림 46] RSA 개인키



위 키 값들을 이용해 'BEGIN GANDCRAB KEY~' 로 시작하는 갠드크랩 키를 생성한다.

[그림 47] 암호화에 사용될 키 생성


이후 암호화를 진행하고 [랜덤5문자]-DECRYPT.html 이름의 랜섬노트를 생성해 실행한다.

[그림 48] 랜섬노트 생성

[그림 49] 랜섬노트 생성

[그림 50] 파일 암호화



암호화가 모두 완료되면 바탕화면을 변경해 돈을 요구한다.

[그림 51] 변경된 바탕화면




- Reference


[1] http://ahnlabasec.tistory.com/1176?category=342978

반응형