디지털포렌직스 스터디

[디지털포렌직스] 11주차

U.J 2024. 11. 24. 14:05

디바이스(device)가 언제 연결되었는지? → 포렌식 과제


레지스트리(Registry)의 DB 안에 ← 시스템 제안 및 종류가 들어가 있음

라이브 포렌식 : 휘발성 정보 분석

레지스트리 : 하드디스크에 남아있는 데이터베이스(DB) == 비휘발성 정보

→ 라이브 포렌식은 아니지만, 라이브 포렌식에서 관련된 디바이스 정보나 사용자 정보를 이 DB를 이용해 같이 추출

키(key) == 폴더

(1) 루트키 : 최상위 폴더

(2) 서브키 : 하위 폴더

계층 구조 가짐 : 키 구조로 정보 저장

이름(value) == (폴더 내) 정보

데이터(data) == (이름이 갖는)

이름 & 데이터 쌍으로 구체적인 정보 기록함


하이브(Hive)

하이브(Hive) : Key(폴더)의 트리 구조 → 현재, ‘시스템 정보 5개’ 가짐

HKCR(Hive Key Classes Root) : (사용하는) 어플리케이션의 정보들

HKLM(Hive Key Local Machine) : (현재 컴퓨터의) HW 정보들 or (local machine의) 디바이스 정보들
HKCC(Hive Key Current Config) : (local machine에서) 현재 SET-UP(구성) 상태
HKU(Hive Key User) : (컴퓨터를 사용하는) 모든 사용자들의 정보들
HKCU(Hive Key Current User) : (HKU 중에서) 현재 로그인한 자 == 현재 사용자

⇒ HKLM & HKU : “독자적인 정보” 가짐

  : **나머지**는 **이 둘(HKLM & HKU)의 심볼릭 링크 정보**로 이뤄져있음

HKEY_CLASSES_ROOT

<aside>

: (사용하는) 어플리케이션의 정보들

: 파일 확장자 & (확장자가 사용하는) 프로그램Mapping 정보

= ‘아래 한글’ 프로그램이 실행되어야 할 때, 이것의 **‘실행 위치’**가 어느 폴더에 있는지 매핑

→ **어느 위치**의 **어느 파일**에서, “.mp3”가 보인다.

두 개의 내용들심볼릭 링크 ← 연결하여 사용하고 있다

→ **HKLM & HKU의 서브 키의 ‘링크(연결) 정보’**를 가져와, 자신의 서브 키로 구성

(원본 정보인) HKLM을 마치 자기 것처럼 가져와서 사용함 (+ ‘부가적인 정보’ 추가)

= 자신만의 “서브 키” 없음!!!

</aside>

HKEY_CURRENT_USER

<aside>

: (현재 시스템에서 로그온하고 있는) 사용자설정한 “시스템 환경 정보” = set-up 환경 정보

HKU에서 내용을 가져와서 → 구성

</aside>

HKEY_USERS

<aside>

(컴퓨터를 사용하는) 모든 사용자의 계정 정보 ALL 포함

HKCU와 다르게 → 계정 프로파일(profile) 구성

→ “한 사람”이 인터넷에서 어떤 웹사이트에 접속했는지 알아볼 수 있는 정보도 안에 있음

 **TypedURLs** : **타이핑한 인터넷 방문 기록 검색 가능**

→ ex) 특정 사용자의 고유 ID ⇒ SID

</aside>

HKEY_CURRENT_CONFIG

<aside>

: 시스템이 시작할 때, HW(하드웨어) 프로파일 저장

저장된 프로파일을 통해 → **시스템 부팅(Booting)**시킴

어떤 디바이스가 붙어 있고, 어떤 IP가 붙어있는지 등 현재 활성화된 HW 알아볼 수 있음

</aside>

HKEY_LOCAL_MACHINE

<aside>

(로그온 사용자와 관계없이)

→ (시스템에서 기본적(default)으로 깔려있는) HW, SW 드라이버의 - 환경 설정 정보 포함

자체적인(iteself) Hive 가짐

== 공통으로 사용하는 HW, SW 정보들을 담고 있음을 의미

일부(관리자 계정으로 접근하지 못하는) Hive 존재 → ”시스템 계정”으로 접근 가능

부팅에 사용하는 데이터(Boot Configuration Data), 설치된 컴포넌트(어떤 컴포넌트가 설치되어 있는지?),

</aside>

⇒ HKCR, HKLM, HKCC(HKLM 참조), HKCU(HKU 참조), HKU 용도 알기


“root키”가 뭐하는 건지 정보 알기

SAM : 계정 관리 데이터베이스booting(부팅) 정보들 존재

레지스트리 라이브포렌식

“레지스트리 정보” : 라이브 포렌식이 아니라, **라이브 포렌식 때 “같이 사용”**된다

1. 시스템 정보

어떤 버전인지? = version number : 6.3

애디션 ID = 엔터 프라이즈용

어떤 윈도우가 깔려있는지? = 윈도우 시스템의 설치 날짜

라이브 포렌식 때, 수집 ⇒ 레지스트리 DB 보기 == 비휘발성이지만, “같이 사용”

2. 컴퓨터 이름

…\activecomputername

3. 시간 정보 (표준시간대)

…\timezonekeyname

언제 컴퓨터를 키고, 껐는지 등을 라이브 포렌식 때, 수집한다

