SWING

defcon-Multimedia-파일에서 이미지를 찾아라!

오호츠크해 기단 2022. 8. 4. 23:54
728x90

파일에서 이미지를 찾아라!

사진은 gif인데 움직임도 없다. 또한 용량이 엄청 크다.

칼리 리눅스에서 binwalk로 확인해보니 파일 안에 JPEG, PNG, GIF 등이 존재하는 것을 다시 확인해볼 수 있다.

foremost는 데이터 복구를 위한 카빙 툴이다. 네트워크 패킷 데이터 추출, 악성코드 분석에 자주 쓰인다. foremost로 이미지를 추출해보았다.

바탕화면에 생긴 output 파일에 들어가보니 JPEG, PNG, GIF들이 파일명으로 있고 안에는 사진들이 있었다. 

audit.txt에 들어가보면 jpg 4장, gif 4장, png 4장으로 총 12장의 파일이 추출된 것을 볼 수 있다.

안에서 나온 사진들을 모두 합쳐보니 아래와 같은 이미지가 나왔는데 뭔가 깨진듯한 이미지였다. 그래서 HxD를 이용해서 다시 이미지를 하나씩 추출해보기로 했다.

HxD에 사진을 넣었을 때 헤더 시그니처에는 이상이 없다.

GIF 파일의 푸터 시그니처를 확인하기 위해서 GIF의 푸터 시그니처인 00 3B를 검색하는 도중에 PNG의 시그니처 값이 보이는 것을 확인할 수 있었다.

PNG와 JPEG의 헤더 시그니처들이 보인다. 이걸 보아서 GIF 파일에 PNG,  JPEG, BMP 등 여러 파일들이 들어있다는 것을 알 수 있다. foremost에서는 bmp 파일이 추출되지 않아서 이미지가 깨져보이는 것이었다.

png
jpg
bmp

[시그니처]

GIF 47 49 46 38 39 61 00 3B
PNG 89 50 4E 47 0D 0A 1A 0A 49 45 4E 44 AE 42 60 82
JPG FF E8 FF E0 FF D9
BMP 42 4D -

[범위]

gif1 000000
001B1E
png6 2AA300
2AAAB8
jpg11 553212
5577C4
png2 001B1F
0025FE
jpg7 2AAAB9
2AEEBA
bmp12 5577C5
7FA7FA
jpg3 0025FF
006807
bmp8 2AEEBB
551EF0
gif13 7FA7FB
7FB2BD
bmp4 006808
2A983D
gif9 551EF1
55285F
png14 7FB2BE
7FBEDB
gif5 2A983E
2AA2FF
png10 552860
553211
jpg15 7FBEDC
7FFF21

gif->png->jpg->bmp 순서로 시그니처가 나오는 것을 확인했고, 총 15개의 파일이 있다. 아래와 같은 방법으로 사진을 추출해준다.

 

위 사진들을 모두 합쳐주면 플래그가 나온다.

SECCON{0CT 21 2015 0728}