OverTheWire_Wargame Bandit

[ level12 -> level13 ]




이번 문제는 data.txt파일이 hexdump로 제공되며, 압축이 연속적으로 걸려있다고 하네요. 이를 /tmp에 새 이름으로 폴더를 만든 후 거기서 문제를 진행하라고 합니다. 그대로 따라해주도록 하죠.



/tmp/fstr3am 아래에 data.txt 파일을 넣어주었습니다.



data.txt 파일의 hexdump입니다. 헤더를 보면 1f8b 0808로 시작하는 것을 알 수 있는데, 이는 gzip의 파일 포맷입니다. hexdump를 바이너리화 시켜주면서 파일명의 뒤에 .gz을 불여주도록 하죠. 이 때 사용하는 툴은 xxd입니다. -d 옵션을 주어 출력해주면 바이너리 파일이 생성됩니다.


생성된 data.txt.gz을 gzip -d 옵션으로 압축 해제를 해주면 다시 data.txt 파일이 나타납니다.

이러한 형식으로 다중 압축이 되어 있는데, 이 문제 같은 경우 3가지의 압축 방법이 적용되어 있습니다.

위에서 설명한 헤더를 가지고 있는 gzip,

그리고 바로 아래 그림에서 볼 수 있는 425a 헤더를 가지고 있는 bzip2,



마지막으로 헤더에 파일명을 가지고 있으며, 아래 섹션에서는 해당 파일 hex값이 나타나는 tar 압축입니다.



이런식으로 하나하나 압축을 풀어 나가다 보면 마지막에는 data8.bin이 남게 되며, 이 파일을 읽어내면 key값을 얻어 낼 수 있습니다.






P.S - xxd로 파일 헤더를 볼 필요 없이, file 명령어를 이용하면 어떤 압축 포맷인지 바로 알 수 있다고 합니다.... 쮸륵..


+ Recent posts