ubuntu 22.04 환경에서 풀이를 진행하였습니다.
압축 파일을 풀어보면 1000개의 파일이 나옵니다.
이 중에서 JPEG 파일을 찾아줘야 하는 문제입니다.
리눅스를 활용해서 풀 수 있습니다.
file, awk, uniq 명령어를 사용해서 JPEG 파일을 찾아줍니다.
먼저 file 명령어를 사용하게 되면 2번째 필드에 파일 유형이 나오게 됩니다.
$ file ./0D3YWtDa68xjY3Oz
./0D3YWtDa68xjY3Oz: ASCII text, with very long lines (3376)
awk를 사용해서 2번째 필드의 값만 뽑아낼 수 있습니다.
$ file ./0D3YWtDa68xjY3Oz | awk '{print $2}'
ASCII
file 명령어의 인자로 * 문자를 사용해 폴더 내 전체 파일을 검사할 수 있습니다.
또한 uniq 명령어의 -c 옵션으로 같은 파일유형을 카운트 할 수 있습니다.
$ file * | awk '{print $2}' | uniq -c
403 ASCII
1 MGR
86 ASCII
1 JPEG
171 ASCII
1 Arhangel
59 ASCII
1 Clarion
57 ASCII
1 MGR
219 ASCII
좀 더 깔끔하게 출력하고 싶다면
sort 명령어로 awk의 결과를 정렬한 뒤 카운트 해주면 됩니다.
$ file * | awk '{print $2}' | sort | uniq -c
995 ASCII
1 Arhangel
1 Clarion
1 JPEG
2 MGR
JPEG인 파일은 1개입니다.
해당 파일을 찾기 위해 특정 문자열을 찾아낼 수 있는 grep 명령을 사용합니다.
$ file * | grep 'JPEG'
UgeVjTlmZjNFvULk: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 266x71, components 3
해당 파일의 확장자를 JPEG으로 바꿔주고 열어보면
플래그를 얻을 수 있습니다.
'write-up(forensic) > ctf-d' 카테고리의 다른 글
[ctf-d] 내 친구 Mich는 이 멋진 튤립… write-up (0) | 2023.02.09 |
---|---|
[ctf-d] 저는 이 파일이 내 친구와… write-up (0) | 2023.02.08 |
[ctf-d] Wota write-up (0) | 2023.02.08 |
[ctf-d] 호레이쇼가 플래그를 보며… write-up (0) | 2023.02.08 |
[ctf-d] 원래 의미가 없는 것들도… write-up (0) | 2023.02.07 |