갠드크랩 랜섬웨어는 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 패밀리 정보 탈취
[그림 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 개인키
[그림 47] 암호화에 사용될 키 생성
이후 암호화를 진행하고 [랜덤5문자]-DECRYPT.html 이름의 랜섬노트를 생성해 실행한다.
[그림 48] 랜섬노트 생성
[그림 49] 랜섬노트 생성
[그림 50] 파일 암호화
[그림 51] 변경된 바탕화면
- Reference
[1] http://ahnlabasec.tistory.com/1176?category=342978
'Analysis' 카테고리의 다른 글
06. LokiBot (0) | 2019.05.30 |
---|---|
05. TrickBot (0) | 2019.05.29 |
04. Shamoon (0) | 2019.01.14 |
03. CVE-2018-4878 (0) | 2019.01.04 |
01. USCYBERCOM Malware Alert's APT Malware (0) | 2018.11.22 |