forensic

xcz.kr 13번 문제풀이

H4NU 2017. 9. 11. 20:05


Title

Network Recovery!


Description

Key Format = lowercase(md5("key"))

Download Here

▣ 문제 개요

문제를 보면 네트워크 복구 라는 타이틀이 주어져있고 키포맷을 살펴보면 키값을 구한 뒤 md5로 인코딩을 진행한 후 소문자로 바꿔주면 문제가 해결될 것으로 추측된다.


[그림 1-1]

문제를 다운받으면 network_recover 파일이 생성되고 확장자가 명시되어있지않으니 winhex로 열어보자.


[그림 1-2]

Dumpcap은 와이어샤크 패킷파일(pcap)이다. 해당 파일을 wireshark로 열어보니 약 1000개쯤 패킷파일을 확인할 수 있다.


[그림 1-3]

패킷을 살펴보는중 문제와 연관되있을거라 생각되는 패킷을 하나 발견하였다. 상세하게 확인해보기 위해 Fllow기능을 이용해 열어보자.



[그림 1-4]

열어보면 Secret page 타이틀을 가지고 링크가 걸려있는 것을 확인할 수 있다. body 태그부분에 3개의 링크가 걸려있다. 링크에 걸려있는 treasure1,2,3번의 파일을 찾아보자.


[그림 1-5]

protocol로 정렬하여 HTTP파일만 찾아보던중 [그림1-4]에서 확인한 링크파일 3개를 발견하였다. 해당 패킷 파일을 확인해보자.


[그림 1-6]

패킷을 열어보면 PNG확장자를 가진 이미지파일이다. winhex로 시그니처를 확인해보기 위해 파일을 추출해보자.

(FILE > export objects > HTTP)로 파일을 export시켜줄 경로를 지정해주면 된다.


[그림 1-7] export 기능


[그림 1-8]

3개의 파일을 모두 export시켰다. winhex로 파일을 확인해보자.


[그림 1-9] treasure1


[그림 1-10] treasure2


[그림 1-11] treasure3


treasure1

PNG 헤더 시그니처를 확인 가능

 treasure2  

offset값에 00이 들어가있다. 

 treasure3

PNG 푸터 시그니처를 확인가능 

[표 1-1]

위 표를 보면 각각의 파일이 가지고있는 시그니처가 다른것으로 보아 3개의 파일을 나눠서 저장된 것으로 추측된다. 이미지 확인을 위해 3개의 파일을 다시 하나의 파일로 만들어줘서 확인해보자.



[그림 1-12]

바이너리 파일을 합치는 방법은 여러가지가 있는데 그중에 윈도우 CMD에서 copy /B옵션을 사용하여 파일을 합쳐보았다.


[그림 1-13]

treasure.png 파일이 생성되었고 확인해보니 키값으로 보이는 문자열이 적혀있다.


[그림 1-14]

키포맷을 보면 키값을 md5로 인코딩한후 소문자로 변환해주라는 조건이 제시되어있다. python을 이용해 png파일에서 확인한 문자열을 조건에 맞게 변환시켜보았다.


[그림 1-15]

해당 키값을 인증해준결과 문제가 해결되었다.