Registry
- 윈도우의 하드웨어, 소프트웨어, 운영체제의 환경설정 및 실행정보를 담고있는 계층적 데이터베이스
- key/value 구조로 값을 가지고있음
- 여러개의 Hive 파일이 OS부팅, 사용자 로그인이 될때 메모리에 로드되면서 사용됨
Root Key
- HKEY_CLASSES_ROOT(HKCR) : 파일 확장자, OLE정보 등의 연결 정보
- HKEY_CURRENT_USER(HKCU) : 현재 로그인한 사용자의 환경설정 정보
- HKEY_LOCAL_MACHINE(HKLM) : 컴퓨터의 하드웨어/소프트웨어 구성 정보
- HKEY_USERS(HKU) : 컴퓨터의 모든 사용자 프로필
- HKEY_CURRENT_CONFIG(HKCC) : 하드웨어 프로필 정보
Hive 파일(%SystemRoot%\System32\Config)
- SYSTEM : 설치 드라이버, ControlSet, 부팅, 하드웨어 프로파일 등
- SAM : 로컬 계정/그룹 관련 보안 DB
- SOFTWARE : 설치 소프트웨어, 시스템 전역 애플리케이션 설정, COM/Classes 일부 등
- SECURITY : LSA Policy/Secrets 등 보안 관련
- DEAFAULT : “기본 사용자” 템플릿/로그온 화면 등에서 쓰이는 기본 프로파일 성격
사용자 Hive
- NTUSER.DAT : 사용자 환경설정
- UsrClass.dat : 사용자별 Classes/쉘 확장/COM 관련 일부가 이쪽이랑 연관됨
- 경로 : AppData\\Local\\Microsoft\\Windows\\UsrClass.dat
로그, 백업, 보조파일 경로
- 트랜젝션 로그 : LOG, LOG1, LOG2
- .log는 key/value변경에 대한 트랜젝션 변경 로그
- 하이브는 primary hive + transaction log + (TxR 파일) 로 구성될 수 있고, 로그는 장애 복구(fault-tolerant write)를 위해 dirty block을 먼저 로그에 쓰고 이후 본 파일에 반영
*TxR 파일 : 하이브에 모든 값을 성공적으로 써야하는데 실패가 하나라도 있다면 전부 실패로 해버리는것 그래서 해당 로그를남겨서 어떤것이 실패를 해서 전부 실패했는지 알게 하는 로그
- 백업/세이브 로그 : .sav, .alt, RegBack
- .alt : 중요 SYSTEM Hive의 백업(System Key에서만 존재)
- .sav : 하이브 백업(특정 시점/설치 단계 보호 목적 등)
레지스트리 값 종류
- REG_SZ : 일반 문자열
- REG_EXPAND_SZ : 환경변수 포함 문자열(예: %SystemRoot%)
- REG_MULTI_SZ : 문자열 배열(멀티스트링)
- REG_DWORD / REG_QWORD : 32비트/64비트 정수
- REG_BINARY : 바이너리 blob
DFIR 시점에서의 보면 좋은
- SYSTEM : 서비스/드라이버, 부팅 흔적, 장치/하드웨어 프로파일
- SOFTWARE : 설치 SW, 시스템 전역 설정, 프로그램 흔적(일부)
- SAM/SECURITY : 로컬 계정/보안 정책/비밀정보(취급 주의)
- NTUSER.DAT : 사용자 행위 흔적(실행/최근 사용/환경설정 계열이 많이 모임)
- UsrClass.dat : 사용자 쉘/클래스(확장/COM/셸 관련) 계열에서 자주 핵심
파일 숨기기 레지스트리 값
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder \Hidden ( 숨김 파일 및 폴더 표시- 0x0 숨김)
- HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced \ShowSuperHidden (보호된 운영체제 파일 숨기기 — 0x0 숨김)