CTFlearn의 여든 일곱번째 문제
계속해서 Hard 난이도의 문제가 나와서 부담스러워 지기 시작했다.
이번엔 포렌식 문제이다.
문제에서 주어지는 것은 hereisyourflag.m4a 파일이다.
파일을 클릭해서 재생시켜보려 했더니
이런 문구가 떴다.
파일이 온전하지 않은 상태인듯 하다.
일단 HxD로 열어봤다.
아직까진 뭐가 문제인지 모른다.
https://www.file-recovery.com/m4a-signature-format.htm
구글에 검색해보니 위 사이트를 찾았다.
m4a 파일 포맷에 대해 아주 자세히 알려주고 있다.
이 사이트에 따르면
m4a 는 "ftyp", "mdat", "moov", "pnot", "udta", "uuid", "moof", "free", "skip", "jP2 ", "wide", "load", "ctab", "imap", "matt", "kmat", "clip", "crgn", "sync", "chap", "tmcd", "scpt", "ssrc", "PICT" 라는 청크들을 가지고 있고
청크는 앞에 4바이트의 크기가 붙어 총 8바이터 헤더로 구성된다고 한다.
항상 파일이 시작할때는 (청크 크기) ftypM4A 라고 시작하고
청크의 크기가 끝나면 새로운 청크가 오는 방식이다.
다시한번 HxD를 보면
맨 앞 4바이트 부터 틀렸다.
여기는 ftyp 의 청크 크기가 들어가야 한다.
다음으로 filetypeM4A 도 ftypM4A 로 고쳐줘야 한다.
이렇게 고쳐주면 된다.
먼저 ftypM4A 라고 고쳐주고
그다음 청크 moov 의 크기가 1c 부터 시작되니
ftyp 의 청크 크기는 00 00 00 1c 로 지정해주면 된다.(빅 엔디안)
이렇게 고치고 실행을 하면
오류문구 없이 실행이 된다.
그런데...
소리가 안나온다.. 뭔가 잘못됐나 보다
https://sysfrontier.com/en/2014/12/31/hello-world/
좀더 찾다보니 위 사이트를 찾았다.
m4a 고쳐주는 도구가 있었다.
x64 버전 다운로드 받으면 된다.
사이트에 나와있는 그대로 해본다.
먼저 mdat 청크를 찾아준 뒤
mdat 를 포함한 앞부분을 모두 삭제해준다.
그런다음 faad <파일명> 으로 확인해주고
이렇게 옵션을 줘서 실행시키면 된다.
그럼 .wav 파일이 하나 생기는데
이걸 실행시키면
어떤 여성분이 플래그를 한글자씩 불러준다.
받아적어서 제출하면 된다.
'워게임 > CTFlearn' 카테고리의 다른 글
[CTFlearn] Brute Force is Fun! - 포렌식 / HxD / Python (62) | 2023.04.23 |
---|---|
[CTFlearn] Skynet Is (Almost) Taking Over - 암호학 / RsaCtfTool (74) | 2023.04.20 |
[CTFlearn] Python Reversal - 프로그래밍 (56) | 2023.04.12 |
[CTFlearn] Is it the Flag? (JAVA) - 프로그래밍 / Python (69) | 2023.04.07 |
[CTFlearn] HailCaesar! - 포렌식 / ASCII Cipher (66) | 2023.04.02 |