티스토리 뷰

반응형

비트락커 비밀번호 찾기(BitLocker Password Cracking)

 

비트로커(BitLocker) 비밀번호 찾기 (How to crack BitLocker password)

 

BitLocker의 비밀번호 및 복구키까지 모두 모르거나 분실한 경우 BitLocker의 비밀번호를 Cracking 하는 방법이 마지막 방법입니다.

비트로커(BitLocker)에 사용된 비밀번호의 길이 및 사용된 특수문자에 따라 Cracking이 불가능할 수 있습니다.
최후의 방법을 설명드리기 위해 BitLocker 비밀번호를 아주 쉬운 12345678로 설정하여 password cracking 하는 방법을 설명드리겠습니다.

BitLocker 비밀번호 및 복구키(Microsoft 계정에 백업 필수)는 잘 관리하세요, 소중한 자료에 접근하지 못하는 일이 생기면 곤란하잖아요.

 

FTK Imager 프로그램 설치

 

FTK Imager Download(1)

 

먼저 BitLocker 드라이브 전체를 image file로 생성하여 생성된 이미지로부터 hash 값을 추출해야 합니다. Raw(dd) 이미지 생성 프로그램으로 유명한 FTK Imager입니다. (Forensic Tool)

리눅스에서 dd 명령어를 사용해서 직접 이미지를 만들어도 됩니다. dd의 별명이 Disk Destroyer라고 알려졌을 만큼 옵션 if, of를 잘못 입력하면 원본 디스크가 손상될 수 있기 때문에 GUI 환경의 Forensic Tool인 FTK Imager를 추천드립니다.

 

FTK Imager Download(2) - MD5 hash 값 확인

 

다운로드 링크 아래쪽에는 Release Notes 및 MD5 hash값이 나와있습니다.

파일 다운로드 완료후 위변조 확인을 위해 virustotal.com에 upload하여 약 60여개 백신엔진으로 검색과 동시에 hash값을 비교확인 할 수 있습니다.

 

FTP 다운로드 Page에 있는 MD5 hash값과 동일하기에 설치를 진행합니다.

 

Virustotal hash 값 확인 및 비교

 

설치 시 프로그램 선택 후 '마우스 오른쪽 클릭' - '관리자 권한으로 실행'으로 설치를 시작해 주세요.

 

FTP Imager 설치(관리자 권한으로 실행)

 

BitLocker 이미지 생성하는 법 (How to make a BitLocker Disk Image)

 

FTK Imager 실행화면

 

BitLocker 드라이브나 비밀번호를 찾을 장치를 연결하고, FTP Imager 프로그램을 실행하세요.

 

BitLocker 장치 연결

 

[File] - [Create Disk Image] 메뉴를 선택합니다.

 

Create Disk Image

 

"Select Source" 메뉴에서는 "Physical Drive" 메뉴를 선택합니다.

 

FTK Imager 이미지 생성(1)

 

"Source Drive Selection" 메뉴에서는 BitLocker 장치를 선택해 주시면 됩니다.

 

FTK Imager 이미지 생성(2) - BitLocker 장치 선택

 

Image Source에 정상적으로 physical drive가 잘 선택되었습니다.
그러면 이 Image source를 저장할 이미지 파일의 경로 및 파일명을 지정해 줘야 합니다.

 

FTK Imager 이미지 생성(3)

 

"Add" 버튼을 클릭하여 "Select Image Type" 메뉴가 나오면 "Raw(dd)" image type을 선택합니다.
꼭 Raw(dd) image type을 선택해 주세요. 다른 방식으로 선택하면 정상적인 BitLocker hash 추출이 불가능합니다.

 

FTK Imager 이미지 생성(4) - Raw(dd)로 선택

 

FTK Imager는 Forensic Tool로써 증거 관련 정보를 입력할 수 있는 메뉴가 있습니다.

즉, 사건번호, 증거 번호, 그리고 Forensic을 수행한 Examiner 이름... 이런 정보들은 법 포렌식 관련해서 필요한 정보니 그냥 대충 입력해도 됩니다. 

 

