CTF | wargame

codgate 2013 - forensic 100 (sqlite분석, plist분석)

nopdata 2017. 3. 30. 00:01
keyword : sqlite분석, plist분석

내부문서를 외부로 업로드한 흔적을 발견 -> 스마트폰의 정보를 획득.
따라서 제공되는 파일은 스마트폰의 데이터 파일이다. 파일시스템은 NTFS이며 root하위를 보다보면 아래와 같은 경로를 확인할 수 있다.


외부로 업로드를 했다는 것은 일반 스마트폰 웹 브라우저로도 가능하지만, 특수 어플리케이션을 이용할 수 있다. dropbox는 유명한 웹 공유 프로그램이므로 이 dropbox를 대상으로 조사를 해 보면 된다.

Documents\Dropbox.sqlite의 ZCASHEDFILE 테이블을 보면 위와 같은 데이터들을 확인할 수 있다.
업로드한 흔적이 남는데 여기서 보이는 것이 tim_folder 하위의 S-Companysecurity.pdf라는 파일이 수상하게 보인다. 내부 문서였다고 하였으므로 문제 출제시 이와 같은 파일명을 사용 한 것이다.

여기서 upload time도 구할 수 있다. 업로드 캐시가 모인 곳이므로 여기서의 modifieddate가 upload date가 되는 것이다. 따라서 업로드 시간은 378291354가 된다.
이 값을 TimeLord를 이용하여 변환하려 하였으나 잘 되지 않아 DCode를 이용하였다. 변환 시간이 MAC:Absolute이기 때문


이제 modified date를 찾아야 한다. 이는 Library\Caches\cache.db의 data_cache테이블을 보면 된다. 사실 위에서 구한 과정이 여기 다 들어있다.

보면 각 업로드를 했던 경로에 따라 데이터가 들어 있다. 이 데이터들을 꺼내서 확인을 해 보아야 한다. 해당 데이터들을 base64로 인코딩이 되어 있다.
디코딩을 하면 bplist라는 시그니쳐를 볼 수 있는데 이는 OS X에서 사용하는 plist파일이다. 일종의 데이터 표현 방식 중 하나이다.
일반 notepad로는 확인이 불가능 하기 때문에 plist editor를 사용하였다.

찾고자 하는 S-Companysecurity.pdf의 정보를 보면 위와 같다. NS.time이 두개가 나오는데 하나는 위에서 찾았던 modified time이 되고 하나는 upload time이 된다.
정답 형식에 10MB라고 되어있어 특이하다고 생각하였는데 여기를 보면 이해가 간다. 파일의 크기가 뒷 부분은 생략한 채 2.1MB로 표기되기 때문이다.
이 정보를 가지고 정답 형식에 맞추어 답을 알아낼 수 있다.

Answer : 2012-12-27 17:55:54_2012-05-01 17:46:38_S-Companysecurity.pdf_2.1MB