ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dreamhack - video_in_video
    wargame/Dreamhack 2024. 5. 7. 23:54

    [LEVEL 3 - video_in_video - forensics]

     

     

     

    문제 파일을 다운로드 받으면 video_in_video.jpg 파일이 들어있다.

    문제 이름을 통해 일단 비디오 안에 비디오가 있을 것으로 추정된다.

     

     

     

     

    이 파일을 HxD로 열어보면 jpg 파일의 헤더 시그니처를 확인할 수 있고,

     

     

     

     

     

    푸터 시그니처도 확인할 수 있다.

    그런데 푸터 뒤에 수상해 보이는 값들이 많이 있다.

     

     

     

     

     

    푸터 뒤부터를 새로운 mp4파일로 만들어 저장한다.

     

     

     

     

     

    그러면 위와 같이 어떤 동영상 하나를 볼 수 있는데 플래그가 나오진 않는다.

    여기서 mp4 파일 구조에 대한 공부를 먼저 하고 나서 문제를 다시 풀었다.

     

     

     

     

    박스(box)란?

    • 파일의 기본 단위로 크기, 타입, 데이터를 가짐
    • 크기는 크기와 타입 필드를 포함한 박스의 전체 크기를 의미
    • 데이터는 타입에 따른 데이터나 자식 박스가 올 수 있음
    • 예전엔 아톰으로 불림

     

     

    mp4 파일의 구조

    ftyp : 파일의 호환성을 확인하는 파일 타입 박스

    moov : 미디어의 모든 메타데이터를 저장하는 무비 박스

        mvhd : 무비 헤더 박스

        trak : 특정 미디어 메타정보(cf. 보통은 오디오랑 비디오 두 개)

            stsf : 트랙의 디코딩에 필요한 코덱의 정보

            stts : 샘플의 시간

            stsz : 청크 내 샘플의 크기

            stsc : 청크 내 샘플의 개수

            stco : 청크의 위치

            (나머지는 생략)

    mdat : 실제 미디어를 저장하는 미디어 데이터 박스

     

     

    * moov와 mdat은 순서가 바뀌어도 되지만, moov가 앞에 오는 게 더 좋음(일부 플레이어는 moov가 앞에 없으면 재생X, 플레이어가 재생 전 더 많은 정보 얻기에도 좋음)

     

     

     

     

     

    해당 파일을 보다보면 mdat이 나온다.

     

     

     

     

     

    mdat의 뒷부분을 또 다른 mp4 파일로 만들고 열면 동영상을 재생할 수 없다고 뜬다.

     

     

     

     

     

    그래서 재생할 수 없는 .mp4를 재생할 수 있게 변환해주는 사이트에 이 파일을 넣어 새로운 mp4파일을 얻고 다시 저장한다.

     

     

     

     

     

    이제 최종적으로 flag가 담긴 영상을 얻을 수 있다.

     

     

     

     

    플래그를 획득했다!

     

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

    Dreamhack - Dream Zoo  (0) 2024.05.14
    Dreamhack - Enc-JPG  (0) 2024.05.08
    Dreamhack - BMP Recovery  (1) 2024.05.01
    Dreamhack - sleepingshark  (0) 2024.05.01
    Dreamhack - web-ssrf  (2) 2024.03.26
Designed by Tistory.