Forensics/Windows

CFReDS - Data Leakage Case 문제풀이 #01

Be Charm 2021. 7. 30. 17:49

시나리오를 다 읽고 이해했으면 문제를 풀어보도록 하자.

분석 대상은 표에 나와있듯이 총 4가지이다. (PC, RM#1, RM#2, RM#3)
어떤 이미지를 다운 받아 분석하는 것은 본인의 자유인 것 같다.

1. What are the hash values (MD5 & SHA-1) of all Images?
   Does the acquisition and verification hash value match?
 - 모든 이미지의 해시 값(MD5 & SHA-1)은 무엇인가? 획득 및 검증 해시 값이 일치한가?

 > FTK Imager 을 실행하여 [File] - [Add Evidence item...] 을 클릭하여 이미지를 불러온다.
검증할 이미지에 우클릭을 눌러 [Verify drive/image] 이미지 해시를 검증할 수 있다.

위 처럼 결과가 Computed hash, Stored verification hash로 나뉘어 해시값이 산출되는데 Computed hash는 원본 데이터의 해시이고 Stored verification hash는 획득한 해쉬로서 둘을 비교하여 일치하는지의 여부를 확인하는 것이다.

PC MD5 a49d1254c873808c58e6f1bcd60b5bde
SHA-1 afe5c9ab487bd47a8a9856b1371c2384d44fd785
RM#1 MD5 8bfa4230bf4e35db966b8c1a9321a0b1
SHA-1 f6bb840e98dd7c325af45539313fc3978fff812c
RM#2 MD5 b4644902acab4583a1d0f9f1a08faa77
SHA-1 048961a85ca3eced8cc73f1517442d31d4dca0a3
RM#3
(Type3)
MD5 df914108fb3d86744eb688eba482fbdf
SHA-1 7f3c2eb1f1e2db97be6e963625402a0e362a532c

2. Identify the partition information of PC image.
 - PC 이미지의 파티션 정보를 확인하라.

 > PC에서 확인된 파티션으로는 2개이다. 각 파티션을 클릭하여 Properties에서 정보를 확인할 수 있다.

파티션 파일 시스템 시작 섹터 총 섹터 수 크기
Partition 1 NTFS 2,048 204,800 100MB
Partition 2 NTFS 206,848 41,734,144 20379MB

3. Explain installed OS information in detail. (OS name, install date, registered owner...)
 - 설치된 OS 정보를 자세히 설명하라. (OS 이름, 설치 날짜, 등록된 소유자...)

 > FTK Imager 를 이용하여 레지스트리 하이브 파일을 추출한다.
partition#2에서 Windows/System32/config에 들어가면 레지스트리 파일들을 찾을 수가 있는데 [Export Files...] 를 클릭하여 파일들을 추출하여 주자.

파일을 추출하고 나면 REGA 프로그램을 실행하여 레지스트리 분석을 진행한다.

분석이 완료되면 윈도우 설치 정보를 눌러서 다음과 같은 화면을 통해 OS infomation을 얻을 수 있다.

4. What is the timezone setting?
 - Timezone(표준 시간대) 설정은 무엇인가?

 > HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 에서 확인할 수 있다.
※ CurrentControlSet 파악 : CurrentControlSet은 현재 로그인한 유저의 세팅값(Hardware profile 등)을 저장하고 있으며, 오프라인 상태에서는 ControlSetXXX을 통해 분석한다.
ControlSetNumber는 HKLM\SYSTEM\Select의 Current Value에 저장되어 있다. 해당 값이 1이라면 ControlSet001을, 2라면 ControlSet002를 분석한다.

TimeZoneInformation에서 Bias와 DaylightBias, 그리고 ActiveTimeBias를 확인해보자.

UTC 시간은 Local time(시간) + bias 로 시간을 설정하고 부호가 반대인 것이 특징인데 표준 시간대를 알기 위해서는 ActiveTimeBias 값을 자세하게 살펴보면 된다. 왜냐하면 ActiveTimeBias는 UTC와의 현재 시간 차이를 나타내는 값(분)이다.
따라서 ActiveTimeBias는 F0 = 240을 가지고 있으므로 현재 UTC는 부호 변환하여 -240, 즉 UTC -4 이다.

(참조 : https://kb.digital-detective.net/display/BF/Identification+of+Time+Zone+Settings+on+Suspect+Computer)

5. What is the computer name?
 - 컴퓨터 이름이 무엇인가?

 > 컴퓨터 이름을 확인하기 위해서는 다음 레지스트리 경로를 따라가야 한다.
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\ComputerName\ComputerName

레지스트리 값에서 컴퓨터 이름은 INFORMANT-PC 인 것을 확인할 수 있다.

6. List all accounts in OS except the system accounts: Administrator, Guest, systemprofile, LocalService, NetworkService. (Account name, login count, last logon date...)
 - 시스템 계정을 제외한 OS의 모든 계정을 나열하라 : 관리자, 게스트, 시스템 프로파일, 로컬 서비스, 네트워크 서비스. (계정 이름, 로그인 수, 마지막 로그온 날짜...)

 > REGA 에서 사용자 계정 정보를 클릭하면 OS의 모든 계정을 확인할 수 있다.

그림에서 보듯이 모든 계정은 총 6개이고, 시스템 계정(Administrator)을 제외한다면 5개 계정이다.
여기서 알아볼 점은 SID인데, SID는 윈도우에서 계정을 하나의 코드값으로 표기한 것이다.
관리자는 500번, Guest는 501번, 일반 사용자는 1000번 이상의 숫자를 갖는다.

7. Who was the last user to logon into PC?
 - PC에 마지막으로 로그온한 사용자는 누구인가?

 > HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI 경로에서 확인할 수 있다.

물론 REGA 에서 사용자 계정 정보에서도 확인할 수 있다.

따라서 마지막으로 로그온한 사용자는 informant 이다.

8. When was the last recorded shutdown date/time?
 - 마지막으로 기록된 시스템 종료 날짜/시간이 언제인가?

 > HKML\SYSTEM\ControlSet\Control\Windows 에서 ShutdownTime 레지스트리 값을 확인하면 마지막으로 기록된 시스템 종료를 알 수 있다.

시간을 정확히 읽어들이기 위해 DCode 프로그램을 실행하여 값을 넣어주자. 여기서 중요한 것은 문제 4번에서 표준 시간대 확인한 것을 Add Bias에 제대로 체크해주는 것 잊지말자.

마지막으로 기록된 시스템 종료 시간은 2015년 3월 25일 수요일 11:31:05 이다.

9. Explain the information of network interface(s) with an IP address assigned by DHCP.
 - DHCP에서 할당된 IP 주소를 사용하여 네트워크 인터페이스에 대한 정보를 설명하라.

 > HKLM\SYSTEM\ControlSet\Services\Tcpip\Parameters\Interfaces\{GUID} 에서 확인할 수 있다.

하지만 마찬가지로 REGA 에서 네트워크 정보란의 TCP/IP 를 선택하여 확인해도 된다.

10. What applications were installed by the suspect after installing OS?
 - OS 설치 후 용의자가 설치한 응용 프로그램은 무엇인가?

 > 다음의 레지스트리 경로에서 찾아볼 수 있다.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\~
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\~

왼쪽 - 키값, 위 - 키 경로, 아래 - 설치된 파일 이름

키를 눌러서 파일 이름들을 확인할 수 있다. 너무 많으니 자세한 건 해설과 답지에서 확인해보자.

11. List application execution logs. (Executable path, execution time, execution count...)
 - 응용 프로그램 실행 로그를 나열하라. (실행 파일 경로, 실행 시간, 실행 수...)

 > 용의자가 어떤 응용 프로그램을 실행했는지를 분석하려면 프리패치를 분석하면 된다.
분석하기 위해서 WinPrefetchView 프로그램을 이용하자.
사용법은 매우 간단하다. 우선 프리패치 파일을 추출해야하는데 프리패치 파일은 \Windows\Prefetch 폴더에 있으므로 폴더를 추출하여 분석해보자.

Prefetch 폴더 추출

WinPrefetchView 에서 [Options] - [Advance Options] 선택 후 프리패치 폴더를 불러오자.

그러면 다음과 같이 용의자가 사용한 프로그램의 흔적을 볼 수 있다.

12. List all traces about the system on/off and the user logon/logoff. (It should be considered only during a time range between 09:00 and 18:00 in the timezone from Question 4.)
 - 시스템 켜기/끄기 및 사용자 로그온/로그오프에 대한 모든 흔적을 나열해라. (문제 4의 표준 시간대로 오전 9시에서 오후 6시 사이의 시간 범위 동안만 고려해야만 한다.)

 > 윈도우 Event ID를 이용하여 흔적을 조사해보자. 문제에서 필요한 윈도우 Event ID는 다음 링크에서 찾아보자.
https://docs.microsoft.com/ko-kr/windows-server/identity/ad-ds/plan/appendix-l--events-to-monitor
그 후 Windows\System32\winevt 에서 Logs 폴더를 추출한다.

Microsoft Message Analyzer를 이용하여 로그들을 불러온 뒤 필터 입력 란에 해당하는 Event ID를 필터링해보자.

Event ID = 4608, 4609, 4624, 4634

하지만 여기서 중요한 것은 표준 시간대로 오전 9시에서 오후 6시 사이의 시간 범위를 고려해야한다. 그렇기 때문에 [Add Filter] - [Add Time Filter] 로 시간을 필터링 해주었다.

13. What web browsers were used?
 - 어떤 웹 브라우저가 사용되었나?

 > Program Files, Program File(x86)의 폴더를 조사해보자. 각각 폴더에는 PC에 설치된 프로그램들이 있으니 어떤 웹 브라우저 프로그램이 설치되었는지 확인할 수 있다.

웹 브라우저는 Chrome과 Internet Explorer가 사용되었음을 짐작할 수 있다.

14. Identify directory/file paths related to the web browser history.
 - 웹 브라우저 기록과 관련된 디렉토리/파일 경로를 확인해라.

 > 웹 브라우저 사용 흔적을 조사하기 위해서 필요한 대상들은 Cache, History, Cookie 이다. 이러한 로그 파일의 경로는 OS버전마다 각 웹 브라우저 로그 파일 위치가 다르므로 어디에 위치하는지 알아둘 필요가 있다.

Internet Explorer 로그 파일 경로
Chrome 로그 파일 경로

(참조 : http://forensicinsight.org/wp-content/uploads/2012/03/INSIGHT_Web-Browser-Forensics_Part1.pdf)
따라서 대충 웹 브라우저 경로를 알아보자면 다음과 같다. (자세한 경로는 해설을 참조하자.)

Internet Explorer Cache \Users\informant\AppData\Local\Microsoft\Windows\Temporary Internet Files\~
History \Users\informant\AppData\Local\Microsoft\Windows\History\History.IE5\~
Cookie \Users\informant\AppData\Roaming\Microsoft\Windows\IEDownloadHistory\~
Chrome Cache \Users\informant\AppData\Local\Google\Chrome\User Data\Default\~
History
Cookie

15. What websites were the suspect accessing? (Timestamp, URL...)
 - 용의자가 접속한 웹사이트는 어디인가? (타임스탬프, URL...)

 > 웹 로그 분석을 할 수 있는 WEFA 프로그램을 이용하자.
우선 로그 분석하기에 앞서 Arsenal Image Mounter 로 PC 이미지 파일을 마운트 해준다. (FTK Imager 사용해도 괜찮음)

WEFA 프로그램을 실행시켜 새 케이스 생성 후 [파일] - [로그파일 수집] 을 클릭한다.

로그 파일의 위치는 윈도우가 설치된 시스템 드라이브에 위치하기 때문에 볼륨을 잘 선택해주자.

아래 그림처럼 모든 옵션에 체크 후 수집을 누른다.

수집이 완료되면 폴더가 생성이 되는 것을 확인할 수 있고 [파일] - [로그정보 분석] 을 클릭하여 분석을 진행하자.

위 그림처럼 설정을 마친 후 확인을 누르면 문제에서의 용의자가 접속한 웹 사이트 기록을 확인할 수 있다.

 

※ 해설 및 답안

해설 : https://c0msherl0ck.github.io/cfreds/

답안 : https://www.cfreds.nist.gov/data_leakage_case/leakage-answers.pdf

 

 

피드백은 감사히 받겠습니다! :)