다음과 같은 문제이다. 뭐지? 해서 파일을 다운받고 zip을 열어보니 1000개의 파일들이 있었다. 이를 모두 hxd로 열어서 jpg 파일을 찾아봐도 좋지만... 현실적으로 힘들다.
이에 아래 사진 처럼 칼리리눅스에 내장되어 있는 binwalk와 힌트에서 주어진 grep을 사용하기로 하였다. binwalk은 대표적인 펌웨어 분석 툴이다. 펌웨어 분석 뿐만 아니라 포렌식 시 파일 카빙 등에 사용 할 수 있는 유용한 툴이다. binwalk에 옵션이 없다면 파일의 시그니처를 확인해준다. 이 결과를 파이프를 통해서 grep으로 넘겨준다 이후 JPEG 단어가 들어 있는 줄을 찾는다 A 옵션은 단어가 포함된 줄 아래로 x만큼 출력 B 옵션은 단어가 포함된 줄 위로 x 만큼 출력이다.
결국 예시에서 보면 위아래 JPEG 단어를 기준으로 15줄씩 출력된다.
binwalk 설명보러가기
그 결과 jpeg 파일이 UgeVjlmZjNFvULK 파일임을 알 수 있다.
파일 확장자를 jpg로 바꾸면 아래와 같은 flag가 들어있는 파일을 구할 수 있다.
정답 : easyctf{it_must_be_pretty_hard_reading_this}
출제 요지 : 아마도 binwalk라는 도구의 사용법 및 grep의 기본적이 사용법 숙지를 원하는 것 같다.