워게임/CTFlearn

[CTFlearn] Tux! - 포렌식 / HxD / Binwalk

SecurityMan 2022. 11. 2. 11:00

 

CTFlearn의 서른네번째 문제

 

또다시 나온 그림파일 포렌식 문제이다.

 

반응형

 

https://hackingstudypad.tistory.com/266

https://hackingstudypad.tistory.com/288

https://hackingstudypad.tistory.com/305

 

조금씩 다르긴 하지만 이전에 비슷한 문제를 많이 풀이했었다.

 

이번 문제는 쪼금 더 꼬아놓은 문제이다.

 

 

이게 주어진 Tux.jpg 파일이다.

 

귀어운 펭귄의 모습이 보이는데

 

얘는 턱스라고 부르는 리눅스 공식 마스코트 펭귄이다.

 

 

HxD 프로그램을 이용해 Tux.jpg 파일을 열어보았다.

 

열자마자 바로 눈에 띄는 부분이 있는데,

 

두번째 줄부터 시작되는

 

ICAgICAgUGFzc3dvcmQ6IExpbnV4MTIzNDUK

 

라는 값이다.

 

일단 생긴게 딱 봐도 Base64 인코딩한 값인거 같아서 디코딩을 해 보았다.

 

 

CyberChef(https://gchq.github.io/CyberChef)에서 디코딩을 해 봤더니

 

Password : Linux12345 라는 값이 나온다.

 

Flag라고 쓰지 않고 Password 라고 써놓은걸 보니

 

뭔가 한가지 더 작업을 해야하는듯 하다.

 

 

HxD에서 스크롤을 내려 맨 아래부분으로 이동해봤다.

 

JPG 파일은 항상 FF D9 라는 값으로 끝난다.

파일에서 FF D9 값이 나오면, 그 뒤에는 아무런 값이 없어야 정상이다.

 

그런데 이 파일은 FF D9 다음에

 

50 4B 03 04 로 시작하는 데이터가 오고있는것을 볼 수 있다.

 

이렇게 50 4B 03 04 로 시작하는 파일은 ZIP 확장자를 가지는 파일이다.

 

이런것을 파일 시그니처 라고 한다.

 

 

리눅스 환경에서 binwalk 명령어를 사용해 파일을 분석해보면

 

JPEG image data 뒤에

 

Zip archive data 가 오는것을 볼 수 있다.

 

 

binwalk -e 옵션을 줘서

 

해당 데이터들을 추출할 수 있다.

 

 

추출하면 이렇게 zip 파일이 하나 생긴다.

 

 

압축을 풀려고 하면 이렇게 비밀번호를 요구하는데

 

아까 파일 앞쪽에서 발견했던 비밀번호를 넣어주면 된다.

 

 

압축을 풀면 flag 라는 파일이 생성되는데

 

그 안에 플래그가 적혀있는것을 볼 수 있다.

반응형