TH3 6R3@T H@CK
[Multimedia] 타이틀 참조 본문
[문제]

[풀이]
문제 파일을 다운받아 확인해보면 프레임 마다 QRcode가 계속 달라진다.

Animated GIF Frame Extractor 툴을 이용하여 프레임 개수를 확인해보니

총 88개의 프레임이 추출되는 것을 확인 할 수 있다.

해당 QRcode 값을 일일이 확인하기에는 프레임 개수가 너무 많아,
88개 프레임의 값을 추출하는 python 코드를 직접 작성했다.
(※ https://blog.naver.com/nkj2001/222748501684 참고하여 코드 응용함.)

중복을 제외하고 나열해보면 결과는 다음과 같다.
two parts all lower add 9447 { to start and { to the end first looks like '7do' cut off 450ms seconds like https://www.youtube.com/watch?v=5xxTkB5bGy4 like faucet script


youtube URL이 포함되어 있어 영상을 확인해보면 탭댄스를 추는 한 남성을 볼 수 있다.
무엇을 의미하는지 모르겠어서 일단 넘겼다.

우선 여기서 Hint를 다시 확인해보면
Hint 1: Flag는 두 부분의 조합입니다.
→ two parts all lower add 9447{to start ~ 이것과 관련 있는 것 같다.
Hint 2: 이 문제의 경우, QR중 하나가 잘못되었습니다. ‘{’ 대신 ‘}’로 읽어야 합니다.
→ two parts all lower add 9447 { to start and { to the end ~ 여기서 { 를 }로 읽게되면
two parts all lower add 9447 { to start and } to the end ~
Hint 3: 타이밍이 중요합니다. 타이밍을 사용하는 코드는 무엇입니까?
→ 아무래도 gif 파일이니깐 사진이 넘어가는 시간을 의미하는 것 같다.
구글링을 통해 알아낸 identify -format "%T\n” 명령어와 옵션을 이용하여
각 프레임별 시간을 확인해보니, 40과 50의 반복임을 알 수 있다.

ASCII 코드표를 참고하면 40은 문자로 “(”, 50은 문자로 “2”인데
(와 2의 나열은 아무래도 아닌 것 같아 다시 구글링 해보니
40을 .으로 50을 -로 변환하여 모스부호를 만들라는 힌트를 얻었다.
(tr -d "0\n"으로 40을 4, 50을 5로 자른 후 변환해서 출력)

출력된 모스부호는 다음과 같다.
..-----...-..--------...-..-----...-..-----...-..--------...-..--------...-..--------…
모스부호표를 참고해 모스부호를 번역해보면
DO7DOO7DO7DO7DOO7DOO7DOO7 이라는 값이 나온다.

그래서 flag가 9447{DO7DOO7DO7DO7DOO7DOO7DOO7}라고 생각하고 입력해봤지만
계속 실패했다. (소문자로 변경해도 마찬가지)
아무래도 Hint2와 Hint3는 해결됐지만, Hint1이 해결되지 않아 그런 것 같다.
아까 해결하지 못한 탭댄스 영상에서 힌트를 추론해보면
Tap dance와 관련된 암호화 기법 중 Tab Code라는 것이 있다. (구글링)
▶ 참고: Tap code - Wikipedia
tab code table을 보면 행과 열, 총 두 개의 값이 필요하다.

전에 알아낸 88개 QRcode 결과값이 겹치는 횟수를 정리한 후
→ 1 4 3 4 4 4 1 4 3 4 3 4 4 4 1 4 3 4 4 4 1 4 5 4 4 4
2개씩 묶어보면 다음과 같고
→ 14 34 44 14 34 34 44 14 34 44 14 54 44
tab code table을 참고하여 문자로 변환하면
→ DOTDOOTDOTDYT
값을 얻을 수 있다.
최종적으로 ‘Hint 1: Flag는 두 부분의 조합입니다.’ 를 참고하여
DO7DOO7DO7DO7DOO7DOO7DOO7과 DOTDOOTDOTDYT를 조합하여 flag를 구해보면
flag는 9447{do7doo7do7do7doo7doo7doo7dotdootdotdyt}이다.
[Flag]
9447{do7doo7do7do7doo7doo7doo7dotdootdotdyt}

# reference
'CTF' 카테고리의 다른 글
[Write-up] pico CTF 2022 (0) | 2022.11.20 |
---|---|
[Disk] 우리는 이 바이너리가... (0) | 2022.11.20 |
[Network] 조용할수록 더 귀를... (0) | 2022.11.19 |
[Multimedia] Find Key(docx) (0) | 2022.11.19 |
[Disk] 제 드라이브에 catz 사진이 몇 장 있습니다! (0) | 2022.11.19 |