워게임/CTFlearn

[CTFlearn] 07601 - 포렌식 / HxD / binwalk

SecurityMan 2022. 9. 2. 11:00

 

CTFlearn의 열여덟번째 문제

 

문제 제목이 07601 인데 이게 대체 뭘까 싶어서 검색해봤더니

 

 

미국 뉴저지의 우편번호라는 검색결과가 가장 많이 나온다.

 

우편번호가 영어로 zip code 인데 아마 zip 때문에 제목을 그렇게 붙였나보다.

 

반응형

 

 

문제에서 주어진 주소로 접속해보면

 

AGT.png 파일을 다운로드 받을 수 있다.

 

아메리카 갓 텔런트 캡쳐한 화면인데

 

 

HxD 프로그램을 이용애 AGT.png 파일을 열어보면

 

맨앞이 FF D8 FF E0 로 시작하는걸 볼 수 있다.

 

이렇게 파일 맨 앞에 써있는걸 파일 시그니처 라고 하는데

 

 

FF D8 FF E0 로 시작하는것은 JPG 파일의 특징이다.

 

주어진 파일은 PNG 파일인척 하는 JPG 파일이었던 것이다.

 

 

JPG 파일의 또다른 특징은

 

끝날때 무조건 FF D9 로 끝난다는 것이다.

 

HxD 에서 ctrl + f 를 눌러 FF D9 를 검색해서 찾아가보면

 

FF D9에서 파일이 끝나지 않고, 뒤에 데이터가 더 있는것을 볼 수 있다.

 

 

뒤에있는 데이터는 50 4B 03 04 로 시작하는데

 

 

이건 ZIP 파일의 시그니처이다.

 

JPG 파일 뒤에 ZIP 파일이 숨어있는것이다.

 

 

칼리 리눅스에서

 

binwalk -e AGT.png 명령어로 ZIP 파일을 추출할 수 있다.

 

추출한 데이터의 내용을 살펴보면

 

Secret Stuff \ Don't Open This  경로 아래에

 

I Warned You.jpeg 파일이 있는게 보인다.

 

 

I Warned You.jpeg 파일을 열어보려하면

 

파일이 깨졌는지 내용을 볼 수가 없다.

 

 

HxD로 열어보니

 

헤더부터가 FF D8 이 아닌게 많이 손상된듯 하다.

 

 

혹시몰라 ctf 로 검색해봤는데

 

abctf{ 로 시작하는 플래그 포맷이 중간에 숨어있는게 보였다.

 

abctf{dû$t1nš_D0jö}

 

요런 문자열이 들어있는데

 

MAC OS 에서 가져온 파일이라 그런지 이유는 잘 모르겠지만

 

글자 인코딩이 깨져있는것처럼 보였다.

 

 

해당 문자열의 16진수 값을 복사해서

 

CyberChef(https://gchq.github.io/CyberChef)에 넣은 다음

 

Text Encoding Brute Force 로 깔끔하게 정제해 줬다.

 

사실 이렇게 해도 완벽한 데이터가 안나오는데

 

눈치껏 적당히 알파벳으로 바꿔서 플래그를 제출해주면 된다.

반응형