# 7) bitlocker

{% hint style="info" %}
bitlocker의 경우 파일시스템(볼륨드라이버)를 암호화 하는 윈도우의 기능입니다.\
실제 시험에서는 bitlocker의 암호를 찾은 뒤에 이를 해제한 뒤 분석하는 문제가 출제되었습니다.\
빈번히 출제된 것은 아니나 이러한 문제가 출제되었을 때 어떻게 해야 하는지 살펴보고 가도록 하겠습니다.\
\
**만약 연습시간이 충분하지 않은 경우 그냥 눈으로만 살펴보시고 실제 실습은 하지 않으셔도 무방(시험 출제될 확률이 낮음)**
{% endhint %}

## 1. bitlocker 설정 해보기

* 사실 시험대비에 있어서 bitlocker를 굳이 직접 설정할 필요는 없긴 합니다. \
  다만 한번 정도 해보고 나면 bitlocker가 어떤 의미인지 한번 확인해볼 수 있는 기회가 되기 때문에 실습을 해보도록 하겠습니다.\
  \
  **다만 BitLocker는 Windows 10/11 Pro, Enterprise, 그리고 Education 버전에서 사용할 수 있으며 home 버전에서는 사용할 수 없습니다**. home 버전인 경우 bitlocker 생성은 눈으로만 살펴보시고 <mark style="color:red;">아래에서 bitlocker 가상디스크를 다운 받아 실습해보시길 바랍니다.</mark>
