파일에서 이미지를 찾아라!
사진은 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 파일이 추출되지 않아서 이미지가 깨져보이는 것이었다.
[시그니처]
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}
'SWING' 카테고리의 다른 글
WeChall Traning: LSB (0) | 2022.08.07 |
---|---|
스테가노그래피 02 (0) | 2022.08.05 |
스테가노그래피 01 (0) | 2022.08.05 |
RC4 알고리즘 암호화 (0) | 2022.07.03 |