현재까지 GandCrab 랜섬웨어의 유포는 익스플로잇 킷(Exploit Kit)을 통한 유포와 'OO지원서' 'OO내용증명' 등의 이메일 첨부 파일을 이용한 유포 방식이 주로 확인되었다. 이러한 유포 방식과 더불어 GandCrab 랜섬웨어 파일을 구동하는 방식 또한 다양하게 확인되고 있다. 금주 자사에서는 실질적인 랜섬웨어 기능을 하는 GandCrab DLL이 svchost.exe에 인젝션되어 동작하는 변형을 발견하였다. explorer.exe에 인젝션하여 동작하였던 기존의 방법과는 차이를 보인다. 

유포된 파일은 인코딩된 바이너리를 포함하고 있으며, 이를 언패킹 하여 최종 EXE 실행 파일을 메모리상에 생성한다. 이 실행 파일은 실질적인 랜섬웨어 기능을 하는 악성 DLL 파일을 메모리상에 만들고 이를 정상 프로세스인 svchost.exe 프로세스를 실행한 뒤 프로세스에 코드를 인젝션한다. 대상이 되는 svchost.exe 프로세스는 파일 내에 하드코딩 되어 있다. 기존의 Fileless GandCrab은 explorer.exe 프로세스에 인젝션 했던 점과 비교된다. 프로세스에 인젝션 된 DLL 파일은 기존에 파악된 DLL 파일과 코드 흐름 및 동작 방식이 유사하다. 

주목할 점은 이번 GandCrab 랜섬웨어는 파일 암호화 후 나타나는 랜섬노트에 표기된 버전과 실질적인 암호화 기능을 수행하는 DLL 파일 내에 하드코딩 된 버전이 다르다는 점이다. 랜섬노트에는 ‘GandCrab V2.1’로 나오지만, 실제로 공격자에게 전달되는 내부 버전 정보는 '3.0.0'으로 확인되었다. 비슷한 시기에 접수된 또 다른 GandCrab 역시 랜섬노트에서는 'GandCrab V2.1'이었지만 내부 버전 정보는 '2.3.2'으로 확인되었다.

해당 데이터는 암호화 PC의 고유 ID, 암호화 키 등의 값과 함께 공격자에게 HTTP 통신 파라미터로 전달된다. 내부 버전 3.0.0으으로 명시된 DLL 파일은 바이너리 빌드 날짜가 2018년 4월 23일(UTC)로, 랜섬웨어 공격자는 최근까지도 악성코드를 제작 및 유포하고 있다는 점을 알 수 있다.


GandCrab V2.1 (내부 버전 "version=3.0.0") Kill-Switch (암호화 차단 방법)

자사에서는 GandCrab V2.1 (내부 버전 "version=3.0.0")이 특정 조건에서 암호화가 중단 될 수 있는 Kill-Switch를 확인하였다. 시스템 C:\ 경로 내에 'MalwarebytesLABs' 이름을 가진 파일 또는 폴더가 있을 경우엔 다음과 같은 메시지 박스 창이 뜨면서 [확인] 버튼에 대한 사용자의 마우스 또는 클릭 동작(이벤트)을 대기한다. 이 과정에서 악성 프로세스가 사용자 동작이 있기 전까지 대기를 하기 때문에 암호화 단계로 넘어가는 것을 일시적으로 멈추게 된다. 따라서 다음과 같은 메시지박스가 떴을 경우에는 [확인] 버튼을 클릭하거나 창을 닫지 말고 즉시 시스템을 종료하면 암호화가 되는 것을 방지할 수 있다. 메시지 박스가 뜨기 위해서는 C:\MalwarebytesLABs 파일 또는 폴더가 존재해야하며 다음과 같이 두 가지 방식으로 예방법을 가이드한다. 

  • 첫 번째 방법) C:\ 경로에 'MalwarebytesLABs' 이름을 가진 폴더를 생성한다.


  • 두 번째 방법) C:\ 경로에 'MalwarebytesLABs' 이름(확장자 없음)을 가진 파일을 생성한다. 혹은 다음 첨부된 파일을 위치시킨다.
    MalwarebytesLABs
다음과 같은 메시지 박스가 떴을 때는 [확인] 버튼이나 [X] 버튼을 클릭하지 않고 그 즉시 시스템을 종료/재부팅한다. 


현재 안랩 제품에서는 GandCrab V2.1 (내부 3.0.0) 악성코드를 다음과 같이 진단하고 있다.

  • 파일 진단: Trojan/Win32.RansomCrypt (2018.04.24.02)
  • 행위 진단: Malware/MDP.Inject.M464


Posted by 분석팀