본문 바로가기
악성코드 정보

원본 파일 복구가 가능한 CryptXXX 랜섬웨어

by 알 수 없는 사용자 2016. 5. 25.


최근 크립트엑스엑스엑스 랜섬웨어가 대량 유포되면서 피해 사례가 늘어나고 있다. 크립토엑스엑스엑스의 특징은 기존 랜섬웨어와는 달리 실행파일(EXE) 형태가 아니라 동적 링크 라이브러리(DLL) 형태로 유포되고 있다는 점이다. DLL 형태로의 유포는 정상적인 프로세스와 함께 동작하는 구조여서 감염 사실을 알아차리기조차 어렵다.

이 글에서는 크립트엑스엑스엑스의 동작 방식과 주요 기능 등 자세한 분석 내용을 소개한다. 또한 안랩은 이러한 분석을 바탕으로 현재 일부 버전(CryptXXX 2.x 버전)에 대한 원본 파일 복구 툴도 제공하고 있다.

크립트엑스엑스엑스 랜섬웨어(진단명: Trojan/Win32.CryptXXX, 이하 크립트엑스엑스엑스)는 컴퓨터에 있는 파일을 암호화한 뒤 “.crypt”확장자로 변경하여 사용자에게 비트코인을 요구하는 랜섬웨어이다. 아래의 [그림 1]은 크립트엑스엑스엑스의 동작 방식이다.

[그림-1] 크립트엑스엑스엑스 동작 방식

 

크립트엑스엑스엑스의 경우 다른 랜섬웨어와의 차이점은 DLL(동적 링크 라이브러리, Dynamic Linking Library)로 동작한다는 점이다. 크립트엑스엑스엑스는 정상 rundll32.exe를 악성 DLL이 있는 경로에 svchost.exe로 이름을 바꾸어 복사한 뒤 악성 DLL의 내보내기(Export) 함수를 인자 값으로 호출하여 동작한다.

[그림-2] svchost.exe(정상 rundll32.exe)로 로드되어 동작하는 악성 DLL

 

이 악성코드는 피해자의 컴퓨터를 감염시킬 때 “!Recovery_사용자ID.txt”, “!Recovery_사용자ID.html”, “!Recovery_사용자ID.bmp” 형식의 파일을 생성하며 내용은 [그림 3, 4]와 같다

[그림-3] 크립트엑스엑스엑스 결제 안내 페이지


[그림-4] 크립트엑스엑스엑스 결제 안내 텍스트


크립트엑스엑스엑스 주요 기능 

n  자동 실행 등록

크립트엑스엑스엑스는 [1]와 같이 시작프로그램에 바로가기 링크파일을 생성한다. [그림 5]에서 알 수 있듯이 해당 링크파일에 의해 실행되는 파일은 크립트엑스엑스엑스이며, MS114 라는 이름의 함수를 호출하는 기능을 한다.


 [-1] 자동 실행 등록을 위한 바로가기 링크파일 생성


[그림-5] 자동 실행 등록 정보

 

n  C&C 통신

[그림-6] C&C 통신 패킷 정보

크립트엑스엑스엑스는 파일을 암호화 하기 전에 C&C에 악성코드가 생성한 사용자 ID를 전송한다.

 

악성 DLL 내부에 암호화 된 C&C 2개이며, 첫 번째 IP에 접속이 되지 않았을 경우 두 번째 IP로 연결된다.

- 144.7*.82.1*:443 

- 93.1**.187.6*:443

 

C&C접속유무와 관계없이 패킷을 전송 한 후에는 파일 암호화가 진행된다.

  

n  파일 암호화 대상

분석된 크립트엑스엑스엑스로부터 확인된 암호화 대상은 [2]와 같다.

Z:\ 부터 A:\ 까지 마운트 된 모든 드라이브 중, 아래 암호화 대상 드라이브만 감염이 진행된다.

[표-2] 암호화 대상 드라이브 


[-3] 암호화 대상 확장자


[표-4] 암호화 제외 대상 경로


n  암호화된 환경

크립트엑스엑스엑스는 암호화가 완료된 파일의 수정한 날짜 시간정보를 백업된 원본의 수정한 날짜로 변경한다.

[그림-7] 암호화 된 파일의 파일의 시간 정보 변경 코드


[그림 7]에서 붉은색 박스로 표현한 부분의 데이터(A4 80 BC 4B 36 B0 D1 01)SetFileTime API를 사용하여 백업된 원본의 수정한 날짜로 변경된다.

[그림-8] 암호화 된 파일의 파일의 시간 정보 변경 전(좌) 및 변경 후(우)


이때 시간정보가 변경된 파일은 MoveFileW API를 사용하여 [원본 파일명].crypt로 확장자가 변경된다.

[그림-9] 암호화 후 확장자 변경

 

그리고 암호화 된 파일이 있는 경로마다 결제 안내 파일들을 생성한다.

[그림-10] 암호화 된 파일들과 생성 된 결제 안내 파일 (.bmp, .html, .txt)


앞서 언급했듯이 SetFileTime API를 이용하여 [그림 11]에 있는 붉은색 박스에 있는 데이터 (00 00 00 00 71 37 00 00)1601312일 월요일 101727초로 변경된다.

[그림-11] 결제 안내 파일의 시간 정보 변경 코드


[그림-12] 결제 안내 파일의 시간 정보 변경 전(좌) 및 변경 후(우)

 

 

생성한 결제 안내 파일의 시간 정보를 [그림-12]과 같이 변경한다. 암호화가 완료되면 [그림-13]와 같은 화면을 띄우고 스크린을 잠기게 하여 사용자가 어떠한 동작도 할 수 없게 한다. 

[그림-13] 암호화 완료 후 화면


 


크립트엑스엑스엑스는 일반적으로 웹사이트 다운로드 등으로 유포되는 경우가 많다따라서 사용자는 출처를 알 수 없는 메일에 첨부된 파일 실행이나 불필요한 사이트 접근을 삼가는 등의 주의가 필요하다

해당 악성코드 감염을 막기 위해서는 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 필요하다.

안랩은 원본 파일을 복구해주는 툴을 랜섬웨어 보안센터를 통해 무료로 제공하고 있다.

복구툴 다운로드 받으러 가기

"안랩이 제공하는 전용 백신 및 랜섬웨어 복구툴은 사용자가 비영리 목적으로 다운로드하여 설치 및 이용할 수 있으나 영리적인 목적으로의 사용은 금지되어 있습니다.

만약 영리적인 목적의 이용 · 판매  · 재판매 행위가 확인될 시에는 법적 조치를 취할 수 있음을 밝혀둡니다."

댓글