brunch

You can make anything
by writing

C.S.Lewis

by Jyoo Sep 23. 2024

[디지털 포렌식]07. Window Artifact 3

레지스트리(Registry)

01. Overview of Window Registry

1. Window Registry

:   윈도우 레지스트리란 무엇일까? 중앙 집중식 계층적 데이터 베이스를 말한다.

더 쉽게 말하자면, 컴퓨터의 "설정 데이터베이스"라고 생각하면 좋다. 이는 윈도우 운영체제와 다양한 프로그램들이 사용하는 설정 정보와 옵션을 저장하는 곳이다. 레지스트리에는 시스템 하드웨어, 설치된 소프트웨어, 사용자 계정 정보, 파일 연결, 네트워크 설정 등의 정보가 들어 있다. 아래와 같은 세 가지 큰 특징을 가지고 윈도우에서 사용된다.

     윈도우에서 관리.

     운영 체제와 애플리케이션의 구성 설정을 저장

     사용자 활동과 관련된 데이터를 저장     ex:) 부팅, 로그온, 서비스 실행, 파일 및 폴더 관리


2. 레지스트리 키와 값   

레지스트리는 크게 키(key)와 값(value)으로 이루어져 있다. 이를 폴더와 파일의 구조로 비유할 수 있다.  

키(key): 폴더처럼 여러 하위 항목을 포함할 수 있으며, 하위 항목들을 "서브키"라고 한다.

값(value): 파일처럼 실제 정보를 저장하는 항목입니다. 이 값들은 문자열, 숫자 또는 다른 형식의 데이터일 수 있다.


3. Root Keys   

     HKEY_CLASSES_ROOT (HKCR)     파일 확장자 연결, COM 클래스 등록 정보 저장     → 접근한 폴더

     HKEY_CURRENT_USER (HKCU)     현재 로그온된 사용자의 프로파일 정보 저장     → RDP 연결, 열린 파일 및 폴더, 실행된 명령, 실행된 앱, 접근한 폴더

     HKEY_LOCAL_MACHINE (HKLM)     운영 체제와 애플리케이션의 구성 설정 저장     → OS 설치정보, 컴퓨터 이름, 마지막 종료 시간, 사용자 계정, 시간대, NIC, 하드웨어, 앱 제거 정보

     HKEY_USERS(HKU)     모든 사용자 계정의 프로파일 정보 저장

     HKEY_CURENT_CONFIG (HKCC)     현재 사용중인 하드웨어 프로파일 정보 저장


02. Collecting Window Registry

1. Hive 파일

: 레지스트리 데이터를 저장하는 물리적 파일을 말한다.

     특징            윈도우 커널에 의해 열리고 관리됨       실시간 시스템에서 단순 복사 불가능 → 특별한 도구를 사용해서 수집       시그니처 : 0x72656755 (rdgf)  


     주요 hive 파일     SAM, SECURITY, SYSTEM, SOFTWARE, NTUSER.DAT, UsrClass.dat, Amcache.hve


     파일 위치
           HKCR = SOFTWARE\\Classes\\ + UsrClass.dat (현재 사용자).       HKCU = NTUSER.DAT (현재 사용자).       HKLM\SAM =%SystemRoot%\\System32\\Config\\SAM.       HKLM\SECURITY =%SystemRoot%\\System32\\Config\\SECURITY.       HKLM\SOFTWARE =%SystemRoot%\\System32\\Config\\SOFTWARE.       HKLM\SYSTEM = %SystemRoot%\\System32\\Config\\SYSTEM.       HKU{SID} = %UserProfile%\\NTUSER.DAT.       HKU{SID}_Classes =%LocalAppData%\\Microsoft\\Windows\\UsrClass.dat.  


     수집 도구     KAPE : RegistryHives


2. Registry Format Internal

Hive 파일 = 기본 블록(base block) (512B = 4KiB) + 여러 하이브 빈(Hive Bins)

Hive Bin = 빈 헤더 + 여러 하이브 셀(키, 키 목록, 값, 값 목록, 데이터)


03. Forensic Analysis of Window Registry

1. Regisrty와 디지털 포렌식   

무엇을 분석하나요? -> 윈도우 설치 정보       사용자 계정       설치된, 실행된 앱       열린 파일       연결된 네트워크       연결된 하드웨어(스토리지 디바이스)


분석 도구            Registry Explorer: https://ericzimmerman.github.io/       REGA: https://dfrc.korea.ac.kr/infra_dfrc_tools/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=14616120&t=board  


2. OS 설치 정보

위치 :

*HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion**   

ProductName: OS 이름.

RegisteredOwner: 소유자 이름.