모든 정보들”Registry 키 안에” 모두 들어가있음

→ 지워지지 않고 잘 변경되지도 않음 == 비휘발성

System(시스템) set-up 정보들이 들어있기 때문

(Window 상에서 일어나는) 모든 configuration, 드라이브 정보, 사용자 정보들

→ 모두 Registry에 들어가있는데, 우리가 모든 경로를 알 수 없으니 ⇒ “도구” 사용하는 것

Regedit : (window에서) 레지스트리를 직접 수정하고, 관리하는 도구

Regripper : (디지털 포렌식에서) 레지스트리 분석에 사용하는 도구

(Registry DB의 구조 → 실제 파일 이름) : 윈도우에서 추출하여 → ‘Hive 파일’ 하나하나씩 넣기

HKCC (현재 활성화된 HW - HW 프로파일 저장) → SYSTEM (파일에 저장됨)

HKCU (로그온한 사용자가 설정(set-up)한 환경정보) → NTUSER.DAT

HKLM/SAMSAM (파일에 저장됨) → SAM : Security account manager(로그인 & 계정 정보 관리)

HKLM/SECURITY → SECURITY (파일에 저장됨) → 보안 관련 정보들 저장됨

HKLM/SOFTWARE → SOFTWARE (파일에 저장됨) → SW 관련 정보들 저장됨

HKLM/SYSTEM → SYSTEM (파일에 저장됨) → 시스템 관련 정보들 저장됨

HKU/DEFAULT → DEFAULT (파일에 저장됨) : 모든 사용자의 default 정보

(의 DB 정보들이 → 이 파일에 저장)

NTUSER.DAT 파일

: (현재 로그인된) 사용자프로필 설정 및 레지스트리 정보 저장하는 파일

현재 로그인한 사용자어떤 실행 파일을 실행시켰고, 어떤 파일을 열어봤는지 등행동들이 들어가있음

→ OS(운영체제)에 의해 → 이 파일이 잠겨(lock) 있음

<aside>

해결방법

(1) 윈도우 안전모드부팅하기

(2) 디스크 전체를 이미지로 받아 (= 디스크 이미징) → FTK에서 읽고 해당 파일 추출하기

</aside>


typedpaths : 콘솔 창에서 이 정보 찾았음을 의미

→ 파일 두 개 중, txt 파일 분석하기

Regripper없앤(= 삭제한) 파일까지 다 나옴


앞에 “$” 사인이 붙으면, SYSTEM 파일이다

휴지통 (Recycle Bin)

: **Window(윈도우)**에서 사용하는 System

휴지통은 **“Volume”마다 존재 - “사용자 SID 별”**로 → 폴더 생성

INFO2(= $I)라는 파일을 사용하여 → (삭제 파일의) 이름 & 경로 관리 → 휴지통에 넣기 전에 어디에 있었는지 정보들 존재

휴지통 삭제

1. 윈도우 XP (예전 것)

→ D(delete) : 삭제되었음을 의미

D 다음에는 Drive 파티션 문자 위치, 다음에는 정수형 숫자(삭제된 파일이 늘어날수록 값이 증가)

확장자원본과 동일하게 유지

2. 윈도우 Vista 이후

$R(ramdom string) 형식으로, 랜덤으로 파일 이름 변경함 → 원래 파일의 이름을 알 수 없음

$I : 원래의 파일 이름 & 경로 저장되어 있음 = INFO2 파일의 역할 수행

         == **$R 파일과 대응**

윈도우에서 Registry KEY에도 & 경로 상 최근문서 파일에도 → ‘정보 보관’되어 있음

이벤트 로그

: 이벤트 로그언제 발생했는지 등의 시간 등이벤트 로그 파일에 나옴

= 일종의 interrupt call과 비슷

→ (컴퓨터 상의) 모든 행동은 “EVENT” 발생시킴 == ”신호”

쿠키 폴더

: (어플리케이션에서 사용할 때 썼던) set-up 정보들쿠키 폴더 안에 들어있음 ⇒ 쉽게 loading 가능

보호 모드 : 매우 제한적인 권한만 부여

히스토리 폴더

: 관리자 권한이 있어야 볼 수 있음

보호 모드에서 동작할 경우, (하위) Low 폴더에 저장

페이지(page) / 스왑(swap) 파일

FTK로 Pagefile 들여다봄

Q. passwd는 메모리에 들어가있다고 했는데 왜 pagefile에 있는지?

pagefile : (메모리에 올라가려고) 대기 중인 상태의 메모리도 포함 == 메모리

프린터 스풀링 폴더

: 프린트 하기 위해 명령어 날렸을 때, 출력한 문서들“C:\Windpws\system32\spool\printers” 위치에 큐(Queue)처럼 차곡차콕 쌓임print가 순서대로 하나씩 출력

spool이 필요한 이유 → print의 속도 느림 ⇒ 대기 시킨 후, 앞에서부터 하나씩 출력시킴

Local / LocalLow / Roaming 폴더

→ 단순하게 “폴더 경로”만 바뀌는 것이 아닌, Local 폴더 외에 LocalLow, Roaming 폴더가 추가적을 존재

Local : 일반적인 폴더 의미 = 권한 일반적

LocalLow : Local에서만 사용 가능 = 권한 제한적

Roaming : Open된 폴더 = 권한 제한적 아님

