본문 바로가기

보안/Malware

윈도우XP 환경에서 워너크라이(WannaCry) 랜섬웨어 복구방법

ㅁ 개요

 

프랑스 소재 회사 Quarkslab 소속 연구원 아드리앵 기네(Adrien Guinet)가 공개한 wannakey 도구를 활용하여 윈도우 XP 환경에서 워너크라이(WannaCry) 랜섬웨어를 복구하는 방법을 제시한다. 


ㅁ 복구절차


[그림 1] wannakey 다운로드 페이지

 

https://github.com/aguinet/wannakey 사이트에 접속해서 wannakey 도구를 다운로드 한다.

해당 도구는 윈도우 XP에서 CryptDestroyKey, CryptReleaseContext 함수를 사용할 때 메모리를 정리하지 않는 특징을 이용하여 메모리에 남아있는 Private Key를 찾아내는 방식이다.

[그림 2] Visual Studio 2013용 Visual C++ 재배포 가능 패키지
 

wannakey 도구를 사용하기 위해서는 사전에 Visual Studio 2013용 Visual C++ 재배포 가능 패키지가 설치되어 있어야한다. 또한 랜섬웨어 악성코드에 감염된 이후 PC를 재부팅 하지않은 상태에서 진행해야 한다.

다운로드 링크: https://www.microsoft.com/ko-KR/download/details.aspx?id=40784

 

[그림 3] wannakey 도구 실행

 

wannakey 도구를 사용하기 위한 파라미터로 wcry.exe 프로세스의 PID와 WannaCry 악성코드가 생성하는 00000000.pky 파일 위치가 필요하다. wcry.exe 프로세스 PID는 작업관리자에서 확인할 수 있고 00000000.pky 파일은 검색 또는 악성코드가 실행된 경로에서 확인할 수 있다.

 

[그림 4] wannakey 도구 결과


일정 시간이 지나면 개인키를 추출하는데 성공했다는 메세지가 출력되는 것을 볼 수 있다. 개인키 파일을 wannakey도구 실행경로에 생성된다. 이후 해당키를 이용하여 wanafork에서 파일 복호화를 진행하면 된다.


 

ㅁ 윈도우7 실행결과

 

 

[그림 1] 윈도우7 환경에서 wannakey 도구 실행결과

 

모든 운영체제를 테스트 해보지는 않았지만 윈도우7 운영체제에서 wannakey 도구를 테스트해본 결과 개인키 추출을 실패한다. 윈도우7 운영체제 이상부터 CryptReleaseContext 함수를 사용할 때 메모리를 정리하는 것으로 추정된다. 또한 WannaCry 초기버전이 아닌 변종버전에서는 wcry.exe 프로세스가  존재하지 않아서 복호화가 불가능하다.

ㅁ 참고자료


https://github.com/aguinet/wannakey

https://github.com/odzhan/wanafork/
https://www.microsoft.com/ko-KR/download/details.aspx?id=40784

http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=105&oid=092&aid=0002116985