오랜만에 쓰는 MISC 문제 write up
MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다.
사실 이 문제는 어떻게 보면 포렌식쪽이랑 관련이 있지 않을까 싶기도 하다.
문제 설명을 읽어보면 Jubie 라는 사람이 여행을하다가 책을 잃어버렸다고 한다.
책에는 중요한 작업들이 많이 들어있어서 꼭 찾아야 한다고 한다.
이 문제에서는 힌트도 제공되는데,
힌트를 읽어보면 문제를 풀기 위해서는 마인크래프트가 필요 없다. 라고 적혀있다.
아무래도 마인크래프트와 관련된 문제인듯 하다.
문제파일로는 I only see in cubes rezip.7z 파일이 주어진다.
.7z 확장자는 zip 파일같은 압축 파일의 확장자이다.
zip 파일 압축풀듯이 그냥 압축을 풀 수 있다.
문제파일 압축을 풀면 이런 데이터들이 들어있다.
마인크래프트를 해본적이 없어서 잘 모르지만,
마인크래프트 게임에서 사용하는 게임 데이터들이 저장된 파일들인거 같다.
맨 아래 있는 icon.png 는 이렇게 생겼다.
확실히 마인크래프트와 관련이 있는 문제이다.
나머지 폴더들에는 별다른 특이한 파일이 없었는데
region 폴더에 들어가보니 이렇게 .mca 확장자를 가지는 파일들이 많이 보였다.
찾아보니 .mca는 Minecraft anvil files 의 약자로
마인크래프트의 맵 정보를 저장하는 파일인것 같았다.
어떤 내용이 있는지 자세히 보기위해
region 폴더로 접근해서 binwalk * 명령어를 이용해
모든 mca 파일을 살펴보았다.
그랬더니 모든 파일이 Zlib compressed data 로 구성되어있다는 것을 알 수 있었다.
binwalk -e * 명령어로 -e 옵션을 줘서
region 폴더 안에 있는 모든 mca 파일에서 Zlib 데이터를 뽑아보았다.
추출하면 이렇게 각 mca 파일 이름과 똑같은 .extracted 폴더가 생성된다.
각 extracted 폴더로 들어가면 이렇게 추출된 데이터들이 들어있다.
2005 라는 파일이 있으면 2005.zlib 라는 파일도 같이 있는것이 보인다.
cat 명령어를 이용해서 각 파일의 내용을 보면
16진수로만 되어있는 파일은 깔끔하게 스트링이 출력되고 있으나
zilb 파일은 압축된 형태라 그런지 글자가 모두 깨져서 보이는것을 볼 수 있다.
어차피 알아볼 수 없는 내용이니 zlib 데이터는 모두 지워준다.
rm _r.*.extracted/*.zlib 명령어를 입력하면
모든 폴더의 모든 .zlib 파일을 한번에 지울 수 있다.
명령어를 실행하면 이렇게 된다.
이제 이 파일들 중에 플래그가 숨어있을거라고 가정하고 문제를 풀었다.
cat _r.*.extracted/* > flag.txt 명령어를 통해
모든 extracted 폴더 안에 있는 파일들 내용을 읽어 flag.txt 파일안에 저장해줬다.
cat flag.txt 로 내용을 살펴보면 이렇게 잘 들어가 있는것을 볼 수 있다.
(여전히 깨진 글자들은 존재한다.)
이번 대회에서 플래그 포맷이 rtcp 라는 단어로 시작한다는 것을 알고있었기에
cat flag.txt | grep -a "rtcp" 명령어로
flag.txt 파일 내에 rtcp 라는 단어가 있는지 확인해봤다.
그랬더니 rtcp{D0n't_d1g 라는 문자열이 나왔다.
플래그의 첫번째 부분이다.
출력된 결과를 살펴보니, 앞쪽에 page 라는 것을 이용해서 플래그를 출력시키고 있는듯 했다.
그래서 이번엔
cat flag.txt | grep -a "page" 로 page 단어가 들어간 부분을 모두 찾아내서
> a.txt 를 이용해 a.txt 파일에 결과를 저장하였다.
a.txt 파일을 열어보면 플래그의 모든 조각들을 찾을 수 있다.
조각들을 모두 합쳐서 써준
rtcp{D0n't_d1g_*str4ight_d0wn$} 가 이번 문제의 플래그이다.
'CTF > MISC' 카테고리의 다른 글
[ImaginaryCTF] journey - OSINT / Google Map (43) | 2022.07.23 |
---|---|
[HeroCTF] HeroGuesser#1 - OSINT / Google Map (51) | 2022.07.03 |
[UMDCTF] Question - MISC / Bash Jail Escape (42) | 2022.05.05 |
[DCTF] Safe Space - MISC / Pyjail (28) | 2022.04.19 |
[TGHACK] .-.-.- .-.-.- .-.-.- - MISC / AsciiDots / 모스부호 (48) | 2022.04.15 |