> For the complete documentation index, see [llms.txt](https://docs.cooku222.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cooku222.kr/security/digital-forensics/dreamhack/dreamhack-corrupted-disk-image.md).

# \[DreamHack] Corrupted Disk Image

\*뒷부분 보면 알겠지만 마우스 그림이 매우 킹 받는다..\ <br>

#### 문제

<figure><img src="https://blog.kakaocdn.net/dna/bNt6pb/btsM4lWrESV/AAAAAAAAAAAAAAAAAAAAAGnIGLfC7eVGNGibJfG_3ftNGzmcE-4xKckrS-VsVd5A/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=icAy9qA2%2F0Jv4NqUc%2BxxWkf1jbE%3D" alt="" height="696" width="1596"><figcaption></figcaption></figure>

#### 문제 링크

<https://dreamhack.io/wargame/challenges/1189>

[Corrupted Disk ImageDescription \[\\\[함께실습\\\] Corrupted Disk Image\](https://learn.dreamhack.io/634)에서 실습하는 문제입니다. 디스크 이미지가 열리지 않습니다…! 주어진 디스크 이미지를 복원하여 플래그를 구해주세요. Info FLAG:dreamhack.io](https://dreamhack.io/wargame/challenges/1189)

***

<figure><img src="https://blog.kakaocdn.net/dna/OteBA/btsM3jE27Ro/AAAAAAAAAAAAAAAAAAAAAJpu6gQ6Rf_mGG5yM3uN5ojDxZiP7n1V6Oyd6whInslS/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=w5mFR7QJO44zaFdnQ2JQWHD44BI%3D" alt="" height="675" width="1413"><figcaption></figcaption></figure>

디스크 이미지를 1차적으로 열어보기 위해 FTK Imager를 사용해본다. binary 값을 확인해보니 AA 로 도배되어있고 이건 깨진 이미지구나\~ 파악한다.\
\
원래 이미지가 어떤지 알기 위해 완전 날 것의 데이터, 즉 로우 데이터로 export를 해준다.\
\
(사실 예제 문제 설명에 이렇게 적혀있길래 뭘 어떻게 하는 건가 했는데, 파일 옆에 마우스 우클릭하면 export files라고 뜬다. 그러면 프로그램에서 저절로 해준다.)\
\
그리고 나서 HxD로 export했던 raw 버전의 파일을 열어 분석을 해준다. \
\
아 여기서 의문점이 생길 수 있는데(는 사실 그냥 내가 궁금했다)\
\
왜 FTK Imager에서 raw data로 export한걸 FTK Imager 내부에서 확인하는게 아니라 HxD에서 확인하냐는 의문이 생길 수 있다. \
\
쉽게 말해, 둘 다 Hex(16진수) 데이터를 제공하는 기능이 탑재되어 있는데 굳이 불편하게 툴을 두 개 쓰냐는 의문이다.\
\
근데 나만 궁금했는지 뒤져도 정보가 딱히…\
\
GPT의 힘을 빌려보았는데, FTK Imager는 해석된(정제된) 정보를 보여주고 HxD는 로우 데이터를 보여주는데 더 적합하기 때문이다.&#x20;

<figure><img src="https://blog.kakaocdn.net/dna/qc6UN/btsM2nIaSiW/AAAAAAAAAAAAAAAAAAAAACI0UvdYieZBB1KwBHk-qUj2RnhdyIXFdEaqcIQIPrWq/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=FJ4fPRi6ExjPjbLCUIgwmGzlTys%3D" alt="" height="719" width="1418"><figcaption></figcaption></figure>

<figure><img src="https://blog.kakaocdn.net/dna/8aE2l/btsM1Lh05Ow/AAAAAAAAAAAAAAAAAAAAADO5U7k9za4AaaOW6mNFd0DOhyahJGukTMbu4nm5EpFx/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=qVQtqZxDRqZOmNNgXM9Ms%2FoSuHw%3D" alt="" height="721" width="1424"><figcaption></figcaption></figure>

해당 블록 부분 확인하면 NTFS라고 보인다.\
\
이건 NTFS의 VBR 시그니처이며, 이렇게 깨지거나 손상된 이미지 파일의 경우, 복구를 할 수 있게 맨 끝자락에 (여기선 커서가 엄청 긴데,, 대충 맨 밑으로 쭉 내린 뒤 안 깨진 윗부분 부터 보면 뭐가 나온다.) 복구용 VBR이 새겨져 있다.\
\
Q. NTFS란?\
A. Microsoft windows의 파일 시스템, FAT 32에서 개선된 형태 정도로 이해함\
\
이 지점부터 맨 밑까지 모두 블록 처리 한 후 아래와 같이 맨 처음으로 \[붙여넣기 쓰기]를 해준다.\
\
마우스 우클릭하면 뜬다.&#x20;

<figure><img src="https://blog.kakaocdn.net/dna/yhoPG/btsM4KIqOtE/AAAAAAAAAAAAAAAAAAAAALL3ayl2oJNtedJKuS9FHI4WtOPujUhRAPSaJRWbpF_j/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=u6gzlfjGmSiVjFVNiZLZGDASbdw%3D" alt="" height="717" width="1170"><figcaption><p>붙여넣기 쓰기 한 화면</p></figcaption></figure>

<figure><img src="https://blog.kakaocdn.net/dna/Zi0A2/btsM4QIsKJy/AAAAAAAAAAAAAAAAAAAAAKjGdia2qbw5WTlGJ_gm84N7SMKyWK2qEbATJqlZL7sX/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=wR7NKImTU7Z6Mqv4RIcPnbpnvH0%3D" alt="" height="723" width="1419"><figcaption></figcaption></figure>

맨 처음의 FTK Imager 화면과 비교해보면 확실히 파일 구조가 다르다.&#x20;

<figure><img src="https://blog.kakaocdn.net/dna/or9yg/btsM2qrpDDO/AAAAAAAAAAAAAAAAAAAAAEmtkmB7YTSwRYSzMqUON4NRpYUZbDxQIxY0GVbi1shH/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=tdlCQFNXTWysnYakjz5yVDiPbsY%3D" alt="" height="1015" width="1916"><figcaption></figcaption></figure>

우리가 c언어 공부할 때 main.c부터 보듯이\
\
여기서 \[root]부터 확인하면 누가 봐도 읽고 싶어 지는 DO\_NOT\_READ\_THIS라는 파일이 보인다. \
\
누가 메모장으로 그렸나보다.. 잠 안와서 포렌식 공부하다가 킹받았다..\
(다른 writeup 참고하는데 그림 합성한줄 알았음..)

<figure><img src="https://blog.kakaocdn.net/dna/JFO8x/btsM4mnuGZA/AAAAAAAAAAAAAAAAAAAAAKFRrus2eIGmubb1PXbkFnY7FZrzgMcm7S20bsD3u1s0/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=djzjblG5Cr3YptIIbwOCWwu5Lq8%3D" alt="" height="1017" width="1919"><figcaption></figcaption></figure>

keyfile의 string 값을 sha-256으로 변환하라 했다. 이렇게 어떤 평문(평문 치고는 매우 괴랄하게 길다)에 대한 해시 함수의 값을 계산해주는 툴이 필요할 때는 hashCalc를 사용한다. \
\
+) 아, sha-256는 현존하는 암호 기술 중 하나다.\
\
계산이 귀찮을때는 계산기를 쓰듯, 암호화가 어려우면 암호화 계산기(HashCalc)를 쓴다.\
\
평문이 무진장 길기 때문에 keyFile 파일 자체를 HashCalc에 넣는다.

<figure><img src="https://blog.kakaocdn.net/dna/PB8QW/btsM17d6Qpa/AAAAAAAAAAAAAAAAAAAAAOA9Z_bnoV4iTP9Pdw-ksF9O416PEFSUJaVVHVqmpPTS/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&#x26;expires=1782831599&#x26;allow_ip=&#x26;allow_referer=&#x26;signature=NU2nnmAe8AH5AcdIZFH5dlDaW54%3D" alt="" height="607" width="556"><figcaption><p>계산기 소환~</p></figcaption></figure>

```
DH{e71e2b1230fd090aebd3a347310acac611e0161684fb4b7703135b6cc91bb7ac} #플래그 값
```

DH{…} 안에 sha-256 으로 변환된 값을 넣어준다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cooku222.kr/security/digital-forensics/dreamhack/dreamhack-corrupted-disk-image.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
