Startup 디스크 포렌식 이론 #2 - 날짜, 시간 데이터 이해하기



- 포렌식 분석 또는 침해사고 분석 과정에서 타임라인 기반 상황을 나열하는 것이 중요하기 때문에 파일의 날짜, 시간 포맷을 이해하기 위해 글 작성

- 기본적으로 툴들이 알아서 파일의 MAC(Modification, Access, Creation and Change) 시간을 변환시켜 출력해주는데 여기서 우리는 시간 데이터를 변환시키는 방법 등을 확인


- FAT 파일시스템에서 특정 파일을 찾고 이 파일의 윈도우 운영체제에서 Modification(Last Written) Time, Modification(Last Written) Date(윈도우)을 계산


- 아래는 FAT32 파일시스템의 Root Directory 예제와 데이터 포맷이다.

  * 참고로 FAT32의 Root Directory를 찾는 방법은 (http://wrkk.tistory.com/36?category=538805) 참고





- Last Written Time: 마지막으로 파일이 수정된 시간( 5 / 6 / 5 끊음)

ㄴ 95 0D(리틀 엔디안): 2진수로 변환 시 1001010100001101

   ㄴ 1001010100001101 -> 10010 / 101000 / 01101

   ㄴ 10010 -> 18(10진수)

   ㄴ 101000 -> 40(10진수)

   ㄴ 01101 -> 13(10진수) -> 여기서 초는 곱하기 2를 해줘야함

☞ 생성시간은 18시 40분 26초


- Last Written Date: 마지막으로 파일이 수정된 날짜( 7 / 4 / 5 끊음)

ㄴ 48 36(리틀 엔디안): 2진수로 변환 시 0100100000110110

   ㄴ 0100100000110110 -> 0100100 / 0001 / 10110

   ㄴ 0100100 -> 36(10진수) -> 여기서 년도는 1980 더해야함

   ㄴ 0001 -> 1(10진수)

   ㄴ 10110 -> 22(10진수)

☞ 생성날짜는 2016년 1월 22일




- 책과는 다르게 수정시간을 계산해 보았고 해당 파일은 데이터 포맷의 가장 첫 번째 16진수가 E5면 삭제된 파일로 위와 같이 삭제되었음을 확인 할 수 있음

- 해당 원리를 이해하면 스스로 툴을 짜서 만들어 볼 수 있음


+ Recent posts