디바이스(device)가 언제 연결되었는지? → 포렌식 과제


레지스트리(Registry)의 DB 안에 ← 시스템 제안 및 종류가 들어가 있음

라이브 포렌식 : 휘발성 정보 분석

레지스트리 : 하드디스크에 남아있는 데이터베이스(DB) == 비휘발성 정보

→ 라이브 포렌식은 아니지만, 라이브 포렌식에서 관련된 디바이스 정보나 사용자 정보를 이 DB를 이용해 같이 추출

키(key) == 폴더

(1) 루트키 : 최상위 폴더

(2) 서브키 : 하위 폴더

계층 구조 가짐 : 키 구조로 정보 저장

이름(value) == (폴더 내) 정보

데이터(data) == (이름이 갖는)

이름 & 데이터 쌍으로 구체적인 정보 기록함


하이브(Hive)

하이브(Hive) : Key(폴더)의 트리 구조 → 현재, ‘시스템 정보 5개’ 가짐

HKCR(Hive Key Classes Root) : (사용하는) 어플리케이션의 정보들

HKLM(Hive Key Local Machine) : (현재 컴퓨터의) HW 정보들 or (local machine의) 디바이스 정보들
HKCC(Hive Key Current Config) : (local machine에서) 현재 SET-UP(구성) 상태
HKU(Hive Key User) : (컴퓨터를 사용하는) 모든 사용자들의 정보들
HKCU(Hive Key Current User) : (HKU 중에서) 현재 로그인한 자 == 현재 사용자

⇒ HKLM & HKU : “독자적인 정보” 가짐

  : **나머지**는 **이 둘(HKLM & HKU)의 심볼릭 링크 정보**로 이뤄져있음

HKEY_CLASSES_ROOT

<aside>

: (사용하는) 어플리케이션의 정보들

: 파일 확장자 & (확장자가 사용하는) 프로그램Mapping 정보

= ‘아래 한글’ 프로그램이 실행되어야 할 때, 이것의 **‘실행 위치’**가 어느 폴더에 있는지 매핑

→ **어느 위치**의 **어느 파일**에서, “.mp3”가 보인다.

두 개의 내용들심볼릭 링크 ← 연결하여 사용하고 있다

→ **HKLM & HKU의 서브 키의 ‘링크(연결) 정보’**를 가져와, 자신의 서브 키로 구성

(원본 정보인) HKLM을 마치 자기 것처럼 가져와서 사용함 (+ ‘부가적인 정보’ 추가)

= 자신만의 “서브 키” 없음!!!

</aside>

HKEY_CURRENT_USER

<aside>

: (현재 시스템에서 로그온하고 있는) 사용자설정한 “시스템 환경 정보” = set-up 환경 정보

HKU에서 내용을 가져와서 → 구성

</aside>

HKEY_USERS

<aside>

(컴퓨터를 사용하는) 모든 사용자의 계정 정보 ALL 포함

HKCU와 다르게 → 계정 프로파일(profile) 구성

→ “한 사람”이 인터넷에서 어떤 웹사이트에 접속했는지 알아볼 수 있는 정보도 안에 있음

 **TypedURLs** : **타이핑한 인터넷 방문 기록 검색 가능**

→ ex) 특정 사용자의 고유 ID ⇒ SID

</aside>

HKEY_CURRENT_CONFIG

<aside>

: 시스템이 시작할 때, HW(하드웨어) 프로파일 저장

저장된 프로파일을 통해 → **시스템 부팅(Booting)**시킴

어떤 디바이스가 붙어 있고, 어떤 IP가 붙어있는지 등 현재 활성화된 HW 알아볼 수 있음

</aside>

HKEY_LOCAL_MACHINE

<aside>

(로그온 사용자와 관계없이)

→ (시스템에서 기본적(default)으로 깔려있는) HW, SW 드라이버의 - 환경 설정 정보 포함

자체적인(iteself) Hive 가짐

== 공통으로 사용하는 HW, SW 정보들을 담고 있음을 의미

일부(관리자 계정으로 접근하지 못하는) Hive 존재 → ”시스템 계정”으로 접근 가능

부팅에 사용하는 데이터(Boot Configuration Data), 설치된 컴포넌트(어떤 컴포넌트가 설치되어 있는지?),

</aside>

⇒ HKCR, HKLM, HKCC(HKLM 참조), HKCU(HKU 참조), HKU 용도 알기


“root키”가 뭐하는 건지 정보 알기

SAM : 계정 관리 데이터베이스booting(부팅) 정보들 존재

레지스트리 라이브포렌식

“레지스트리 정보” : 라이브 포렌식이 아니라, **라이브 포렌식 때 “같이 사용”**된다

1. 시스템 정보

어떤 버전인지? = version number : 6.3

애디션 ID = 엔터 프라이즈용

어떤 윈도우가 깔려있는지? = 윈도우 시스템의 설치 날짜

라이브 포렌식 때, 수집 ⇒ 레지스트리 DB 보기 == 비휘발성이지만, “같이 사용”

2. 컴퓨터 이름

…\activecomputername

3. 시간 정보 (표준시간대)

…\timezonekeyname

언제 컴퓨터를 키고, 껐는지 등을 라이브 포렌식 때, 수집한다

모든 정보들”Registry 키 안에” 모두 들어가있음

→ 지워지지 않고 잘 변경되지도 않음 == 비휘발성

