상세 컨텐츠

본문 제목

입사 지원서 위장 메일로 유포되는 GandCrab v4.1.2 랜섬웨어 주의

악성코드 분석 리포트

by 알약(Alyac) 2018. 7. 24. 16:28

본문



안녕하세요. 이스트시큐리티 시큐리티대응센터(ESRC)입니다.


지속적으로 국내에 입사 지원서로 위장한 악성 메일로 GandCrab 랜섬웨어가 유포되는 점이 발견되어 이용자들의 주의를 당부드립니다. 



이번에 발견된 악성 메일은 지난 2018년 4월에 발견된 입사지원서 위장 악성 메일과 유사한 내용인 경력직 입사 지원 내용이 담겨 있으며, 이력서로 위장한 악성 파일 실행을 유도합니다.


[그림 1] 입사 지원 내용으로 위장한 악성 메일


메일에 첨부된 egg 확장자의 압축 파일에는 지원서, 이력서, 기타자격증 이름의 바로가기 파일(lnk)과 GandCrab 랜섬웨어 'unclej.exe' 악성 PE 파일이 있습니다.


[그림 2] 악성 메일에 첨부된 압축 파일


이용자가 지원서, 이력서, 기타자격증 중 하나를 보기 위해 바로가기 파일을 실행할 경우, cmd.exe 명령어에 의해 'unclej.exe' 악성 PE 파일이 실행됩니다.


[그림 3] 악성 PE를 실행하는 바로가기 파일


실행되는 악성코드는 GandCrab 4.1.2 랜섬웨어이며 GandCrab 4.0과 마찬가지로 암호화 대상 환경 조건을 만족할 경우, 파일 암호화를 통해 이용자에게 가상 화폐 결제를 요구합니다. 



다음은 GandCrab 4.0과 GandCrab 4.1.2에서 사용하는 암호화 대상 환경 조건입니다. 암호화 대상 기기인지 확인하는 조건에는 키보드 레이아웃 및 시스템 언어 확인하는 점, 그리고 'C:\ProgramData' 경로에 '.lock' 확장자를 가진 파일이 생성되는지 확인하는 점이 있습니다.


※ GandCrab 4.0 및 GandCrab 4.1.2 암호화 대상 환경 조건


1. 키보드 레이아웃 확인(러시아어인 경우 프로그램 종료)


2. 시스템 언어 확인(러시아, 우크라이나, 벨라루스, 타지키스탄, 아르메니아, 아제르바이잔, 조지아, 카자흐스탄, 키르기스스탄, 투르크메니스탄, 우즈베키스탄, 타타르 중 하나인 경우 프로그램 종료)


3. '%APPDATA%' 경로에 lock 확장자를 가진 파일이 생성되는지 확인(동일한 이름의 파일이 존재하거나, 파일 생성 실패시 프로그램 종료)


한 편, 이번 GandCrab 4.1.2 버전에서는 다음의 기능들이 변경 및 추가되었습니다.


첫 번째로, 앞서 언급한 암호화 대상 환경을 확인하는 조건  세 번째에서 lock 확장자로 생성되는 파일의 이름을 만드는 로직이 변경되었습니다. GandCrab 4.0에서는 볼륨 시리얼을 Shift 연산한 값이 lock 확장자를 가진 파일 이름으로 되었지만, 4.1.2 버전에서는 볼륨 시리얼의 Shift 연산한 결과를 Salsa20으로 암호화한 값의 20자리가 lock 확장자의 파일 이름으로 사용됩니다.


 

GandCrab 4.0

 GandCrab 4.1.2

파일 이름 결정 로직

볼륨 시리얼을 Shift 연산한 값

볼륨 시리얼의 Shift 연산 결과를 Salsa20 알고리즘으로 암호화한 값의 20자리

[표 1] GandCrab 4.0 및 4.1.2에서 파일 이름 결정 로직 비교


다음은 GandCrab 4.0과 GandCrab 4.1.2에서 lock 확장자를 가진 파일을 생성하는 코드입니다.