RegisteredOrganization: 조직 이름.

ProductId: 제품 ID (OS 식별자).

BuildLab(Ex): OS 빌드 버전.

InstallDate: OS 설치 시간 (Unixtime).

InstallTime: OS 설치 시간 (FILETIME).

SystemRoot: 루트 폴더 (%SystemRoot%).


3. 컴퓨터 이름 (Computer Name) - SYSTEM

위치 :

*HKLM\\SYSTEM?ControlSet?\\Control\\ComputerName\\ComputerName**

4. 마지막 종료 시간 (Last Shutdown Time) - SYSTEM

위치 :

*HKLM\\SYSTEM?ControlSet?\\Control\\Windows**

5. 사용자 계정 (User Accounts) - SAM

**위치 : **

HKLM\\SAM\\SAM\\Domains\\Account\\Users{RID}*   

각 사용자의 정보는 {RID} 하위 키의 F 값과 V 값에 저장됨.


V 값:            계정 이름, 전체 이름, 계정 설명.       LM 해시, NT 해시 (사용자 비밀번호에서 파생).  


F 값:            마지막 로그인 시간, 마지막 비밀번호 재설정 시간, 마지막 로그인 실패 시간.       RID (SID의 마지막 부분), 계정 상태 (활성/비활성, 비밀번호 활성화 등).       로그인 실패 횟수, 로그인 성공 횟수  


6. 시간대 (Time Zone) -SYSTEM

**위치 :

***HKLM\\SYSTEM?ControlSet?\\Control\\TimeZoneInformation**   

ActiveTimeBias


TimeZoneKeyName


7. 네트워크 인터페이스 카드(NIC) - SOFTWARE / SYSTEM   

*HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards**


*HKLM\\SYSTEM?ControlSet?\\Services\\Tcpip\\Parameters\\Interfaces**


8. Remote Desktop Protocol 연결 - SOFTWARE

위치 :

*HKCU\\SOFTWARE\\Microsoft\\Terminal Server Client\\Default*   

터미널 서버 클라이언트


RDP를 통해 연결된 원격 컴퓨터 목록 (URL, IP 주소).


9. 열린 파일 및 폴더 - SOFTWARE   

     Explorer’s RecentDocs:     위치 : *HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RecentDocs**            최근에 열린 파일 이름을 관리       하위 키는 파일 확장자로 구분  


     Explorer’s ComDlg32:     위치 : HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32            CIDSizeMRU: 열기, 저장 대화 상자를 실행한 앱 목록       LastVisitedPidlMRU: 열기, 저장 대화 상자를 통해 접근한 폴더 경로 목록       OpenSavePidlMRU: 열기, 저장 대화 상자를 통해 처리된 파일 경로 목록       하위 키는 파일 확장자로 구분  


10. 실행된 명령 - SORTWARE   

     Explorer’s RunMRU:     위치 : HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU            실행 창을 통해 실행된 명령 목록  


11. 접근한 폴더 - SOFTWARE   

ShellBag:            *HKCR\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU**       *HKCR\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags**       *HKCU\\Software\\Microsoft\\Windows\\Shell\\BagMRU**       *HKCU\\Software\\Microsoft\\Windows\\Shell\\Bags**  


Windows 탐색기를 통해 접근한 폴더 정보를 관리.


탐색기 종료 시 폴더의 타임스탬프를 저장.


12. 하드웨어 - 저장 장치 - SYSTEM   

USB 관련 정보            *HKLM\\SYSTEM?ControlSet?\\Enum\\USB**                    VID_####&PID_####: 제조업체 ID 및 제품 ID.         *HKLM\\SYSTEM?ControlSet?\\Enum\\USBSTOR**                    제조업체, 제품 이름, 일련 번호 등.    


USB 관련 타임 스탬프            *HKLM\\SYSTEM?ControlSet?\\Enum\\USBSTOR?Ven&Prod&Rev??SerialNumber?\\Properties{83da6326-97a6-4088-9453-a1923f573b29}**       0064 키의 '기본' 값 (FILETIME): 첫 설치 시간.       0066 키의 '기본' 값 (FILETIME): 마지막 삽입 시간.       0067 키의 '기본' 값 (FILETIME): 마지막 제거 시간.  


13. 앱 사용 이력 - SOFTWARE   

애플리케이션 제거 정보 (설치된 애플리케이션)            *HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall**  


Explorer’s UserAssist (실행된 애플리케이션)            *HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist**       각 실행 파일의 '실행 횟수'와 '마지막 실행 타임스탬프' 관리.  


매거진의 이전글 [디지털 포렌식]06. Window Artifact 2
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari