Forensics 문제 풀이에 기본이 되는 파일 시그니처에 대해 알아보자.
png, jpg, gif 등 다양한 파일 형식이 존재한다. 이들은 각각 반드시 포함하고 있는 특정 바이트들이 존재하며, 이를 파일 시그니처라고 부른다. 파일 시그니처의 위치와 길이, 모양은 형식별로 다르고, Hex Editor로 열었을 때 확인할 수 있다. 이중에서도 파일의 처음에만 존재하는 시그니처는 헤더(Header)시그니처, 파일의 마지막에만 존재하는 시그니처는 푸터(Footer)시그니처라고 부른다.
Hex Editor 프로그램은 여러가지가 있다. 윈도우에서는 HxD를, MAC에서는 Hex Fiend 또는 UltraHex를 권장한다.
임의의 png파일을 UltraHex로 열었다. 푸터 시그니처가 알고 있던 png의 푸터 시그니처와 일치함을 확인할 수 있다.
대표적인 파일 시그니처
PNG : 89 50 4E 47 0D 0A 1A 0A ~ 49 45 4E 44 AE 42 60 82
JPG : FF D8 FF E0 / FF D8 FF E1 / FF D8 FF DB ~ FF D9
BMP : 42 4D
PDF : 25 50 44 46
GIF : 47 49 46 38
WAV : 52 49 46 46
ZIP : 50 4B 03 04
PPTX : 50 4B 03 04 14 00 06 00 MP3 : 49 44 33
따라서 파일 시그니처를 탐색하는 것으로 숨겨진 파일을 찾을 수 있다. 예를 들어 받은 파일 속에 JPG파일이 숨어있다면, 파일 어딘가엔 FF D8 FF E0 가 포함되어있다.
'[CTF]' 카테고리의 다른 글
[CTF] png 파일 속에 숨은 jpg 파일 찾기 (1) | 2023.10.01 |
---|---|
[CTF] png 파일 속에 jpg 파일 숨기기 (steganography) (0) | 2023.10.01 |
[DREAMHACK] rev-basic 4~6 (0) | 2023.09.19 |
[DREAMHACK] rev-basic 1~3 (0) | 2023.09.11 |
[DREAMHACK] darimchal_001 (0) | 2023.09.09 |