티스토리 뷰

CTF/Dreamhack

Dreamhack - video_in_video

Noctis41 2025. 3. 12. 00:25

해당 문제는 Dreamhack의 video_in_video 문제에 대한 풀이입니다.


 

 

우선, 제공된 이미지를 010 Editor를 이용하여 열어보았다. 010 Editor는 파일의 바이너리 구조를 확인하는 데 유용한 도구로, 데이터를 직관적으로 분석할 수 있도록 도와준다.

분석을 진행하던 중, UnknownPadding 영역이 존재하는 것을 확인할 수 있었다. 이를 자세히 살펴보니 JPG 푸터 이후에 추가적인 데이터가 포함되어 있었다. 해당 데이터를 확인해보니 ftyp 시그니처가 나타났으며, 이를 통해 MP4 파일이 숨겨져 있을 가능성이 높다고 판단하였다.

 

 

JPG 푸터 이후에 존재하는 MP4 데이터를 따로 저장한 후, 해당 파일을 실행해보았다. 결과적으로 MP4 파일이 정상적으로 추출되었음을 확인할 수 있었다.

추출된 MP4 파일을 다시 010 Editor로 분석해보았다. 그러나 이상하게도, 파일 내부에 터무니없이 큰 데이터 값이 존재하는 것을 발견하였다.

이상한 점은 해당 MP4 파일의 크기가 약 2.6MB 정도에 불과하지만, 특정 박스(Box)의 크기가 너무 커서 정상적인 파일 구조로 보이지 않는다는 점이었다. 이러한 형태는 종종 영상 내부에 숨겨진 데이터(Steganography)가 포함되어 있을 가능성을 시사한다.

이러한 점을 고려하여, 문제가 되는 부분을 따로 떼어내어 새로운 MP4 파일을 생성해보았다. 하지만, 새롭게 생성된 파일을 실행하려고 하니 오류가 발생하였다.

이후, 파일이 실행되지 않는 이유를 찾기 위해 여러 플레이어에서 열어보았다. VLC, Windows Media Player 등에서는 실행되지 않았으나, 곰플레이어(GOM Player)에서 실행했을 때 flag가 나타나는 것을 확인할 수 있었다.

곰플레이어에서만 해당 파일이 정상적으로 실행되는 이유를 분석하기 위해 여러 포렌식 Write-up을 찾아보았으나, 명확한 설명이 있는 자료를 찾을 수 없었다. 하지만 일반적으로 곰플레이어는 일부 손상된 파일을 자동으로 보정하거나, 잘못된 파일 구조를 무시하고 실행하는 특성을 가질 수 있다는 점을 고려할 때, 이러한 특징이 영향을 미친 것으로 보인다.

'CTF > Dreamhack' 카테고리의 다른 글

Dreamhack - palm  (0) 2025.03.05
Dreamhack - Enc-JPG  (0) 2025.02.15
Dreamhack - Basic_Forensics_1  (0) 2025.01.24
Dreamhack - FFFFAAAATTT  (0) 2025.01.24