FTK Imager 이미지 생성(5) - Case No. 및 Examiner 정보 입력

 

"Select Image Destination" 메뉴에서는 "Browse"를 눌러서 Image를 저장할 디렉터리 및 Image Filename에 저장할 파일명을 지정해 주시면 됩니다.

Image Fragment Size(MB)는 기본으로 "1500"이 입력된 상태인데, Image 파일을 생성할 때 각가 1500MB씩 분할해서 001, 002, ... 이런 식으로 분할해서 생성한다는 의미입니다.

0을 입력하면 1개의 파일로 생성이 가능하며, 분할된 상태로 만들어도 BitLocker hash 추출 시 아무런 문제가 없습니다.
저는 그냥 기본값으로 선택을 했습니다.

 

FTK Imager 이미지 생성(6) - 저장경로 및 파일이름 지정

 

Image Filename에 습관적으로 .iso 와 같이 입력을 했지만 확장자명은 안 적어주셔도 됩니다.

 

FTK Imager 이미지 생성(7)

 

"Finish" 버튼을 누르면 이미지 생성 작업이 시작됩니다.

 

FTK Imager 이미지 생성(8)

 

이미지가 생성되면 다시한번 이미지 확인작업을 거치게 됩니다.

 

FTK Imager 이미지 생성(9) - 이미지 확인

 

이제 BitLocker를 Raw(dd) 이미지로 생성이 완료되었습니다.

 

FTK Imager 이미지 생성(10) - 완료

 

비트로커 비밀번호 크랙 (BitLocker Password Cracking)

 

1500MB 씩 분할된 이미지파일

 

Window10, WSL2, Kali Linux 터미널을 실행합니다.
그리고 이미지 파일이 저장된 디렉토리로 이동합니다.

 

bitlocker2john을 이용해 BitLocker hash 추출

 

Kali Linux에는 bitlocker2john 프로그램이 기본적으로 설치되어 있습니다.

비트로커(BitLocker) 이미지로부터 hash값을 추출시키기 위해 bitlocker2john -i usbBitLocker.iso.001 > bitLockerhash.txt
명령어를 사용하여 hash값을 bitLockerhash.txt파일로 저장시켰습니다.

 

추출된 BitLocker hash 정보

 

bitLockerhash.txt 파일에 저장된 hash값 입니다.
정상적으로 잘 추출이 완료되었습니다.

 

john과 사전파일을 이용한 BitLocker hash Cracking 및 cracked password

 

이제 마지막으로 추출된 hash 값을 john이나 hashcat과 같은 password cracking tool을 사용하여 cracking을 하면 됩니다.

john의 사용법은 매우 간단한데요, john bitLockerhash.txt --wordlist="사전 파일 경로 및 파일명"을 입력하시면 사전 파일에 수록된 유명한 비밀번호 리스트를 모두 bitlocker 용 hash(SHA-256 AES 32/64)로 변환하여 비교해 보고 match가 있으면 비밀번호로 표시해 줍니다.

Demo로 보여드리기 위해 비밀번호를 "12345678"로 쉽게 설정하였으며, john을 실행하자마자 노란색으로 "12345678"이라고 cracking이 완료되었습니다.

 

사전파일(1천만개 넘는 비밀번호 사전)

 

Password Cracking 방법은 아주 무식하게 모든 경우의 수를 각각 무차별 대입(Brute Force) 하여 비밀번호를 찾는 방법입니다. 따라서 사용된 사전 파일에 비밀번호가 없다면 이런 Password cracking으로 비밀번호를 찾을 수 없습니다.

유명한 사전 파일로도 cracking에 실패하는 경우, 자신이 자주 사용하는 알파벳, 특수문자, 숫자 등을 직접 cruch, cupp와 같은 프로그램을 이용하여 사용자 맞춤형 사전 파일을 만들어 cracking 하셔야 합니다.

 

반응형
댓글