* 가상 디스크를 만들어서 생성하는 연습을 해볼 것이기 때문에 아래 페이지를 통해 먼저 가상디스크 활용 방법을 먼저 알고 진행해보도록 하겠습니다.\
  \> [undefined](https://bitnang.gitbook.io/bit_forensic/2/1./2./undefined "mention")

1. 가상디스크를 간단히 만들어보도록 하겠습니다.\
   먼저 Win + X 키를 누른 뒤 디스크 관리를 선택합니다.\
   이후 동작 - VHD 만들기 선택 후 작은 용량으로 가상디스크를 생성해보도록 하겠습니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FgHnqClyLi3lSNIukk9cn%2Fimage.png?alt=media&#x26;token=7d3e7419-8b5c-4a72-809d-dc8f2986dff8" alt=""><figcaption></figcaption></figure>

   생성 된 디스크를 연결 한 뒤 해당 디스크를 초기화 합니다. (MBR, GPT 등은 자유롭게 선택하여도 됩니다.) 이 후 새 단순 볼륨으로 원하는 파일시스템을 생성(포맷)합니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2F0d4fhF33nz3tUxf7qqbN%2Fimage.png?alt=media&#x26;token=68a5a682-60b0-4aa6-a2f5-1d1a81ac039f" alt=""><figcaption></figcaption></figure>

2. 이 후 테스트를 위해 가상 드라이브에 파일을 아무거나 생성해보도록 합시다. \
   저 같은 경우 test.txt 파일을 생성하였습니다.\
   이 후 FTK Imager에서 가상 드라이브의 피지컬 드라이브를 연 뒤 생성한 text.txt 가 정상적으로 접근 되는 것을 확인합니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FQxrGoL0LnctjAqvgCFy4%2Fimage.png?alt=media&#x26;token=224942ce-c334-4a68-9903-f32211637b7b" alt=""><figcaption></figcaption></figure>

3. 이제 생성한 가상 드라이브를 bitlocker를 이용하여 암호화 하도록 하겠습니다.\
   Win 키를 누른 뒤 "bitlocker"를 검색하거나, 제어판에서 bitlocker를 검색할 경우 아래와 같이 "BitLocker 관리" 메뉴에 접근이 가능합니다.\
   \[이 부분이 안보일 경우 bitlocker를 지원하지 않는 윈도우 버전일 수 있으니 이후에 참고로만 살펴보시고 아래에서 bitlocker 가상디스크를 다운 받아 실습해보시기 바랍니다.]

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FADmzwQDNceaciiPCt8z0%2Fimage.png?alt=media&#x26;token=69e66cf3-933e-4bcb-ac2a-11c715be59b5" alt=""><figcaption></figcaption></figure>

4. 고정 데이터 드라이브에서 새로 추가한 가상디스크 드라이브를 선택 한 뒤 \[BitLocker 켜기] 를 선택합니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FTj8VtVoO7PEEQSZ4jrhk%2Fimage.png?alt=media&#x26;token=6353fde6-fef1-4824-bded-155ec42f1b8e" alt=""><figcaption></figcaption></figure>

   \
   \
   아래 암호를 사용하여 드라이브 잠금 해제를 선택한 뒤 암호를 입력합니다.\
   실습용 가상디스크에는 "forensic2024" 설정하였습니다. \
   다만, 복구를 위해 꼭 필요한 건 아닙니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2F5nYXipZg58BdDW0UGqqi%2Fimage.png?alt=media&#x26;token=832eaf37-1fc4-413d-823c-3df9e3ddd1c7" alt="" width="527"><figcaption></figcaption></figure>

   이 후 \[파일에 저장]을 선택하게 되면 txt 파일을 저장합니다. \
   이 파일에 복구키가 포함되므로 매우 잘 관리하여야 합니다.&#x20;

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FnzmUokXGNKxcV1IuigVh%2Fimage.png?alt=media&#x26;token=774207df-ce90-4d42-a41a-2d9e146b9d70" alt="" width="563"><figcaption></figcaption></figure>

   이 이후 아래 내용들은 선택 한 뒤 암호화 시작을 선택하여 **암호화를 진행**하도록 하겠습니다.\
   \- 전체 드라이브 암호화\
   \- 새 암호화 모드 또는 호환모드

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FRTtQ4ylJv7y1MSspx2wJ%2Fimage.png?alt=media&#x26;token=54ce33ef-96a3-4f5a-a1e7-4635688a3b65" alt=""><figcaption></figcaption></figure>

   \
   아래 가상디스크를 다운 받아 같은 실습이 가능합니다. \
   다운 받은 후 압축 해제 한 뒤 vhd파일을 우클릭 - 탑재 합니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FZE7sEYGMgogZWDnqmoNJ%2Fimage.png?alt=media&#x26;token=877a0f87-03dd-4d20-a1d9-6d3d8f4f1bd6" alt="" width="408"><figcaption></figcaption></figure>

* 컨트롤 클릭 -> 새 탭에 다운받기

{% embed url="<https://naver.me/Fm3NupQs>" %}

5. 이후 FTK Imager에서 살펴보도록 하겠습니다.\
   Evidence 추가 Physical Drive를 선택 후 생성한 가상 디스크를 선택해보도록 하겠습니다.\
   \
   암호화가 되어 있어 내부 구조를 확인할 수 없습니다. 시그니처를 살펴보면 ex-FVE-FS 와 같은 값을 \
   표시해주고 있습니다. 즉, 이런 시그니처를 확인하면 암호화된 파일시스템 또는 bitlocker로 암호화된 파일시스템 구조인 것입니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FyCiN7egh4phpnZFF7wRf%2Fimage.png?alt=media&#x26;token=5bd5a21d-714d-47a4-ba82-48f221b4733d" alt=""><figcaption></figcaption></figure>

* 실제 시험에서 이런 파일 시스템의 내부 구조가 보이지 않고 위와 시그니처 구조를 갖고 있다면, \
  bitlocker로 암호화 된 것 일 수 있는 것입니다.

## 2. bitlocker 이미지 만들기 후 분석

* 시험에서 제공하는 포렌식 도구 다행이 bitlocker 를 바로 분석할 수 있는 도구가 EnCase 입니다.\
  따라서 무료 도구로 분석을 위해서는 bitlocker 분석이 가능한 도구를 제공하기 전까지는 사실상 억지로 bitlocker 인식이 가능하도록 만들어야 하지만, EnCase를 이용할 경우 이미지만 생성 후 바로 분석하도록 하겠습니다.

1. 먼저 시험에서는 vhd 가상 디스크를 제공한 형태는 없는 것으로 알고 있습니다.\
   (정확하지 않을 수 있습니다.)\
   제공한다면 쓰기방지 설정 후 인식 시켜 진행할 수 도 있겠으나, 그렇지 않는 형태의 문제가 출제되었다고 알려져 있습니다. 이 부분 연습을 진행해보도록 하겠습니다.\
   \
   먼저, 연결되어 있는 가상디스크를 분리 한 뒤 처음부터 진행해보도록 하겠습니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2Fn1MQpA5kNGRjCd1DbL2K%2Fimage.png?alt=media&#x26;token=fccb72d7-e8b9-4312-a398-433653f33331" alt="" width="309"><figcaption></figcaption></figure>

2. 먼저 위에서 bitlocker를 설정한 vhd를 다시 탑재하여 봅시다.\
   다시 연결할 경우 아래 그림과 같이 디스크 앞에 ![](https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FxtLyBXVQuUrmYuO2ULMu%2Fimage.png?alt=media\&token=c7b468fe-e2c1-4506-b6c5-742a05e46364)마크가 붙게 됩니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FqKbuRiR5LSIKPAR5tYCU%2Fimage.png?alt=media&#x26;token=013ee21f-bc5e-4a91-9f5c-6946ea4bbcd5" alt="" width="514"><figcaption></figcaption></figure>

3. 이 상태에서 FTK Imager를 이용하여 Raw 이미지 획득을 진행합니다.\
   실제 시험에서는 USB와 같은 분석 대상이라고 생각하고 진행해보도록 하겠습니다.\
   (VHD는 일단 잊어버립시다.)

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FURbVYzCYMZ2b6fIlIFz7%2Fimage.png?alt=media&#x26;token=a6763e5e-16fb-4eee-a5c0-26ed39cc4f5d" alt="" width="563"><figcaption></figcaption></figure>

   최상위 드라이브에서 우클릭 - Export Disk Image를 선택 한 뒤 Add 를 눌러 raw 이미지를 추출하여 봅시다.&#x20;

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FnNWDRM5oo5L2aeFT6fOe%2Fimage.png?alt=media&#x26;token=0a009c16-4961-44d1-b596-d4754acd36ff" alt=""><figcaption></figcaption></figure>

4. 이제 EnCase에서 raw 이미지를 추가하도록 하겠습니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FzbZJ6JkJSVHkw9vAcrgz%2Fimage.png?alt=media&#x26;token=014b02cf-b054-4cb9-a8a0-1b94d693680a" alt=""><figcaption></figcaption></figure>

   New를 선택 한 뒤 추출한 Raw 이미지를 선택합니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2F1Rzcwmr6LDfOrUdICYQa%2Fimage.png?alt=media&#x26;token=eb7bcfc3-af24-4f50-bcb9-1082fdda436d" alt="" width="473"><figcaption></figcaption></figure>

5. 추가한 이미지 Name 을 선택하면 EnCase가 Bitlocker 인 경우 암호를 입력할 수 있게 해줍니다. \
   여기서 Recovery Password 옵션에서 식별자를 선택 한 뒤 암호를 입력해야 합니다.\
   이때 필요한 것이 Bitlocker 복구키 txt 파일의 내용을 참고하여 입력하게 됩니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FVLkqXFpmOcVAUnT1B7LD%2Fimage.png?alt=media&#x26;token=c2eea605-a66c-4845-ba24-662e8684ca51" alt=""><figcaption></figcaption></figure>

   Bitlocker 암호를 찾아야 하는 경우 "Bitlocker 복구 키\~\~.txt" 파일이 있거나 삭제된 영역등에 저장되어 있을 수 있습니다. 이 경우 키워드 검색 등을 통해서 복구키 관련 부분을 찾아야 하는 것 입니다.

6. 만약 암호를 처음에 몰라서 열어 본 경우 다시 암호를 입력하여 열고자 할 경우 해당 Bitlocker 이미지 선택 후 \[Rescan device cache]를 클릭하면 다시 암호 입력을 할 수 있습니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FtPbLppKVR6e6djUIuh1V%2Fimage.png?alt=media&#x26;token=ffc88c28-73ea-4e87-ad7c-7db3a7dc60f5" alt=""><figcaption></figcaption></figure>

7. 정상적으로 암호화가 해제되어 내부 구조를 확인할 수 있게 되면 이 파일시스템을 기존과 동일한 형태로 분석하여 문제를 해결할 수 있게 되는 것입니다.

   <figure><img src="https://4016728483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2NNzpsEy1B0QNWi34cs%2Fuploads%2FaeJ3MqYKAblNb1a49EaF%2Fimage.png?alt=media&#x26;token=43d8810a-2736-49ec-914b-207d1049c548" alt=""><figcaption></figcaption></figure>

## 3. 정리

* bitlocker의 경우 윈도우에서 사용하는 디스크 암호화 방식입니다. \
  EnCase의 경우 Bitlocker로 암호화된 이미지를 분석해주는 기능이 있어 암호만 있으면 정상 분석이 가능합니다.\
  \
  다만, 시험장에서 제공하는 bitlocker 전용으로 분석해주는 도구는 EnCase는 말고는 없는 실정입니다. \\

* 참고로 EnCase를 사용할 수 없는 경우 윈도우 기능 + vhd 구조를 이용하여 bitlocker 이미지를 강제로 윈도우의 가상 디스크로 만들어서 분석하는 방법도 존재합니다.\
  \>> [#id-3.-bitlocker](https://bitnang.gitbook.io/bit_forensic/2/4-1./7-bitlocker#id-3.-bitlocker "mention")\
  \
  그러나 이러한 방식은 사실 좋은 방법으론 볼 수 없습니다. 실제로 이렇게 분석할 일도 없구요..\
  \
  그럼에도 소개 시켜드린 이유는 분석이 불가능한건 아니며 이렇게 억지로 만들어서 분석할 수는 있다는 것 입니다. 사실 시험에서 이런걸 원하진 않을 것 입니다만..

* 정리하면 bitlocker가 있는 파일시스템이 있다면, "Bitlocker 복구 키\~\~" 파일을 잘 찾아야 하고, \
  파일명을 못 찾더라도, 키워드 검색 등으로 파일시스템 어딘가에 있는 bitlocker 복구 키 부분을 검색하여 찾을 수 있는 문제가 출제될 것으로 보입니다. \
  이 부분은 추후에 연습 문제를 통해서 익숙해지면 어렵지 않게 해결 가능할 것 입니다.\\

{% hint style="info" %}
bitlocker를 설정해보고, 복호화 후 포렌식 분석할 수 있는 이미지 형태로 만드는 것을 진행해 보았습니다. 이후부터는 모두 동일한 방식으로 활용할 수 있으니 개념정도만 이해하고 넘어가시는 걸 추천하며, 추후 연습 문제에서 몇 번 연습해보시면 시험 대비가 가능할 것입니다.

실습해보면서 느낄 수 있으시겠지만 vhd의 경우 raw 이미지 끝에 한 섹터를 추가하면 윈도우에서 인식 할 수 있는 구조인 것을 알 수 있게 됩니다. \
이를 상세히 확인해보고자 한다면 vhd 구조를 공부해보시면 될 것입니다. 다만 우리는 vhd 구조를 알 필요는 없고 잘 활용하는 것이 좋을 것 입니다.&#x20;
{% endhint %}
