Disk Forensic #6 (A회사 보안팀은 내부직원...)
배점은 100점짜리 문제지만, 매우 까다로운 문제다...
사용해야 하는 도구도 많고, 시간도 좀 걸리면서 개인적으로 좀 난이도 있는 문제였다.
문제에서 제공하는 파일인 evidence.001 파일이 주어진다.
해당 파일을 분석하기 위해 FTK Imager 도구를 통해 파일을 분석하였다.
FTK Imager 다운로드 : https://accessdata.com/product-download/ftk-imager-version-4-2-1
파일 타입은 Image File을 선택한다.
NTFS 파일 시스템 하위 디렉토리로 10개나 되는 폴더 디렉토리 구조를 확인하였다.
위 화면과 같이 10개의 폴더 안에는 app의 어플리케이션 이름으로 된 폴더가 존재한다.
그 중에서 Dropbox.app 폴더가 이번 문제의 중요 폴더이다.
Dropbox 어플리케이션은 클라우드 프로그램으로 업로드에 사용할 수 있는 기능을 제공한다.
따라서 Dropbox.app 폴더의 상위 디렉토리를 분석하였다.
해당 폴더를 분석하던 도중, Library/Caches/Snapshots/com.getdropbox.Dropbox 디렉토리에서 다음과 같은 png 파일을 발견하여 확인하였다.
자세히 확인해보면 해당 파일에는 업로드 된 것 같이 보이는 pdf 파일을 보여주는 캡처 파일로 확인된다.
업로드 되어 유출된 내부 문서로 보이는 S-Companysecurity.pdf 파일에 대해 더 알아보기 위해 다른 폴더들도 분석하였다.
이번에는 Library/Caches 디렉토리에 cache.db 파일이 있다.
cache.db 파일은 어플리케이션에 대한 캐시 정보를 담고 있는 파일로, Dropbox.app이 실행되었을 때의 정보가 담겨져 있을 것이라 추측할 수 있다.
cache.db 파일을 클릭한 다음, 마우스 우클릭하여 Export Files 기능으로 파일 추출이 가능하다.
이제 해당 db 정보를 확인하기 위해 SQLite 데이터베이스 파일의 내용과 구조를 확인할 수 있는 DB Browser for SQLite 도구를 사용하여 분석한다.
DB Browser for SQLite 다운로드 : https://sqlitebrowser.org/dl/
테이블 구조를 살펴보면 data_cache와 local_files_cache가 있다.
이 중에서 data_cache 테이블을 데이터 보기 기능을 통해 확인해보면 다음과 같다.
총 5가지의 정보들 중에, 4번째인 tim_folder에 관한 plist 파일 내용을 확인할 수 있었다.
plist 파일은 OS, X, iOS 프로그래밍에 이용되는 객체 직렬화 파일이다.
사용자 설정이나 어플리케이션 정보 등이 저장되며, 위 데이터는 Base64로 인코딩 된 내용으로 확인된다.
위 Base64로 인코딩 된 plist 파일의 내용을 확인할 수 있는 기능을 제공하는 Plist Editor Pro를 이용하여 분석하였다.
Plist Editor Pro 다운로드 : https://softfamous.com/plist-editor-pro/
Plist Editor를 실행 후에, List View로 들어가서 Root를 클릭하면 자세한 정보를 볼 수 있다.
위와 같이 Base64 인코딩 데이터가 디코딩 되어 나온다.
문제를 해결하기 위해, 검색 기능(Ctrl + F)을 통해 S-Companysecurity.pdf를 검색한다.
위 화면과 같이 S-Companysecurity.pdf 문자열 위로 두 개의 NS.time이라는 시간 정보로 보이는 항목이 확인된다.
두 개의 NS.time은 문제에서 제시한 업로드 시간과 수정 시간의 정보로 추측해볼 수 있다.
또한, 2.1MB 문자열을 통해 파일의 크기도 확인 가능하다.
이제 시간 정보에 대한 자세한 내용 확인을 위해 다시 FTK Imager에서 상위 폴더를 더 분석한다.
위에서 분석했던 상위 폴더에서 Document 디렉토리 안에 Dropbox.sqlite라는 파일을 발견하였다.
확장자가 sqlite이므로 DB Browser for SQLite 도구를 통해 분석이 가능하다.
테이블을 확인해보면, ZCACHEDFILE / Z_METADATA / Z_PRIMARYKEY 이렇게 3가지의 테이블이 존재한다.
여기서 중요한 것은, ZCACHEDFILE 테이블의 여러 칼럼 내용을 확인하면 S-Companysecurity.pdf의 시간 정보 확인이 가능하다.
위에서 확인하였던 378291354를 확인하였다.
그리고 ZPATH에서 S-Companysecurity.pdf 파일의 정보가 맞는 것은 확인하였다.
정리해보면, 수정 시간이 업로드 시간 이전일 수 밖에 없기 때문에 위에 보이는 378291354가 업로드 시간이며, 위에서 확인한 357554798이 수정 시간인 것으로 확인된다.
이제 위 숫자들을 문제에서 요구하는 UTC+09:00 시간으로 구해주면 플래그로 입력할 수 있다. (힘들다...)
위 숫자를 시간으로 변경하기 위해 Dcode 프로그램을 사용하였다.
Dcode 다운로드 : https://www.digital-detective.net/dcode/
Decode Format을 MAC Time으로 설정한 후에, value to Decode에 해당 숫자를 입력한 다음, Decode 버튼을 눌러주면 해당 년도, 날짜, 시간 등 확인이 가능하다.
정리하자면, 수정 시간은 2012/05/01 17:46:38이고, 업로드 시간은 2012/12/27 17:55:54 그리고 파일은 S-Companysecurity.pdf 파일이며, 파일 크기는 2.1MB라는 것을 확인하였다.
위 내용을 플래그 포맷에 맞게 입력하시면 문제를 해결할 수 있다.
(100점 문제 치고는 좀 까다롭고, 시간 소비가 큰 문제였다...)
# Reference
'Digital Forensics > CTF-D' 카테고리의 다른 글
[Disk Forensic] Tommy는 프로그램을 작성했습니다. (0) | 2020.03.05 |
---|---|
[Disk Forensic] 윈도우 작업 관리자에서 우클릭... (0) | 2020.03.05 |
[Disk Forensic] 판교 테크노밸리 K기업에서 #1, #2 (0) | 2020.03.02 |
[Disk Forensic] 이벤트 예약 웹사이트를 운영하고 #A, #B, #C (0) | 2020.03.02 |
[Memory Forensic] GrrCON 2015 #25 (0) | 2020.02.24 |