suninatas 21번 문제 FORENSICS

2017. 12. 31. 04:430x02 Reverse Engineer/0x03. Etc

728x90

What is a Solution Key?

Is it a Puzzle ? 


키는 무엇일까요~ 이것은 퍼즐인가요? 라고 한다.


이것도 재밌을 것 같다 여기 문제 은근 재밌다. 밤 새 풀고있다.


프레임 소스에서 이미지를 추출하였다.


ㅋㅋㅋㅋ 기가막히게 자로 키 값을 숨겨두었다. 


그렇다면 "스테가노그래피" 하면 된다.



jpg의 파일시그니처 FF D8 FF E1을 서치해본다.


꽤 많이 있다. 그렇다면 JPG의 마지막은 어떻게 되는지 다른 JPG 파일을 열어서 확인해보자.


FF D9로 끝남을 보았다. 


exe와 같은 바이너리는 널 패딩이 적용되기도 하는데 다행히 jpg는 널 패딩이 없어서 분석하기가 수월했다.


오프셋을 적으면서 시도하자. 헷갈리면 안되니까 


기준은 파일시그니처이다.


첫번째 사진 

offset : 0x00 ~ 


두번째 사진

offset: 0x17D8E


세번째 사진

offset : 0x2FE5A


네번째 사진

offset : 0x47CF5


음 너무많은데... 제대로 하고 있는지 알기 위해 두번째 사진으로 "추정되는" offset을 추출해보았다.


실패 했다. 그 이유는 내가 한가지 몰랐던 사실이 있다. 


하나의 파일에 FF D8 FF E1은 많이 존재한다는 것이다. 삽질을 통해 새로운 개념을 하나 더 숙지했다. 


그렇다면 JFIF 뒤에 있는 Exif라는 문자열을 테스트용 jpg에서 검색해보기로 했다.


검색해 본 결과 하나밖에 존재하지 않는다.


문제의 사진은 15개 정도가 존재한다 뜨헉.. 


오늘은 jpg 공부할 수 있는 날이 되어버린 것이다.


EXIF : Exchangeable Image File Format 

사진 데이터 , 기종, 날짜, 크기 , 노출, 장소 정보 저장


음 그렇다면, 파일시그니처 + EXIF 전체를 묶어서 검색해보면 어떻게 될까에 대해 생각해보았다. 왜냐하면 15개의 사진을 굳이 넣어두진 않았을 테니.. 출제자도 사람인데 귀찮을 것이다.


전체 다 검색하니 5개 나온다. 지금부터 추출 들어간다.


첫번째는 웹 사이트에서 본 사진 올바르게 추출 되었다.


헷갈리지 않기 위해 원본 복사 후 복사본으로 포렌식에 들어갔다. 포렌식 배울 때 분석은 복사본으로 하는 것이라 배웠다 흐흐 


복사 본이니까 맘대로 오프셋 지워도 상관없다. 그렇기에 첫 번째 사진을 추출 후 첫 번째 사진에 해당하는 오프셋을 다 지웠다.


오잉.... 왜 다 같지????? 


리눅스 foremost로 진행해보았다. 


포렌식 실력을 더 키워야겠다 ㅋㅋㅋㅋ 


suninatas 풀면서 지금까지 제일오랜시간이걸리는 문제다. 


지금은 vm을 키고 있고 시간은 새벽 4시 35분을 넘었다. 새해 전날에 해킹공부하는게 썩 나쁘진않다 ^^ 


으아 설상가상으로 갑자기 vm에서 네트워크가 안되네 잠시 쉴 겸 재부팅 ~ 





추가적으로 jpg 사진을 보니 SAMGSUNG SHW-M110S 기종을 이용해서 사진을 찍은것을 확인하였다.(이게 EXIF 때문인가보다)

여담으로 모든 휴대폰사진은 시간과 스마트폰 기종이 데이터에 남기 때문에 밖에서 나쁜짓하지말자(예를 들어 도촬)





'0x02 Reverse Engineer > 0x03. Etc' 카테고리의 다른 글

suninatas 29번 FORENSICS  (0) 2018.01.02
suninatas 28번 FORENSICS  (0) 2018.01.02
suninatas FORENSICS 19번 문제  (0) 2017.12.31
suninatas 18번 FORENSICS  (0) 2017.12.31
suninatas FORENSIC 15  (0) 2017.12.31