Security/Forensics

[Artifact] 윈도우 포렌식 - 레지스트리

bonggang 2019. 9. 24. 04:42

레지스트리


레지스트리란 윈도우 운영체제에서 하나 이상의 사용자, 응용 프로그램 및 하드웨어 장치에 맞게 시스템을 구성하는데 필요한 정보를 저장하는 중앙 계층형 데이터베이스다. 레지스트리를 분석하면 사용자의 프로필, 설치된 응용 프로그램 정보, 프로그램 실행 흔적, 무선네트워크, USB 연결 흔적 등이 남기 때문에 윈도우 포렌식 분야의 주요 아티팩트 중 하나다.

 

레지스트리는 레지스트리 편집기를 통해 확인할 수 있다.

(Windows + R을 누른 후 regedit을 입력)

레지스트리 구조


 

Hive Key

Root key라고도 하며 HKEY로 시작한다.

 

- HKEY_CLASS_ROOT(HKCR): 파일 연관성과 COM객체 등록 정보, HKU를 참조

- HKEY_CURRENT_USER(HKCU): 현재 시스템에 로그인한 사용자의 프로파일 정보, HKU를 참조

- HKEY_LOCAL_MACHINE(HKLM): 시스템의 HW, SW 설정 및 다양한 환경 정보, 실제 파일

- HKEY_USERS(HKU): 시스템의 모든 사용자와 그룹에 관한 프로파일 정보, 실제 파일

- HKEY_CURRENT_CONFIG(HKCC): 시스템이 시작할 때 사용하는 HW 프로파일 정보, HKLM 참조

- HKEY_PERFORMANCE_DATA(HKPD): 런타임 성능 데이터 정보를 제공, 메모리상 존재

 

포렌식적 관점에서는 HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS가 가장 중요하다.

 

Hive

레지스트리 정보를 저장하고 있는 물리적인 파일로 C:\WINDOWSystem32\Config 폴더에 저장된다. 일반적으로 DEFAULT, SAM, SECURITY, SOFTWARE, SYSTEM에 확장자 명이 없는 파일로 나누어져 보관된다.

 

- DEFAULT(C:\WINDOWS\System32\config)

제어판, 키보드, 키보드 레이아웃과 같은 기본 정보

관련 하이브 파일: default, default.LOG, default.SAV

해당 레지스트리 키: HKEY_USER/DEFAULT

 

- SAM(C:\WINDOWS\System32\config)

로컬 계정과 그룹 정보

관련 하이브 파일: SAM, SAM.LOG, SAM.SAV

해당 레지스트리 키: HKEY_LOAL_MACHINE/SECURITY/SAM, HKEY_LOCAL_MACHINE/SAM

 

- SECURITY(C:\WINDOWS\System32\config)

시스템의 보안과 권한 관련 정보

관련 하이브 파일: SECURITY, SECURITY.LOG, SECURITY.SAV

해당 레지스트리 키: HKEY_LOCAL_MACHINE/SECURITY

 

- SOFTWARE(C:\WINDOWS\System32\config)

시스템 부팅과 관련 없는 전역 설정 정보

관련 하이브 파일: software, software.LOG, software.SAV

해당 레지스트리 키: HKEY_LOCAL_MACHINE/SOFTWARE

 

- SYSTEM(C:\WINDOWS\System32\config)

시스템 부팅에 필요한 전역 설정 정보

관련 하이브 파일:system, system.LOG, system.SAV

해당 레지스트리 키: HKEY_LOCAL_MACHINE/SYSTEM, HKEY_CURRENT_CONFIG

 

사용자별로 유지해야 하는 정보는 사용자 프로파일 폴더(%UserProfile%) 하위에 저장된다.

 

- NTUSER.DAT(C:\Users\사용자이름\NTUSER.DAT): 사용자별 설정 정보

- UsrClass.dat(C:\Users\사용자이름\AppData\Local\Microsoft\Windows\UsrClass.dat): 사용자별 애플리케이션 바인딩 정보

 

 

SubKey

키의 하위에 존재하는 키로 \를 사용해서 계급을 구분한다. 

 

레지스트리 값 종류 목록

