랜섬웨어정보
홈 > 커뮤니티 > 랜섬웨어 복호화 툴
2016-01-25 09:57:20
github.com의 ‘Googulator’회원이 TeslaCrypt2.2를 복호화 하는 소스를 공개하였습니다.
이에 랜섬웨어침해대응센터에서는 아직 암호화된 파일을 가지고 계신 분들에게 도움을 드리고자 공지합니다.
'googulator'에게 감사를 표하는 바입니다.
본 과정은 TeslaCrypt2.2(.vvv, .ccc)만 적용되며 최근 유행하는 TeslaCrypt3.0(micro, ttt, xxx, zzz)는 적용되지 않습니다.
암호화된 PDF 파일에서 키를 추출하는 과정이며 OS:Windows7 64bit CPU:intel-i5 RAM:8GB 환경에서 테스트하였습니다.
본 과정은 github.com의 Googulator의 소스로 진행하며, 방법만 제시할 뿐 복호화 되지 않거나, 파일이 훼손되는 것에 대해 책임지지 않습니다.
반드시 복사본으로 시도하시기 바랍니다.
(원문: https://github.com/Googulator/TeslaCrack)
복호화 준비과정
1. C드라이브에 decrypt폴더 생성
2. Python 설치
↑ https://www.python.org 접속 후 Downloads -> Windows 메뉴로 이동
↑ Lastest Python 2 Release - Python 2.7.11 클릭
↑ 본인의 OS가 64bit인 경우 ->Windows x86-64 MSI installer를 클릭하여 python-2.7.11.amd64.msi 다운로드 후 실행
↑ 본인의 OS가 32bit인 경우 -> Windows x86 MSI installer를 클릭하여 python-2.7.11.msi 다운로드 후 실행
↑ Next 클릭
↑ Next 클릭
↑ 다음과 같이 설정하고 Next 클릭
↑ Finish클릭
3. pycrypto2.6 설치
* 본인의 OS가 64bit인 경우 -> http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win-amd64-py2.7.exe
* 본인의 OS가 32bit인 경우 -> http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
* 클릭하고 다운로드하여 실행(Next만 누르시면 됩니다.)
4. 본인의 OS가 32bit일 경우 추가 설치(64bit 해당 없음)
https://www.microsoft.com/ko-kr/download/details.aspx?id=21576 접속하여 다운로드 클릭
↑ 다운 후 설치
5. TeslaCrack 다운로드
↑ https://github.com/Googulator/TeslaCrack 접속 후 Download ZIP을 클릭하여 TeslaCrack-master.zip을 다운로드 한 다음 압축해제 하여 파일들을 C드라이브의 decrypt폴더로 이동
6. yafu1.34 다운로드
↑ http://sourceforge.net/projects/yafu 접속 후 Download를 클릭하여 yafu-1.34.zip 다운로드
* yafu-1.34.zip 압축해제 후 파일들을 decrypt폴더로 이동
↑ 과정1~6 이후 C:decrypt 폴더
키 추출 과정
※ 참고1 : 본 <키 추출 과정>은 원본파일형식이 PDF일 경우를 가정합니다. PDF에서 추출한 키로 다른 형식의 파일들도 복호화가 가능합니다.
JPG나 XLSX에서 키를 추출할 경우 c:decrypt 폴더 내에 unfactor.py를 우클릭하여 ‘Edit with IDLE’를 클릭하여 magic
number를 수정해야 합니다. JPG일 경우 -> magic = 'xffxd8'입니다.
※참고2. 암호화 된 파일의 형식이 ccc일 경우 (vvv일 경우 생략)
teslacrack.py 파일을 우클릭, 'Edit with IDLE'를 클릭하여 extension을 '.ccc'로 수정합니다.
1. 시작->모든 프로그램->보조프로그램->명령프롬프트를 우클릭하여 관리자 권한으로 실행
2. c:decrypt 폴더로 이동
3. 다음 명령어를 입력
python -c "import urllib2; print urllib2.urlopen('https://bootstrap.pypa.io/ez_setup.py').read()" | python
4. 다음 명령어를 입력
easy_install pip
5. 다음 명령어를 입력
pip install pycrptodome
6. 다음 명령어를 입력
pip install ecdsa
7. 키 추출할 파일을 복사
키를 추출할 파일(암호화된 파일)을 c:decrypt 폴더로 복사합니다.
(주의:파일이름을 임의로 영어소문자로 변경 예)2015년자료.pdf.vvv -> aaa.pdf.vvv)
8. 다음 명령어를 입력
python teslacrack.py .
(주의:python teslacrack.py다음 공백 그다음 마침표입니다.)
9. 결과 값에서 공개키를 추출
공개키를 메모장에 적어둡니다.
↑ 본 과정에서 공개키는 66A372AEC45361D3D13E28EB9133A3CF3C22DAF18D7B2F3250044A3B1A9A207A3936BC1E9C88E5AA8666164E7196842705BE99A1F68100EBBA83E46ABAF8E5DC 입니다.
10. 다음 명령어를 입력 (공개키에서 소인수 추출)
본인의 OS가 64bit인 경우 -> yafu-x64 factor(0x<위에서 추출한 공개키>) -threads 2
본인의 OS가 32bit인 경우 -> yafu-Win32 factor(0x<위에서 추출한 공개키>) -threads 2
↑ 본 과정에서는 yafu-x64 factor(0x66A372AEC45361D3D13E28EB9133A3CF3C22DAF18D7B2F3250044A3B1A9A207A3936BC1E9C88E
5AA8666164E7196842705BE99A1F68100EBBA83E46ABAF8E5DC) -threads 2
입니다.
11. 추출된 소인수 확인
추출된 소인수 들을 메모장에 적어둡니다.
↑ 본 과정에서 소인수 들은 2 2 3 5 7 11 13 17 19 157 1474160868811 691161619 24645257531 278661497944946419 4963077622587375846870661 4740666795454269807964691329292947688557 10720502856037624320561244521127입니다.
12. 다음 명령어를 입력 (비밀키 추출)
python unfactor_ecdsa.py "<파일이름>“ <소인수> <소인수> ....
↑ 본 과정에서는 python unfactor_ecdsa.py "aaa.pdf.vvv" 2 2 3 5 7 11 13 17 19 157 1474160868811 691161619 24645257531 278661497944946419 4963077622587375846870661 4740666795454269807964691329292947688557 10720502856037624320561244521127입니다.
13. 추출된 비밀키
추출한 비밀키를 메모장에 적어둡니다.
↑ 본 과정에서 추출한 비밀키는
9x32xdex76x38xa7x65xc5xccx01xb2x95xfax32x78xa6x14x36xd3'입니다.
9x32xdex76x38xa7x65xc5xccx01xb2x95xfax32x78xa6x14x36xd3' (80A7
4A4C87AC4C16D902E4D5943932DE7638A765C5CC01B295FA3278A61436D3)
입니다.
teslacrack.py에 붙여넣을 부분은
b'x80xa7x4ax4cx87xacx4cx16xd9x02xe4xd5x94x3
9x32xdex76x38xa7x65xc5xccx01xb2x95xfax32x78xa6x14x36xd3'입니다.
과정 11까지 메모장에 적어둔 내용입니다.
14. teslacrack.py 수정
추출한(메모장에 적어둔) 공개키와 비밀키를 teslacrack.py에 붙여 넣습니다.
teslacrack.py를 우클릭하여 'Edit with IDLE'를 클릭합니다.
다음과 같이 공개키와 비밀키를 입력 후 저장 후 닫습니다.
15. 다음 명령어를 입력 (복호화)
python teslacrack.py
↑ 같은 폴더 내 aaa.pdf.vvv가 복호화된 모습
(참고: python teslacrack.py <파일경로 혹은 드라이브>
예를 들어 phthon teslacrak.py c:를 입력할 경우 C드라이브의 암호화된 파일을 찾아서 전부 복호화 합니다.)