Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

Piki's Play

Chapter 2-4 . 레지스트리 분석 본문

포렌식/디지털포렌식의 세계

Chapter 2-4 . 레지스트리 분석

Pikigod 2020. 9. 9. 14:43

개인 정리용이라 내용이 부실할 수 있습니다!


루트키

-> 5개로 이루어져 있다. (HKLM, HKCU, HKLM, HKU, HKCC)

 

HKEY_CLASSES_ROOT

-> 파일 확장자와 확장자가 사용할 프로그램의 맵핑 정보가 정의되어있다.

-> HKCR은 자신만의 서브키가 없고 HKLMHKUClasses 서브키 심볼릭 정보를 가져와 자신의 서브키로 만든다.

 

HKEY_CURRENT_USER

-> 현재 시스템에 로그온하고 있는 사용자가 설정한 시스템 환경정보(네트워크, 응용 프로그램 등의 정보)가 정의되어 있다.

-> HKU에서 가져온 것들을 서브키로 두고 있다.

 

HKEY_LOCAL_MACHINE

-> 시스템의 하드웨어 구성에 필요한 초기화 파일과 소프트웨어 정보, 드라이버 정보 등이 정의되어 있다.

-> 자체 하이브를 가지고 있다. 특정 하이브는 관리자 계정으로도 접근하지 못한다.(시스템 계정으로 접근)

 

1. HKLM\HARDWARE

-> 휘발성 정보로서 메모리에 존재하고, 부팅시 관련된 하드웨어 장치와 드라이버 맵핑 정보들을 저장. 하이브파일이 존재하지는 않지만 DerivedKey는 아님

 

2. HKLM\SAM

-> 사용자의 로컬 계정 정보와 그룹정보를 가짐. 이 하이브는 관리자 계정으로 접근이 불가하고 시스템 계정으로만 접근이 가능하다.

-> 통합 포렌식 도구(ex.psExec)를 통해 시스템 계정 얻기 가능

 

3. HKLM\SECURITY

-> 시스템 범위의 보안 정책과 사용자 권한 할당 정보, 현재 시스템의 패스워드, 마지막 로그온 사용자의 패스워드 등의 정보를 가지고 있다.

 

4. HKLM\SYSTEM

-> 시스템이 부팅될 때의 환경 정보를 가지고 있다. 정상 부팅 시 정보들은 복사되고 비정상 종료시에 복사해 둔 정보를 바탕으로 부팅할 수 있는 옵션을 제공

-> CurrentControlSet 키 중에서 controlset001, controlset002 둘 중 어느 하나에 대한 링크이다. 이는 부팅 시 사용된 controlset을 구분해줌

 

 

HKEY_USER

-> 시스템에 있는 모든 계정그룹에 대한 시스템 환경정보가 정의되어 있다.

 

HKEY_CURRENT_CONFIG

-> 시스템이 부팅 시 사용하는 하드웨어 프로파일 정보가 정의되어 있다.

 

 

HKCU 서브키 타입

 

 

ROT 방식의 서브키

-> HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist 아래의 서브키들은 ROT-13 방식으로 저장한다. (암호화 방식)

따라서 ROT 복호화가 필요하다.

 

하이브 구조

-> 하이브 구조를 알고 비할당영역이나, 메모리 등에서 하이브를 추출(카빙)하는 방법을 구상하자.

matadata 보다는 파일 자체의 바이너리 데이터(content, signature, header, ... )를 이용해 디스크의 비활당 영역에서 파일을 복구하는 방식을 파일 카빙이라고 합니다.

 

-> 파일 구조 베이스블록, 하이브 빈, 셀로 이루어져 있음

 

베이스 블록 : 하이브의 시작 부분으로 헤더 역할을 한다. 여러 정보를 저장

하이브 빈 : 다음 하이브 빈까지의 상대적 거리를 저장하고 있다. 하이브의 논리적 구조를 결정짓는 요소로 작용한다.

: 하이브 빈보다 더 작은 논리적 저장단위이며 실제 레지스트리 데이터를 저장할 때 사용되는 단위