System(시스템) set-up 정보들이 들어있기 때문

(Window 상에서 일어나는) 모든 configuration, 드라이브 정보, 사용자 정보들

→ 모두 Registry에 들어가있는데, 우리가 모든 경로를 알 수 없으니 ⇒ “도구” 사용하는 것

Regedit : (window에서) 레지스트리를 직접 수정하고, 관리하는 도구

Regripper : (디지털 포렌식에서) 레지스트리 분석에 사용하는 도구

(Registry DB의 구조 → 실제 파일 이름) : 윈도우에서 추출하여 → ‘Hive 파일’ 하나하나씩 넣기

HKCC (현재 활성화된 HW - HW 프로파일 저장) → SYSTEM (파일에 저장됨)

HKCU (로그온한 사용자가 설정(set-up)한 환경정보) → NTUSER.DAT

HKLM/SAMSAM (파일에 저장됨) → SAM : Security account manager(로그인 & 계정 정보 관리)

HKLM/SECURITY → SECURITY (파일에 저장됨) → 보안 관련 정보들 저장됨

HKLM/SOFTWARE → SOFTWARE (파일에 저장됨) → SW 관련 정보들 저장됨

HKLM/SYSTEM → SYSTEM (파일에 저장됨) → 시스템 관련 정보들 저장됨

HKU/DEFAULT → DEFAULT (파일에 저장됨) : 모든 사용자의 default 정보

(의 DB 정보들이 → 이 파일에 저장)

NTUSER.DAT 파일

: (현재 로그인된) 사용자프로필 설정 및 레지스트리 정보 저장하는 파일

현재 로그인한 사용자어떤 실행 파일을 실행시켰고, 어떤 파일을 열어봤는지 등행동들이 들어가있음

→ OS(운영체제)에 의해 → 이 파일이 잠겨(lock) 있음

<aside>

해결방법

(1) 윈도우 안전모드부팅하기

(2) 디스크 전체를 이미지로 받아 (= 디스크 이미징) → FTK에서 읽고 해당 파일 추출하기

</aside>


typedpaths : 콘솔 창에서 이 정보 찾았음을 의미

→ 파일 두 개 중, txt 파일 분석하기

Regripper없앤(= 삭제한) 파일까지 다 나옴


앞에 “$” 사인이 붙으면, SYSTEM 파일이다

휴지통 (Recycle Bin)

: **Window(윈도우)**에서 사용하는 System

휴지통은 **“Volume”마다 존재 - “사용자 SID 별”**로 → 폴더 생성

INFO2(= $I)라는 파일을 사용하여 → (삭제 파일의) 이름 & 경로 관리 → 휴지통에 넣기 전에 어디에 있었는지 정보들 존재

휴지통 삭제

1. 윈도우 XP (예전 것)

→ D(delete) : 삭제되었음을 의미

D 다음에는 Drive 파티션 문자 위치, 다음에는 정수형 숫자(삭제된 파일이 늘어날수록 값이 증가)

확장자원본과 동일하게 유지

2. 윈도우 Vista 이후

$R(ramdom string) 형식으로, 랜덤으로 파일 이름 변경함 → 원래 파일의 이름을 알 수 없음

$I : 원래의 파일 이름 & 경로 저장되어 있음 = INFO2 파일의 역할 수행

         == **$R 파일과 대응**

윈도우에서 Registry KEY에도 & 경로 상 최근문서 파일에도 → ‘정보 보관’되어 있음

이벤트 로그

: 이벤트 로그언제 발생했는지 등의 시간 등이벤트 로그 파일에 나옴

= 일종의 interrupt call과 비슷

→ (컴퓨터 상의) 모든 행동은 “EVENT” 발생시킴 == ”신호”

쿠키 폴더

: (어플리케이션에서 사용할 때 썼던) set-up 정보들쿠키 폴더 안에 들어있음 ⇒ 쉽게 loading 가능

보호 모드 : 매우 제한적인 권한만 부여

히스토리 폴더

: 관리자 권한이 있어야 볼 수 있음

보호 모드에서 동작할 경우, (하위) Low 폴더에 저장

페이지(page) / 스왑(swap) 파일

FTK로 Pagefile 들여다봄

Q. passwd는 메모리에 들어가있다고 했는데 왜 pagefile에 있는지?

pagefile : (메모리에 올라가려고) 대기 중인 상태의 메모리도 포함 == 메모리

프린터 스풀링 폴더

: 프린트 하기 위해 명령어 날렸을 때, 출력한 문서들“C:\Windpws\system32\spool\printers” 위치에 큐(Queue)처럼 차곡차콕 쌓임print가 순서대로 하나씩 출력

spool이 필요한 이유 → print의 속도 느림 ⇒ 대기 시킨 후, 앞에서부터 하나씩 출력시킴

Local / LocalLow / Roaming 폴더

→ 단순하게 “폴더 경로”만 바뀌는 것이 아닌, Local 폴더 외에 LocalLow, Roaming 폴더가 추가적을 존재

Local : 일반적인 폴더 의미 = 권한 일반적

LocalLow : Local에서만 사용 가능 = 권한 제한적

Roaming : Open된 폴더 = 권한 제한적 아님

디바이스(device)가 언제 연결되었는지? → 포렌식 과제


레지스트리(Registry)의 DB 안에 ← 시스템 제안 및 종류가 들어가 있음

