
우선 X-MAS CTF 2022의 Misc 4개 항목 중 3개만 정리하였다.

Welcome to X-MAS
- 문제 화면에 아예 플래그를 주고있다.

Hop onto Discord
- 문제만 봐도 디스코드로 이동하여 플래그를 확인하면 된다고 링크까지 주고있다.

- 위 링크를 눌러 Discord로 이동해 Flag 값을 얻었다.

- #general 채널에서 얻을 수 있었다.

Manipulated Christmas
- 사실 이 문제를 위한 문제풀이 글이다....

- 파일 다운 링크를 누르면 아래 파일들을 볼 수 있다.

- 다운받은 압축파일을 풀기 위해서 문제에 적혀있는 Christmas 를 입력해 넣었다.

- 파일들은 아래와 같다.

- .zip 파일은 당연히 잠겨있었고, 패스워드는 위 압축해제 패스워드와 달랐다.
그 외에 .kdbx 파일과 .jpg 파일이 보였다.
- 문제를 푸는 순서 힌트가 있다.
.jpg → .zip → .kdbx(KeePass) 라고 적혀있다.
- 스테가노그라피 사이트에서 확인해봐도 특별한 부분이 없어보였다.
- 이미지 크기를 늘려보기 위해 .jpg 파일 구조를 확인해보았다.
- .jpg 파일의 이미지 크기에 대한 정보는 SOF에 위치한다.
- SOF marker의 시작 값은 FF C0 ~ FF C2 이므로, SOF 위치를 먼저 확인했다.

- SOF marker의 값이 나온 뒤 Data Length(2), Sampling precision(1)이 따라오고, 이후에 수정해볼 부분인 Image Height(2), Image Weight(2)가 나온다.



- 세로 이미지 크기를 1000의 값으로 수정해보았다.

- 이미지 하단에 값이 숨어져 있었다.

- 이후 함께 들어있던 flag.zip 압축파일의 패스워드를 풀고 아래 값을 얻었다.

- 그러나 다음으로 열어볼 Flag.kdbx 라는 파일은 열리지가 않는다.
- john을 사용하여 확인해보았다.
dracula 라는 값이 보인다.

KeepassHash.txt
Flag:$keepass$*2*100000*0*570238c5df658d5585014b1578f2a73812032cb599ce7bfe3961ea931df7bd31*76d389a71f5b064b6bd716c93fbe668232f665fe32eb5add3db005757aeea87d*befceb83b8fe811dfedb176ac23d8e27*3c348e19ba7b628e98e3e03a134838ae3d29ae59e8b8c6b5262e9097b154534f*76a25a61fae8d29ad0b935eb8cdce2e360975e6db23d3bb15e2e94c7700f7424
- 값을 다시 입력했고, 플래그를 얻었다.



진짜 엄청난 삽질을 했다.
처음 이미지 해독부터 이미지 크기 조절을 생각 못하고 압축파일을 아예 BruteForce 로 풀고 있었다....
그렇게 얻은 패스워드 값을 사용해 압축파일을 풀었으나 안에 있는 텍스트 파일의 글자가 깨지는 것이었다...
맞지도 않는 방법으로 풀고 글자 다깨진 텍스트 파일 부여잡고 HxD에 올려서 이것저것 시도해보고..
kdbx 데이터 파일 가지고도 삽질하고...
문제를 풀고난 후의 삽질 정리한 글을 보면 웃기기도 하고 미련해보이기도 하지만,
이런 삽질을 통해 이미지 파일의 크기를 조절하는 문제도 있다는 것과 jpg 파일의 구조도 공부하고, john the ripper 라는 툴의 사용에 좀더 익숙해졌다.
CTF에서 삽질만 하다가 문제풀이를 다 하지 못했다가 처음으로 풀어보았는데
역시 문제를 많이 풀어보고, 경험해봐야 이렇게 삽질하며 배우는 것이구나 하고 크게 느꼈다.