Always-Try(정보보안 및 일상)

The CFReDS Project - Hacking Case 3번 (윈도우 최초 설치 날짜) with autopsy 본문

Forensic

The CFReDS Project - Hacking Case 3번 (윈도우 최초 설치 날짜) with autopsy

Always-Try 2021. 3. 4. 12:26
DD image 및 EnCase image는 https://www.cfreds.nist.gov/Hacking_Case.html 참고

1. Hacking Case 시나리오 

 

2. 문제 

3. 풀이

설치 날짜를 묻는다. 아마 OS를 설치한 날짜를 묻는 것 같다.

시나리오에 사건이 09/20/04에 발생했다고 했으니, 당연히 그 전이겠지?

참고로 미국의 날짜 표시 형태는 mm/dd/yyyy(월, 일, 년도) 와 같다. 즉, 사건이 2004년 09월 20일에 발생했다는 것이다.

이제 autopsy에서 OS 설치 날짜를 확인해보자.

 

 

- Data Sources -> View Summary Information

 

윈도우의 설치 날짜를 확인해야 한다.

음. 그럼 윈도우 설치 정보가 담겨 있는 레지스트리 위치를 찾아보자. 

 

 

Windows 98/ME :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FirstInstallDateTime

Windows NT/XP/Vista/7/10 :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate

 

필자의 PC에서 위 레지스트리로 접근 시 아래와 같이 16진수로 시간이 나와있는 것을 알 수 있다. 10진수로 변환하면 1609380899 이고, 형태가 딱 unix 시간 형태이다. 일반 시간으로 변환해보면 2020-12-31 11:14:59 인 것을 알 수 있다.

윈도우 설치 시간이 맞긴하다.

그럼 내 PC에 있는 파일들의 생성날짜는 모두 저 날짜 이후일까?

아니다. Everything 툴로 PC에 있는 파일들을 스캔해봤는데, 2020년 12월 31일 이전의 데이터가 많이 존재한다.

왜그럴까? 

내가 만든 파일이 아니라 외부에서 가져온 파일들이기 때문이다. 이외에도 시스템 내부적으로 과거 시간을 따라가는 파일들도 있을 수 있고 경우의 수는 다양하다. 따라서. 혹시나 윈도우 설치 일자 이후의 파일들만 PC에 존재할 것이라는 생각은 하지 않는 것이 좋다.

 

다시 돌아와서 그럼 위의 레지스트리(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate)에서 확인한 2020-12-31 11:14:59 은 믿을만 할까? 

아니다. 윈도우는 메이저 업데이트가 진행될때마다 위 레지스트리 값을 업데이트 한다. 다만, 업데이트 시 마다 기존 정보에 대한 정보를 레지스트리에 남겨 놓는다. 따라서, 윈도우 초기 설치 이후 중요 업데이트가 있었는지를 확인해봐야 정확한 설치 날짜를 확인할 수 있다.

이는, 윈도우 10 이상에서 확인 가능한 것으로 아래 레지스트리에서 확인할 수 있다.

- Windows10

HKEY_LOCAL_MACHINE\System\Setup

에서 확인할 수 있다. 만약 중요한 업데이트가 있었다면 해당 위치에 'Source OS (Updated on 날짜)..' 라는 폴더가 생성되어 있는 것을 알 수 있다. 해당 정보 중 가장 오래 전 업데이트 한 폴더의 InstallDate를 확인하면 초기 설치 날짜를 알 수 있다. (www.nextofwindows.com/when-was-my-windows-10-originally-installed 참고)

 

참고로 필자의 PC는 아직 업데이트 한 적이 없어서 Source OS 폴더가 없다.

 

 

이제 다시 문제풀이로 돌아가려는데, 우연찮게 아래 내용을 구글에서 확인할 수 있었다.
(stackoverflow.com/questions/170617/how-do-i-find-the-install-time-and-date-of-windows)

처음 제시했던 레지스트리의 InstallDate가 틀린 정보일 수 있다는 것이다. 그 원인은 아래와 같고 요약하면 해당 레지스트리의 Install Date는 설치할때의 Timezone을 기준으로 unix time(1970년 1월 1일)으로부터 얼만큼의 시간이 지났는지 계산한다. 즉, Timezone을 바꾼적이 없다면 해당 정보를 신뢰할 수 있지만 컴퓨터 사용 시 Timezone을 변경했다면, 윈도우에서 변경한 Timezone 만큼 해당 값을 바꾸지 않기 때문에 별도의 계산이 필요하다는 것이다.

 

흠 그럼 어떻게 해야될까? Timezone이 바뀐적이 있는지 확인하면 될까? 하는 찰나에 그 밑에 댓글을 봤다.

 

그렇다. 위에서 말한 주장이 틀리다는 것이다. 결론적으로 Timezone이 변경되는 것과 무관하게 Install Date는 UST 기준으로 계산되기 때문에 믿을 수 있는 정보라는 것이다. 잠시 잘못된 정보에 빠질 뻔 했지만, 충분히 고민해볼만한 가치가 있는 토론이었다고 생각한다. 

 

 

Anyway!! 다시 문제로 돌아와서,, Autopsy에서 레지스트리 정보는 어디서 볼까? 아래에서 볼 수 있다.

 

- 드라이브 볼륨 > WINDOWS > System32 > Config

 

해당 시스템은 Windows XP 이므로 위에서 언급한 것처럼  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate 를 찾아보려고 한다. 다만, Autopsy에서 레지스트리를 보여주는 형태가 기존 윈도우 레지스트리 에디터와는 조금 다르다. HKLM등의 경로가 autopsy에서 어떻게 보여지는지는

2021/03/04 - [Forensic] - 윈도우/포렌식 - 레지스트리 정보를 참고 바란다.

0x41252e3b를 10진수로 바꾸면, 1092955707이 된다. unix time 형태인 이 값을 일반 시간 형태로 바꾸면

 

2004-8-20 7:48:27 (KST) 가 된다.

 

그런데!, 나는 이 이미지를 분석할 때 해당 PC의 Timezone이 어떻게 설정되어 있었는지 알 수 없어서 내게 익숙한 KST로 입력했다.

물론 위에 얘기한 것처럼 Timezone과 무관하게 installDate는 unix time 으로 보면 된다. 하지만, 실제 사건이라고 했을때 좀 더 명확히 상대방의 Timezone을 고려해서 안내해주면 좋을 것 같다.

 

그래서 해당 이미지에 설정된 Timezone을 알아보기로 했다. Timezone은 아래에서 확인 가능하다.
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\TimeZoneInformation

 

 

 

따라서, Central Time 시간 기준으로 윈도우 설치 시간은 2004-8-19 17:48:27 이다.

 

 

 

 

 

추가로 WINDOWS 폴더 내에 Windows Update.log에서도 유사한 정보를 확인할 수 있다.

- C\WINDOWS\Windows Update.log

 

Comments