라이브 포렌식 : 휘발성 정보 분석

레지스트리 : 하드디스크에 남아있는 데이터베이스(DB) == 비휘발성 정보

→ 라이브 포렌식은 아니지만, 라이브 포렌식에서 관련된 디바이스 정보나 사용자 정보를 이 DB를 이용해 같이 추출

키(key) == 폴더

(1) 루트키 : 최상위 폴더

(2) 서브키 : 하위 폴더

계층 구조 가짐 : 키 구조로 정보 저장

이름(value) == (폴더 내) 정보

데이터(data) == (이름이 갖는)

이름 & 데이터 쌍으로 구체적인 정보 기록함


하이브(Hive)

하이브(Hive) : Key(폴더)의 트리 구조 → 현재, ‘시스템 정보 5개’ 가짐

HKCR(Hive Key Classes Root) : (사용하는) 어플리케이션의 정보들

HKLM(Hive Key Local Machine) : (현재 컴퓨터의) HW 정보들 or (local machine의) 디바이스 정보들
HKCC(Hive Key Current Config) : (local machine에서) 현재 SET-UP(구성) 상태
HKU(Hive Key User) : (컴퓨터를 사용하는) 모든 사용자들의 정보들
HKCU(Hive Key Current User) : (HKU 중에서) 현재 로그인한 자 == 현재 사용자

⇒ HKLM & HKU : “독자적인 정보” 가짐

  : **나머지**는 **이 둘(HKLM & HKU)의 심볼릭 링크 정보**로 이뤄져있음

HKEY_CLASSES_ROOT

<aside>

: (사용하는) 어플리케이션의 정보들

: 파일 확장자 & (확장자가 사용하는) 프로그램Mapping 정보

= ‘아래 한글’ 프로그램이 실행되어야 할 때, 이것의 **‘실행 위치’**가 어느 폴더에 있는지 매핑

→ **어느 위치**의 **어느 파일**에서, “.mp3”가 보인다.

두 개의 내용들심볼릭 링크 ← 연결하여 사용하고 있다

→ **HKLM & HKU의 서브 키의 ‘링크(연결) 정보’**를 가져와, 자신의 서브 키로 구성

(원본 정보인) HKLM을 마치 자기 것처럼 가져와서 사용함 (+ ‘부가적인 정보’ 추가)

= 자신만의 “서브 키” 없음!!!

</aside>

HKEY_CURRENT_USER

<aside>

: (현재 시스템에서 로그온하고 있는) 사용자설정한 “시스템 환경 정보” = set-up 환경 정보

HKU에서 내용을 가져와서 → 구성

</aside>

HKEY_USERS

<aside>

(컴퓨터를 사용하는) 모든 사용자의 계정 정보 ALL 포함

HKCU와 다르게 → 계정 프로파일(profile) 구성

→ “한 사람”이 인터넷에서 어떤 웹사이트에 접속했는지 알아볼 수 있는 정보도 안에 있음

 **TypedURLs** : **타이핑한 인터넷 방문 기록 검색 가능**

→ ex) 특정 사용자의 고유 ID ⇒ SID

</aside>

HKEY_CURRENT_CONFIG

<aside>

: 시스템이 시작할 때, HW(하드웨어) 프로파일 저장

저장된 프로파일을 통해 → **시스템 부팅(Booting)**시킴

어떤 디바이스가 붙어 있고, 어떤 IP가 붙어있는지 등 현재 활성화된 HW 알아볼 수 있음

</aside>

HKEY_LOCAL_MACHINE

<aside>

(로그온 사용자와 관계없이)

→ (시스템에서 기본적(default)으로 깔려있는) HW, SW 드라이버의 - 환경 설정 정보 포함

자체적인(iteself) Hive 가짐

== 공통으로 사용하는 HW, SW 정보들을 담고 있음을 의미

일부(관리자 계정으로 접근하지 못하는) Hive 존재 → ”시스템 계정”으로 접근 가능

부팅에 사용하는 데이터(Boot Configuration Data), 설치된 컴포넌트(어떤 컴포넌트가 설치되어 있는지?),

</aside>

⇒ HKCR, HKLM, HKCC(HKLM 참조), HKCU(HKU 참조), HKU 용도 알기


“root키”가 뭐하는 건지 정보 알기

SAM : 계정 관리 데이터베이스booting(부팅) 정보들 존재

레지스트리 라이브포렌식

“레지스트리 정보” : 라이브 포렌식이 아니라, **라이브 포렌식 때 “같이 사용”**된다

1. 시스템 정보

어떤 버전인지? = version number : 6.3

애디션 ID = 엔터 프라이즈용

어떤 윈도우가 깔려있는지? = 윈도우 시스템의 설치 날짜

라이브 포렌식 때, 수집 ⇒ 레지스트리 DB 보기 == 비휘발성이지만, “같이 사용”

2. 컴퓨터 이름

…\activecomputername

3. 시간 정보 (표준시간대)

…\timezonekeyname

언제 컴퓨터를 키고, 껐는지 등을 라이브 포렌식 때, 수집한다

모든 정보들”Registry 키 안에” 모두 들어가있음

→ 지워지지 않고 잘 변경되지도 않음 == 비휘발성

System(시스템) set-up 정보들이 들어있기 때문

