본문 바로가기

4-6. 2022-1 심화 스터디/디지털 포렌식 챌린지(워게임) 문제 풀이

[2022. 05. 21] [DigitalForensic] with CTF 디스크 문제 풀이

Tommy는 프로그램을 작성했습니다.

 

파일을 HxD로 열고, Key Format을 입력했더니 플래그를 바로 확인할 수 있었다.

 

h4ck1t{T0mmy_g0t_h1s_Gun}



저희는 디스크 이미지를 찾았습니다.

 

파일이 손상되어 있어서 그런지, FTK Imager로는 디스크를 열어도 아무 소득을 얻을 수 없었다.

 

일단 디스크 이미지를 HxD를 열어 보았다. 열었더니 위와 같이 출력되는 것을 확인할 수 있었다.

 

null밖에 없어서 스크롤을 쭉 내리고 보니, jfif 헤더 시그니처(FF D8 FF E0)을 발견할 수 있었다. 위에 있는 내용이 다 쓰레기 값일 것 같아 시작부터 00140400 전까지 전부 지우고, FTK Imager로 다시 열어 보았다.

 

Flag_gooselings_cant_drive

정말 파일 시스템 없이 해결할 수 있었다.

 

A회사 보안팀은 내부직원…

디스크 복구 실습을 할 때 001 파일을 FTK Imager로 열었던 기억이 나서 한번 열어 보았다.

 

열었더니 다음과 같이 엄청난 양의 파일이 들어 있었다. root 디렉토리에 있는 매우 긴 이름의 디렉토리에 하나씩 들어가 보니, 각각의 디렉토리가 하나의 앱의 정보를 저장한다는 것을 알게 되었다. 따라서 이 직원의 휴대폰에 저장되어 있는 앱을 정리하면 아래와 같다.

 

Weather, CGV2, CNN-iPhone, Podcasts, Dropbox, WebViewService, HousekeepingLog, MyPainting, HarooNotes, dayalbumlite

 

내부 문서를 외부로 유출했다고 하니 파일을 올리기 좋은 Dropbox 디렉토리를 탐색해 보아야 할 것 같다.

 

탐색을 통해 업로드 흔적이 남아 있는 파일을 찾을 수 있었다! Dropbox 디렉토리의 Library/Caches/Snapshots/com.getdropbox.Dropbox에서 찾은 이미지 파일은 다음과 같다. S-Companysecurity.pdf를 2012년 12월 27일 17시 55분에 업로드한 것을 확인할 수 있었다. 지금까지 알아낸 정보로 Key Format을 채우면 다음과 같다. 

 

2012/12/27&17:55:00_0000/00/00&00:00:00_S-Companysecurity.pdf_2.1MB

 

이제 굵게 표시된 부분만 채우면 된다! Dropbox 디렉토리 내에서 db 파일을 보는 방법을 잘 몰라서 구글의 도움을 받았다…

 

캐시 파일이 남아 있는 cache.db를 추출해 SQLite에 집어넣고 실행시켜 볼 것이다.

 

 

tim_folder에 시간에 대한 정보가 저장되어 있을 것 같아, 데이터를 추출한 후 plist editor로 확인해 보았다. 

NS.time 중 느린 것이 업로드 시간, 조금 더 이른 것이 수정 시간이 될 것이다. DCode를 통해 시각을 확인해 보면 업로드 시간과 수정 시간을 다음과 같이 알 수 있다.

따라서 수정 시각은 2012년 5월 1일 17시 46분 38초이고, 업로드 시각은 2012년 12월 27일 17시 55분 54초가 된다. 이를 바탕으로 완성된 플래그는 다음과 같다.

 

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

 

이번 문제는 정말 너무 어려워서 구글의 도움을 조금 많이 받았다… ㅎㅎ

 

Correct!