CTF-D Write-up

챠챠비둘기·2023년 3월 28일
0

방학 스터디(포렌식)

목록 보기
14/22

포렌식

천마디 말보다 사진 한 장이 낫습니다

일단 파일을 다운받아보자.

파일이 뭔가 많이 들어있다. 일단 압축을 풀어보자.

헐.....
Hint에서, Grep은 우리의 친구라고 했다. grep이 무엇인지 궁금해서 인터넷에 찾아보니,

grep 명령어
리눅스에서 grep 명령어는 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력해주는 명령어입니다. 특히 tail이나 ls 등 다양한 명령어와 조합하여 응용되는 경우가 많아서 이 grep명령어는 리눅스에서 능숙하게 사용할 줄 알아야 하는 기본 명령어입니다.

리눅스 shell 명령어다. 리눅스에서 파일을 찾아야 하는건가...?
kali linux에서 파일을 열어서 분석해 보도록 하자.
일단 kali linux에서 다운받은 압축파일을 풀고,

file * | grep JPEG

위의 명령어를 입력했더니,

사진파일을 손쉽게 발견할 수 있었다.
압축파일에서 위의 이름을 가진 사진 파일을 찾아보니

플래그를 발견했다.

두번째 문제

문장이 길어서 걍 번호 붙임ㅋ

일단 내용만 보았을 때는 무슨 의미인지 모르겠다. 파일을 다운받아보자.

확장자 없는 파일이 뜬다. 뭘까?
파일을 분석하기 위해 hxd를 켜보자.

파일의 시그니처를 보니, 확장파일인 것 같다. 확장파일 안에는 png파일이 들어있는 것 같다.

후터 시그니처를 살펴보니, 압축파일 안에는 3개의 파일이 들어있는 것 같다.
확장자를 .zip으로 바꿔준 후, 압축을 풀어보았다.

압축을 풀었더니, 사진파일에는 그 어떠한 단서도 발견할 수 없었다.(...X)
사진파일을 hxd를 통해 분석해 보았다. 대충 파일의 구조를 보고 이상한 점이 없으면 스테가노그래피 툴을 이용해서 사진을 분석해 볼 생각이다.

???
분명 확장자가 .png인 파일인데, png 파일의 헤더 시그니처가 없다.

헤더 시그니처가 없는 불안정한 파일이고, 헤더 시그니처를 삽입해서 온전한 사진 파일을 얻는 문제인 것 같다. 위에서 x라고 되어있는 사진은 사진이 그런게 아니라 깨져서 그런것 같다(...)
89 50 4E 47을 앞에 삽입해 보자.

사진 파일을 다시 열어보자.

못생긴 트롤 사진이 나온다.
바지 부분에 easyctf{troll3d} 라고 적혀져 있는 부분이 플래그 값인 듯 하다.

정답!

세 번째 문제


사진 파일 포렌식 문제이다.
힌트를 보아하니, hxd로 헥스값을 변경하여 사진의 크기를 변경해 플래그 값을 찾아내는 문제인 것 같다. 물론 아닐수도 있다😅
일단 파일을 다운받은 뒤, hxd로 파일의 구조를 분석해 보자.


그냥 평범한 튤립 사진인데...?
hxd를 켜보자.

png 시그니처에는 어떤 문제가 없어 보인다.

후터 시그니처도 딱히....
가로 세로의 길이를 바꿔주었다.


....별 차이가 없다.
위에 힌트에서 낮. 선명한 시야가 주어져서 파일의 크기를 변경하는 문제인 줄 알았는데, 그게 아니라 아무래도 스테가노그래피(사진 속에 암호가 숨겨져 있음) 문제인 듯 하다. 애초에 힌트에서도 모두 이미지 속에 있다고 했는데...(이런)
링크텍스트
forensically라는, 사진 분석 사이트로 들어가서 사진을 한번 분석해 보자.

histogram equalization으로 분석하니, 왼쪽 상단 위에 플래그 값이 있는 걸 발견했다.

정답
처음엔 사진속 플래그 값이 잘 안보여, hall인지 hail인지 헷갈려서 계속 못 풀고 있었다.
생각보다 간단한 문제😊 hxd 파일 구조 분석까지 갈 필요는 없었다.

profile
개발 + 보안

0개의 댓글