(Window 상에서 일어나는) 모든 configuration, 드라이브 정보, 사용자 정보들

→ 모두 Registry에 들어가있는데, 우리가 모든 경로를 알 수 없으니 ⇒ “도구” 사용하는 것

Regedit : (window에서) 레지스트리를 직접 수정하고, 관리하는 도구

Regripper : (디지털 포렌식에서) 레지스트리 분석에 사용하는 도구

(Registry DB의 구조 → 실제 파일 이름) : 윈도우에서 추출하여 → ‘Hive 파일’ 하나하나씩 넣기

HKCC (현재 활성화된 HW - HW 프로파일 저장) → SYSTEM (파일에 저장됨)

HKCU (로그온한 사용자가 설정(set-up)한 환경정보) → NTUSER.DAT

HKLM/SAMSAM (파일에 저장됨) → SAM : Security account manager(로그인 & 계정 정보 관리)

HKLM/SECURITY → SECURITY (파일에 저장됨) → 보안 관련 정보들 저장됨

HKLM/SOFTWARE → SOFTWARE (파일에 저장됨) → SW 관련 정보들 저장됨

HKLM/SYSTEM → SYSTEM (파일에 저장됨) → 시스템 관련 정보들 저장됨

HKU/DEFAULT → DEFAULT (파일에 저장됨) : 모든 사용자의 default 정보

(의 DB 정보들이 → 이 파일에 저장)

NTUSER.DAT 파일

: (현재 로그인된) 사용자프로필 설정 및 레지스트리 정보 저장하는 파일

현재 로그인한 사용자어떤 실행 파일을 실행시켰고, 어떤 파일을 열어봤는지 등행동들이 들어가있음

→ OS(운영체제)에 의해 → 이 파일이 잠겨(lock) 있음

<aside>

해결방법

(1) 윈도우 안전모드부팅하기

(2) 디스크 전체를 이미지로 받아 (= 디스크 이미징) → FTK에서 읽고 해당 파일 추출하기

</aside>


typedpaths : 콘솔 창에서 이 정보 찾았음을 의미

→ 파일 두 개 중, txt 파일 분석하기

Regripper없앤(= 삭제한) 파일까지 다 나옴


앞에 “$” 사인이 붙으면, SYSTEM 파일이다

휴지통 (Recycle Bin)

: **Window(윈도우)**에서 사용하는 System

휴지통은 **“Volume”마다 존재 - “사용자 SID 별”**로 → 폴더 생성

INFO2(= $I)라는 파일을 사용하여 → (삭제 파일의) 이름 & 경로 관리 → 휴지통에 넣기 전에 어디에 있었는지 정보들 존재

휴지통 삭제

1. 윈도우 XP (예전 것)

→ D(delete) : 삭제되었음을 의미

D 다음에는 Drive 파티션 문자 위치, 다음에는 정수형 숫자(삭제된 파일이 늘어날수록 값이 증가)

확장자원본과 동일하게 유지

2. 윈도우 Vista 이후

$R(ramdom string) 형식으로, 랜덤으로 파일 이름 변경함 → 원래 파일의 이름을 알 수 없음

$I : 원래의 파일 이름 & 경로 저장되어 있음 = INFO2 파일의 역할 수행

         == **$R 파일과 대응**

윈도우에서 Registry KEY에도 & 경로 상 최근문서 파일에도 → ‘정보 보관’되어 있음

이벤트 로그

: 이벤트 로그언제 발생했는지 등의 시간 등이벤트 로그 파일에 나옴

= 일종의 interrupt call과 비슷

→ (컴퓨터 상의) 모든 행동은 “EVENT” 발생시킴 == ”신호”

쿠키 폴더

: (어플리케이션에서 사용할 때 썼던) set-up 정보들쿠키 폴더 안에 들어있음 ⇒ 쉽게 loading 가능

보호 모드 : 매우 제한적인 권한만 부여

히스토리 폴더

: 관리자 권한이 있어야 볼 수 있음

보호 모드에서 동작할 경우, (하위) Low 폴더에 저장

페이지(page) / 스왑(swap) 파일

FTK로 Pagefile 들여다봄

Q. passwd는 메모리에 들어가있다고 했는데 왜 pagefile에 있는지?

pagefile : (메모리에 올라가려고) 대기 중인 상태의 메모리도 포함 == 메모리

프린터 스풀링 폴더

: 프린트 하기 위해 명령어 날렸을 때, 출력한 문서들“C:\Windpws\system32\spool\printers” 위치에 큐(Queue)처럼 차곡차콕 쌓임print가 순서대로 하나씩 출력

spool이 필요한 이유 → print의 속도 느림 ⇒ 대기 시킨 후, 앞에서부터 하나씩 출력시킴

Local / LocalLow / Roaming 폴더

→ 단순하게 “폴더 경로”만 바뀌는 것이 아닌, Local 폴더 외에 LocalLow, Roaming 폴더가 추가적을 존재

Local : 일반적인 폴더 의미 = 권한 일반적

LocalLow : Local에서만 사용 가능 = 권한 제한적

Roaming : Open된 폴더 = 권한 제한적 아님

디바이스(device)가 언제 연결되었는지? → 포렌식 과제


레지스트리(Registry)의 DB 안에 ← 시스템 제안 및 종류가 들어가 있음

라이브 포렌식 : 휘발성 정보 분석