[그림 4] GandCrab 4.0에서 lock 확장자 파일을 생성하는 코드


[그림 5] GandCrab 4.1.2에서 lock 확장자 파일을 생성하는 코드


GandCrab 4.1.2 버전에서 lock 확장자를 가진 파일 이름을 만드는데 사용하는 Salsa20 알고리즘의 키와 IV는 다음과 같습니다.


[그림 6] Salsa20 알고리즘에서 사용하는 키 및 IV


두 번째로, 임의의 이미지 URL에 RC4와 Base64로 인코딩된 감염 기기의 정보 데이터를 전송하는 기능이 추가되었습니다. 감염 기기 정보 데이터를 전송에 사용되는 임의의 이미지 URL는 하드코딩된 도메인과 경로, 파일 이름, 이미지 확장자를 임의로 조합한 구조를 가집니다. 임의의 이미지 URL의 구조는 다음과 같습니다.


※ 임의의 이미지 URL 구조


http://{하드코딩된 호스트 네임}/(경로 1)/(경로 2)/(파일 이름).(이미지 확장자)


다음은 '임의의 이미지 URL 구조' 중 하드코딩된 도메인, 경로 1, 2와 파일 이름, 확장자에 대한 설명입니다.


 하드코딩된 도메인

경로 1

경로 2 

파일 이름 

이미지 확장자 

하드코딩된 호스트 네임 중 임의의 하나 선택

wp-content, static, content, includes, data, uploads, news 중 임의의 하나 선택

images, pictures, image, graphic, assets, pics, imgs, tmp 중 임의의 하나 선택

im, de, ka, ke, am, es, so, fu, se, da, he, ru, me, mo, th, zu 중 임의의 문자 3개 조합

jpg, png, gif, bmp 중 임의의 하나 선택

[표 2] 임의의 이미지 URL 구조 중 하드코딩된 도메인, 경로, 파일 이름, 확장자에 대한 설명


GandCrab 랜섬웨어 내부에 하드코딩되어 있는 호스트 네임의 일부는 다음과 같습니다.


[그림 7] GandCrab 내부에 하드코딩된 호스트 네임 리스트의 일부


다음은 임의의 이미지 URL로 전송하는 감염 기기 정보 데이터입니다. 감염 기기 정보 데이터에는 사용자 이름, 컴퓨터 이름, PC 소속된 그룹 정보, 러시아어 사용 유무, 운영체제 정보, 하드디스크 정보, 랜섬웨어 ID와 랜섬웨어의 버전 정보로 보이는 'id=39&sub_id=428&version=4.1.2&action=call' 문자열이 포함됩니다.


[그림 8] 감염 기기에서 수집된 기기 정보 데이터


수집한 감염 기기 정보 데이터를 RC4(Key : jopochlen) 및 Base64로 인코딩한 뒤, 임의로 조합된 이미지 URL로 전송합니다. 하지만, 인코딩된 데이터를 고정된 URL이 아닌 임의의 이미지 URL로 전송하는 점, 정보 전송에 따른 추가 행위를 수행할 수 있는 코드가 존재하지 않는 점으로 미루어 보아, 해당 기능은 테스트 목적으로 만들어진 것으로 보여집니다.


[그림 9] 임의로 조합된 이미지 URL로 인코딩된 데이터를 전송하는 코드


GandCrab 랜섬웨어가 버전이 올라가면서 변화하고 있는 만큼, 감염이 되지 않기 위해 출처가 불분명한 이메일에 첨부된 링크나 첨부파일을 주의해야 합니다. 또한 평상시 중요한 자료들은 외장하드 등의 외장 매체에 정기적으로 백업할 수 있는 습관을 가져야 합니다.


현재 알약에서는 관련 악성코드를 'Trojan.Agent.LnK.Gen, Trojan.Ransom.GandCrab'로 진단하고 있습니다.



관련글 더보기

댓글 영역