0 REG_NONE 종류 없음
1 REG_SZ 문자열 값
2 REG_EXPAND_SZ 확장할 수 있는 문자열 값. 환경 변수를 포함할 수 있음.
3 REG_BINARY 이진 값
4 REG_DWORD/REG_DWORD_LITTLE_ENDIAN DWORD 값(32bit) 정수(리틀엔디언)
5 REG_DWORD_BIG_ENDIAN DWORD 값(32bit) 정수(빅엔디언)
6 REG_LINK 심볼 링크(유니코드)
7 REG_MULTI_SZ 다중 문자열 값(고유한 문자열 배열)
8 REG_RESOURCE_LIST 리소스 목록
9 REG_FULL_RESOURCE_DESCRIPTOR 리소스 서술자
10 REG_RESOURCE_REQUIRMENTS_LIST 리소스 요구 목록
11 REG_QWORD/REG_QWORD_LITTLE_ENDIAN QWORD 값(64bit 정수)

https://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC

 

HKCU 서브키

- AppEvents: 윈도우와 윈도우용 프로그램이 사용하는 각 이벤트에 대한 효과음 등을 사운드 관련 정의

- Console: 명령 프롬포트 설정 정보

- Control Panel: 환경 설정 정보

- Environment: 환경 변수 정의

- EUDC(End User Defined Characters): 사용자 정의 문자 편집기

- Identities: 윈도우 메일 계정 정보

- Keyboard Layout: 키보드 레이아웃 설정 정보

- Network: 네트워크 드라이브 매핑 정보 및 환경 설정 값

- Printers: 프린터 연결 정보

- Session Information: 한 세션에서 동작 중인 프로그램 중에서 작업표시줄에 보이는 프로그램 숫자

- Software: 현재 로그온한 사용자와 관련 있는 SW 목록

- Volatile Environment: 휘발성 환경 변수 정의

 

HKLM 서브키

- HARDWARE: 메모리 상에 저장되며(컴퓨터를 부팅해야만 알 수 있는 정보이거나 일회적으로 사용되는 정보) 어떤 HW가 장착되어 있는지 확인할 수 있을 뿐 세부적인 내용이 없음

SAM: 사용자의 패스워드, 소속 그룹, 도메인 정보와 같은 로컬 계정 정보와 그룹 정보를 저장, 

- SECURITY: 시스템 범위의 보안 정책과 사용자 권리 할당 정보를 저장

- SOFTWARE: 시스템 범위의 소프트웨어 목록과 환경 설정 정보(어플리케이션 이름, 경로, 라이센스 정보 등) 저장

- SYSTEM: 부팅될 때 필요한 시스템 범위의 환경 설정 정보 저장(로드할 디바이스 드라이버, 시작 서비스 목록 등)

 

HKU 서브키

- .DEFALUT: 시스템의 프로파일과 링크, 새로운 사용자가 로그온할 때 사용하는 설정 내용

로컬 서비스 계정 SID

- 네트워크 서비스 계정 SID

- 사용자의 SID:

- 사용자의 SID_Classes

 

레지스트리 포렌식


MRU: 가장 최근에 사용된 파일, 프로그램 등에 대한 정보 목록

 

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDig32\OpneSaveMRU

최근 open 되거나 save 된 파일 목록 기록

 

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDig32\LastVisitedMRU

최근 실행 프로그램의 파일명과 open/save한 파일이 존재하는 폴더 path 저장

 

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\rRunMRU

[시작]->[실행]을 선택하여 실행된 명령어의 목록 저장

 

HKCU\Software\Microsoft\SearchAssistant\ACMRU

최근 검색한 내용 저장

 

Autorun Location: windows 시스템이 시작되는 동안 프로그램을 실행시키기 위한 레지스트리 키

 

HKLM\Software\Microsoft\Windows\CurrentVersion\Run

windows 구동 시 실행되는 프로그램 목록(시작 프로그램)

 

HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce(EX)

windows 구동 시 1회 실행된 후 삭제되는 프로그램 목록

 

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices

windows 구동 시 실행되는 서비스 형태의 프로그램 목록

 

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

windows 구동 시 1회 실행된 후 삭제되는 서비스 형태의 프로그램 목록

 

Device 정보

 

HKLM\SYSTEM\ControlSet00x\Enum\USBSTOR

USB 장치 정보 저장, HKLM\SYSTEM\MountedDevices를 참조하여 어떤 USB 장치가 어떤 드라이브에 mount 되어 있는지 확인 가능

 

HKLM\SYSTEM\MountedDevices

NTFS 파일 시스템에 의해 사용된 mount된 volume 목록 유지

 

 

출처: https://blog.naver.com/vps32/221525531171