레지스트리 : 하드디스크에 남아있는 데이터베이스(DB) == 비휘발성 정보

→ 라이브 포렌식은 아니지만, 라이브 포렌식에서 관련된 디바이스 정보나 사용자 정보를 이 DB를 이용해 같이 추출

키(key) == 폴더

(1) 루트키 : 최상위 폴더

(2) 서브키 : 하위 폴더

계층 구조 가짐 : 키 구조로 정보 저장

이름(value) == (폴더 내) 정보

데이터(data) == (이름이 갖는)

이름 & 데이터 쌍으로 구체적인 정보 기록함


하이브(Hive)

하이브(Hive) : Key(폴더)의 트리 구조 → 현재, ‘시스템 정보 5개’ 가짐

HKCR(Hive Key Classes Root) : (사용하는) 어플리케이션의 정보들

HKLM(Hive Key Local Machine) : (현재 컴퓨터의) HW 정보들 or (local machine의) 디바이스 정보들
HKCC(Hive Key Current Config) : (local machine에서) 현재 SET-UP(구성) 상태
HKU(Hive Key User) : (컴퓨터를 사용하는) 모든 사용자들의 정보들
HKCU(Hive Key Current User) : (HKU 중에서) 현재 로그인한 자 == 현재 사용자

⇒ HKLM & HKU : “독자적인 정보” 가짐

  : **나머지**는 **이 둘(HKLM & HKU)의 심볼릭 링크 정보**로 이뤄져있음

HKEY_CLASSES_ROOT

<aside>

: (사용하는) 어플리케이션의 정보들

: 파일 확장자 & (확장자가 사용하는) 프로그램Mapping 정보

= ‘아래 한글’ 프로그램이 실행되어야 할 때, 이것의 **‘실행 위치’**가 어느 폴더에 있는지 매핑

→ **어느 위치**의 **어느 파일**에서, “.mp3”가 보인다.

두 개의 내용들심볼릭 링크 ← 연결하여 사용하고 있다

→ **HKLM & HKU의 서브 키의 ‘링크(연결) 정보’**를 가져와, 자신의 서브 키로 구성

(원본 정보인) HKLM을 마치 자기 것처럼 가져와서 사용함 (+ ‘부가적인 정보’ 추가)

= 자신만의 “서브 키” 없음!!!

</aside>

HKEY_CURRENT_USER

<aside>

: (현재 시스템에서 로그온하고 있는) 사용자설정한 “시스템 환경 정보” = set-up 환경 정보

HKU에서 내용을 가져와서 → 구성

</aside>

HKEY_USERS

<aside>

(컴퓨터를 사용하는) 모든 사용자의 계정 정보 ALL 포함

HKCU와 다르게 → 계정 프로파일(profile) 구성

→ “한 사람”이 인터넷에서 어떤 웹사이트에 접속했는지 알아볼 수 있는 정보도 안에 있음

 **TypedURLs** : **타이핑한 인터넷 방문 기록 검색 가능**

→ ex) 특정 사용자의 고유 ID ⇒ SID

</aside>

HKEY_CURRENT_CONFIG

<aside>

: 시스템이 시작할 때, HW(하드웨어) 프로파일 저장

저장된 프로파일을 통해 → **시스템 부팅(Booting)**시킴

어떤 디바이스가 붙어 있고, 어떤 IP가 붙어있는지 등 현재 활성화된 HW 알아볼 수 있음

</aside>

HKEY_LOCAL_MACHINE

<aside>

(로그온 사용자와 관계없이)

→ (시스템에서 기본적(default)으로 깔려있는) HW, SW 드라이버의 - 환경 설정 정보 포함

자체적인(iteself) Hive 가짐

== 공통으로 사용하는 HW, SW 정보들을 담고 있음을 의미

일부(관리자 계정으로 접근하지 못하는) Hive 존재 → ”시스템 계정”으로 접근 가능

부팅에 사용하는 데이터(Boot Configuration Data), 설치된 컴포넌트(어떤 컴포넌트가 설치되어 있는지?),

</aside>

⇒ HKCR, HKLM, HKCC(HKLM 참조), HKCU(HKU 참조), HKU 용도 알기


“root키”가 뭐하는 건지 정보 알기

SAM : 계정 관리 데이터베이스booting(부팅) 정보들 존재

레지스트리 라이브포렌식

“레지스트리 정보” : 라이브 포렌식이 아니라, **라이브 포렌식 때 “같이 사용”**된다

1. 시스템 정보

어떤 버전인지? = version number : 6.3

애디션 ID = 엔터 프라이즈용

어떤 윈도우가 깔려있는지? = 윈도우 시스템의 설치 날짜

라이브 포렌식 때, 수집 ⇒ 레지스트리 DB 보기 == 비휘발성이지만, “같이 사용”

2. 컴퓨터 이름

…\activecomputername

3. 시간 정보 (표준시간대)

…\timezonekeyname

언제 컴퓨터를 키고, 껐는지 등을 라이브 포렌식 때, 수집한다

모든 정보들”Registry 키 안에” 모두 들어가있음

→ 지워지지 않고 잘 변경되지도 않음 == 비휘발성

System(시스템) set-up 정보들이 들어있기 때문

(Window 상에서 일어나는) 모든 configuration, 드라이브 정보, 사용자 정보들

→ 모두 Registry에 들어가있는데, 우리가 모든 경로를 알 수 없으니 ⇒ “도구” 사용하는 것

