Free my mind
레지스트리 본문
Registry Analysis
- 온라인(On-line) 레지스트리 분석 - Regedit(regedit.exe), Regedt32(regedt32.exe)
- 오프라인(Off-line) 레지스트리 분석
비활성시스템(복제 이미지)에서의 레지스트리 분석
Registry Hive File의 수집 필요
Registry를 통해 알 수 있는 정보
- 컴퓨터 정보
- 최근에 열었거나, 실행, 수정한 문서에 대한 사용 흔적
- 서버의 경우 불법계정생성 유무 확인
- 특정 프로그램 설치 및 삭제 흔적
- 악성 프로그램 감염 여부
Registry의 구성
HKEY = Windows Handles to Key
루트키들은 하이브(hive)라 불리는 작은 레지스트리 데이터 구조체들의 집합 or 그 서브셋
HKEY_CLASSES_ROOT 시스템에 등록된 파일 확장자와 그것을 열 때 사용할 애플리케이션에 대한 맵핑 정보 COM(Component Object Model) 오브젝트 등록 정보 저장
HKEY_CURRENT_USER 현재 시스템에 로그온하고 있는 사용자와 관련된 시스템 정보를 저장
HKEY_LOCAL_MACHINE 시스템에 있는 하드웨어, 소프트웨어 정보를 저장
HKEY_USERS 시스템에 있는 모든 계정과 그룹에 관한 정보를 저장
HKEY_CURRENT_CONFIG 시스템이 시작할 때 사용하는 하드웨어 프로파일 정보를 저장, 윈도우 디스플레이, 프린터 정보
┌ HKLM - 하드웨어 소프트웨어
│ HKCR - 소프트웨어
└ HKCC - 하드웨어
┌ HKU - 시스템의 모든 계정
└ HKCU - 시스템 정보
빨간 글씨가 메인이고 검정색 글씨는 서브셋이다.
백업 용도로 존재한다.
Hive File Structure - Hive file – Registry의 정보를 갖고 있는 디스크 상의 파일
base block은 고정이고, ref라는 시그니쳐가 들어있으면 레지스트리 하이브 파일이라고 보면 된다.
일정한 크기가 있는데, 4096 byte이다. (블럭단위 offset = 1000) 헥사 에딧으로 볼때 16진수이기 때문에 1000
하이브에서 사용하는 논리적인 할당 단위
블록 크기 : 4,096 바이트
새로운 데이터 추가 시 블록 단위로 증가
첫 번째 블록 : 베이스 블록(base block)
• 시그니처 ( “regf” )
• 갱신 순서 번호
• 마지막 수정 시간
• 레지스트리 복원 / 복구에 관한 정보
• 하이브 포맷 버전 번호
• 체크섬
• 파일명
Hive Structure (Hive Bin)
레지스트리의 논리적 크기는 블록 단위로 증가
블록 내부적으로 데이터를 저장하기 위한 4,096 byte 구조
레지스트리 로드 시 하이브 빈 단위를 기준으로 로드
모든 하이브 빈은 “hbin”이라는 시그니처 값으로 시작
Hive Structure (Cell)
하이브 내의 다양한 데이터는 셀 구조로 저장 (8바이트의 배수)
--> 레지스트리 서브 키들의 조합
Hive Structure
• Parent Key에서 Child Key로 가려면 무조건 Subkey list를 통해야 한다. • Child Key에서 상위 Parent Key로 는 바로 간다.
Block Size : 4,096bytes Hive Header : 1블록 Hive Bin
Cell
• Cell을 포함한 컨테이너
• 가변 길이의 블록
• hbin 으로 시작
• 레지스트리 로드 시 Hive Bin 단위를 기준
• 실제 데이터 저장 단위(8byte 배수)
• Key, subkey-list, value, value list, data, security descriptor
Hive Header
offset 값이 1000이기 때문에 기본적으로 더해준다.
Hive Structure (Hive Bin Header)
Hive Structure (Hive Bin)
'guitar 등등' 카테고리의 다른 글
우분투 설치시 한글 입력 안될때 개꿀팁 (1) | 2018.05.29 |
---|