지난 '스팸메일을 통해 유포되는 VenusLocker 랜섬웨어' 글에서는 VenusLocker 랜섬웨어에 대해 소개한 바 있다.

이번 글에서는 해당 랜섬웨어로 감염된 파일 중 일부 복구가 가능한 파일을 대상으로 제작한 복구툴을 다루고자 한다.

복구툴은 VenusLocker 랜섬웨어 공격자의 '명령 제어 (C&C, Command & Control) 서버에 접속이 불가능한' 상황에서 감염된 파일들을 대상으로 한다. (이외에는 복구 불가)


VenusLocker 랜섬웨어는 기타 다른 랜섬웨어와 마찬가지로 특정 파일들을 대상으로 암호화를 수행하는데 특징은 다음과 같다.

1. AES 대칭키 방식으로 암호화

1) 감염 대상 PC 에서 명령 제어 서버에 접속이 불가능한 경우 : 내부에 정의된 키 값 사용

2) 감염 대상 PC 에서 명령 제어 서버에 접속이 가능한 경우 : 키 값을 새로 생성 (이 경우 해당 키 값을 랜섬웨어 내부에 정의된 공개키 값으로 RSA 암호화 후 명령 제어 서버로 전송)

2. 대상 파일 확장자에 따라 다음과 같이 암호화 수행

1) '전체' 암호화 : 파일 전체 암호화

2) '부분' 암호화 : 파일 일부분 암호화 (현재까지 확인된 '일부' 크기는 512 or 1024 bytes)

3. 파일명 Base64 인코딩 및 확장자 변경

1) 원본 파일명과 확장자 전체를 Base64 인코딩한 후 VenusLocker 랜섬웨어 확장자로 변경

(예시)

- 원본 파일명 : 'Changelog.txt'

- 감염 파일명 : 'Y2hhbmdlbG9nLnR4dA==.Venusf'

2) VenusLocker 랜섬웨어 확장자는 대상 파일이 '전체' 암호화인지 '부분' 암호화인지에 따라 다르게 붙여지며 현재까지 확인된 종류는 다음과 같다.

- '전체' 암호화 확장자 : '.Venusf', '.VenusLf', '.VenusLfS'

- '부분' 암호화 확장자 : '.Venusp', '.VenusLp', '.VenusLpS'

(* 감염 대상 확장자 종류 및 상세한 내용은 블로그 '스팸메일을 통해 유포되는 VenusLocker 랜섬웨어' 참고)


위 설명 중 1-1) 처럼 제한적인 환경에서 VenusLocker 랜섬웨어의 감염이 이루어졌을 경우 내부에 정의된 키 값을 구할 수 있으므로 복구가 가능하다.

현재까지 확인된 키 값은 다음과 같다.

BGORMkj&v=u1X0O2hOybNdRvZb9SGGnm 

zyQCCu4Ml*4T=v!YP4oe9S5hbcoTGb8A

[표 1] 내부 키 값

VenusLocker 랜섬웨어에 의해 '부분' 암호화된 파일의 경우에는 복구 시 생성되는 파일이 2개이며 이 중 하나의 파일에서 정상 복구된 파일을 얻을 수 있다.

이는 '부분' 암호화 시 암호화되는 크기가 랜섬웨어마다 상이하기 때문에 확인된 암호화 크기 가짓수만큼 복구 파일을 생성하는 것이다. (감염 파일만으로는 실제 암호화된 크기를 알 수 없음) 

현재까지 확인된 '부분' 암호화 크기는 512, 1024 bytes 2가지이므로 생성된 복구 파일도 2개이며 각각 접두어 [512], [1024] 를 통해 복구 크기를 확인할 수 있다.

[그림 1] '부분' 암호화 파일 (위) 및 복구 파일 (아래)


[그림 2] 복구 실패 파일 (위) 및 정상 복구 파일 (아래)


추가로 '부분' 암호화 파일의 복구 시에는 다음과 같은 문제가 발생할 소지가 있다.

1. 문제 : '부분' 암호화 파일 중 원본 파일 크기가 '부분' 암호화 크기보다 작은 경우

2. 결과 : 복구 파일에 가변적인 더미 데이터 생성 ([그림 3])

(예시)

- 원본 파일 크기 : 632 bytes

- '부분' 암호화 크기 : 1024 bytes

- 복구 파일 크기 : 1024 bytes

[그림 3] 원본 파일 (좌) 및 더미 데이터가 추가된 복구 파일 (우)

(* 위와 같은 문제는 최근 유포되는 VenusLocker 랜섬웨어 감염 파일에서는 나타나지 않는다. 이유는 '부분' 암호화 파일 대상에 확장자뿐만 아니라 파일 크기도 추가되어 2048 bytes 보다 클 경우만 해당되기 때문)


감염 파일의 파일명은 '원본 파일명 + 확장자' 가 Base64 인코딩된 형태에 VenusLocker 랜섬웨어 확장자가 붙은 것이므로 랜섬웨어 확장자 제거 후 동일하게 Base64 디코딩을 이용하여 원본 파일명과 확장자를 구할 수 있다.

(예시)

- 감염 파일명 : W1RFU1RdSFdQLmh3cA==

- Base64 디코딩 후 : [TEST]HWP.hwp

(이때 한글이나 기타 이유로 Base64 디코딩이 실패할 경우 복구툴에서는 랜섬웨어 확장자를 제거한 감염 파일명으로 복구를 진행한다)


[그림 4] 감염 파일 (위) 및 복구 파일 (아래)


위와 같은 사항이 반영된 복구툴은 하기 경로에서 다운로드 가능하다.

다운로드

신고
Creative Commons License
Creative Commons License
Posted by jaemin.song