Regedit : (window에서) 레지스트리를 직접 수정하고, 관리하는 도구

Regripper : (디지털 포렌식에서) 레지스트리 분석에 사용하는 도구

(Registry DB의 구조 → 실제 파일 이름) : 윈도우에서 추출하여 → ‘Hive 파일’ 하나하나씩 넣기

HKCC (현재 활성화된 HW - HW 프로파일 저장) → SYSTEM (파일에 저장됨)

HKCU (로그온한 사용자가 설정(set-up)한 환경정보) → NTUSER.DAT

HKLM/SAMSAM (파일에 저장됨) → SAM : Security account manager(로그인 & 계정 정보 관리)

HKLM/SECURITY → SECURITY (파일에 저장됨) → 보안 관련 정보들 저장됨

HKLM/SOFTWARE → SOFTWARE (파일에 저장됨) → SW 관련 정보들 저장됨

HKLM/SYSTEM → SYSTEM (파일에 저장됨) → 시스템 관련 정보들 저장됨

HKU/DEFAULT → DEFAULT (파일에 저장됨) : 모든 사용자의 default 정보

(의 DB 정보들이 → 이 파일에 저장)

NTUSER.DAT 파일

: (현재 로그인된) 사용자프로필 설정 및 레지스트리 정보 저장하는 파일

현재 로그인한 사용자어떤 실행 파일을 실행시켰고, 어떤 파일을 열어봤는지 등행동들이 들어가있음

→ OS(운영체제)에 의해 → 이 파일이 잠겨(lock) 있음

<aside>

해결방법

(1) 윈도우 안전모드부팅하기

(2) 디스크 전체를 이미지로 받아 (= 디스크 이미징) → FTK에서 읽고 해당 파일 추출하기

</aside>


typedpaths : 콘솔 창에서 이 정보 찾았음을 의미

→ 파일 두 개 중, txt 파일 분석하기

Regripper없앤(= 삭제한) 파일까지 다 나옴


앞에 “$” 사인이 붙으면, SYSTEM 파일이다

휴지통 (Recycle Bin)

: **Window(윈도우)**에서 사용하는 System

휴지통은 **“Volume”마다 존재 - “사용자 SID 별”**로 → 폴더 생성

INFO2(= $I)라는 파일을 사용하여 → (삭제 파일의) 이름 & 경로 관리 → 휴지통에 넣기 전에 어디에 있었는지 정보들 존재

휴지통 삭제

1. 윈도우 XP (예전 것)

→ D(delete) : 삭제되었음을 의미

D 다음에는 Drive 파티션 문자 위치, 다음에는 정수형 숫자(삭제된 파일이 늘어날수록 값이 증가)

확장자원본과 동일하게 유지

2. 윈도우 Vista 이후

$R(ramdom string) 형식으로, 랜덤으로 파일 이름 변경함 → 원래 파일의 이름을 알 수 없음

$I : 원래의 파일 이름 & 경로 저장되어 있음 = INFO2 파일의 역할 수행

         == **$R 파일과 대응**

윈도우에서 Registry KEY에도 & 경로 상 최근문서 파일에도 → ‘정보 보관’되어 있음

이벤트 로그

: 이벤트 로그언제 발생했는지 등의 시간 등이벤트 로그 파일에 나옴

= 일종의 interrupt call과 비슷

→ (컴퓨터 상의) 모든 행동은 “EVENT” 발생시킴 == ”신호”

쿠키 폴더

: (어플리케이션에서 사용할 때 썼던) set-up 정보들쿠키 폴더 안에 들어있음 ⇒ 쉽게 loading 가능

보호 모드 : 매우 제한적인 권한만 부여

히스토리 폴더

: 관리자 권한이 있어야 볼 수 있음

보호 모드에서 동작할 경우, (하위) Low 폴더에 저장

페이지(page) / 스왑(swap) 파일

FTK로 Pagefile 들여다봄

Q. passwd는 메모리에 들어가있다고 했는데 왜 pagefile에 있는지?

pagefile : (메모리에 올라가려고) 대기 중인 상태의 메모리도 포함 == 메모리

프린터 스풀링 폴더

: 프린트 하기 위해 명령어 날렸을 때, 출력한 문서들“C:\Windpws\system32\spool\printers” 위치에 큐(Queue)처럼 차곡차콕 쌓임print가 순서대로 하나씩 출력

spool이 필요한 이유 → print의 속도 느림 ⇒ 대기 시킨 후, 앞에서부터 하나씩 출력시킴

Local / LocalLow / Roaming 폴더

→ 단순하게 “폴더 경로”만 바뀌는 것이 아닌, Local 폴더 외에 LocalLow, Roaming 폴더가 추가적을 존재

Local : 일반적인 폴더 의미 = 권한 일반적

LocalLow : Local에서만 사용 가능 = 권한 제한적

Roaming : Open된 폴더 = 권한 제한적 아님

'디지털포렌직스 스터디' 카테고리의 다른 글

[디지털포렌직스] 12주차  (0) 2024.12.01
[디지털포렌직스] 10주차  (0) 2024.11.16
[디지털포렌직스] 9주차  (0) 2024.11.10
[디지털포렌직스] 7주차  (0) 2024.10.26
[디지털포렌직스] 6주차  (0) 2024.10.18