728x90

==

레지스트리는 윈도우 시스템이 운영되는데 필요한 정보를 담고 있다. 설치된 소프트웨어 정보부터 환경설정, 임시 저장값까지 시스템의 거의 모든 정보를 담고 있으므로 사고분석에 있어 공격자의 중요한 흔적을 찾을 수 있다.

 

레지스트리는 윈도우 부팅 시 하이브 파일에서 값을 읽어 들여 구성된다. 하이브 파일에서 직접 읽어 들여 구성되는 키를 Master Key라 하고 Master Key로부터 값을 가져와서 재구성하는 키를 Derived Key 라 한다.

 

Master Key :

HKLM(HKEY_LOCAL_MACHINE)

HKU(HKEY_USERS) 

 

Derived Key : 

HKCU(HKEY_CURRENT_USERS)

HKCC(HKEY_CURRENT_CONFIG)

HKCR(HKEY_CLASSES_ROOT)

 

레지스트리 루트키

HKCR(HKEY_CLASSES_ROOT) 

시스템에 등록된 파일 확장자와 그것을 열 때 사용할 애플리케이션에 대한 맵핑 정보 그리고  COM(Component Object Model) 오브젝트 등록 정보를 저장하고 있다.

 

HKCU(HKEY_CURRENT_USERS)

현재 시스템에 로그인하고 있는 사용자와 관련된 시스템 정보를 저장하고 있다 

HKEY_CURRENT_USER 키에서 설정한 내용이 HKEY_USERS보다 우선권을 갖게 된다. 만약 HKEY_CURRENT_USERS 키값이 변경되면 HKEY_USERS 키의 보안 식별자에 해당되는 키의 내용도 바뀌게 된다.

 

 

HKEY_CLASSES_ROOT - 확장자 설정, 기타
HKEY_CURRENT_USER - 사용자 설정(프로그램 설정도 여기에 포함된다)
HKEY_LOCAL_MACHINE - 모든 사용자의 설정을 담고 있으며 시스템 정보도 포함된다.
HKEY_USERS - 각각의 사용자 프로파일에 대한 HKEY_CURRENT_USER 키에 일치하는 서브키를 담고 있다.
HKEY_CURRENT_CONFIG - 실행 시간에 수집한 자료를 담고 있다. 이 키에 저장된 정보들은 디스크에 영구적으로 저장되지는 않고 시동 시간에 생성된다고 한다.

HKEY_PERFORMANCE_DATA - 런타임 성능 데이터 정보를 제공한다. 기본적으로는 레지스트리 편집기에서 보이지 않고, 윈도우 API의 레지스트리 검색 함수를 통해 볼 수 있다.

 

 

 

 

윈도우 레지스트리 최상단 레벨의 키에는

HKEY_LOCAL_MACHINE : 시스템의 하드웨어, 소프트웨어 설정 및 다양한 환경 정보

HKEY_USERS : 시스템의 모든 사용자와 그룹에 관한 프로파일 정보

HKEY_CURRENT_USER : 현재 시스템에 로그인된 사용자의 사용자 프로파일 정보

HKEY_CURRENT_CONFIG : 시스템이 시작할 때 사용ㅎ되는 하드웨어 프로파일 정보

HKEY_CLASS_ROOT : 파일 연관성과 COM(Component Object Model) 객체 등록 정보



위와 같이  존재한다. 이 중에서 현재 시스템의 하드웨어를 구동하기 위해서 설정된 레지스트리 정보를 포함하는 항목은 HKEY_LOCAL_MACHINE 이다.

윈도우 레지스트리는 마이크로소프트 윈도우 32/64비트 버전과 윈도우 모바일 운영체제의 설정과 선택 항목을 담고 있는 데이터베이스로, 모든 하드웨어, 운영체제 소프트웨어, 대부분의 비운영체제 소프트웨어, 사용자 PC 선호도 등에 대한 정보와 설정이 들어 있다.

사용자가 제어판 설정, 파일 연결, 시스템 정책, 또는 설치된 소프트웨어를 변경하면, 이에 따른 변경 사항들이 레지스트리에 반영되어 저장된다.

레지스트리는 또한 성능 카운터와 현재 사용하고 있는 하드웨어와 같은 런타임 정보를 노출하면서 윈도우를 커널의 운영체제안에 제공한다. 레지스트리는 키와 값이라는 두 가지 기본 요소를 포함하고 있다.

레지스트리 키는 폴더와 비슷한 구조인데, 값과 함께 수많은 서브키를 가질 수 있다. 키는 계급 수준을 지시하기 위해 백슬래시를 사용하면서 Windows라는 경로 이름과 비슷한 구문으로 가리킨다.

이를테면 HKEY_LOCAL_MACHINE₩Software₩Microsoft₩Windows는 “HKEY_LOCAL_MACHINE" 키의 "Software" 서브키의 "Microsoft" 서브키의 ”Windows"라는 서브키를 가리킨다. 레지스트리 값은 키안에 들어 있는 이름/자료이다. 값은 여러 키로부터 따로 참조할 수 있다.

 

 

 

==

레지스트리 데이터베이는 '하이브'라는 레지스트리 하위 집합이 들어 있는 여러 개의 파일로 구성되어 있다. 하이브에는 하나 이상의 레지스트리 키와 서브키, 설정항목이 들어 있다.

 

레지스트리는 대부분 하이브(Hive)라고 부르는 파일의 세트에 들어있다. 하이브는 바이너리 파일이기 때문에 ‘레지스트리 편집기’와 같은 특별한 에디터가 없으면 살펴볼 방법이 없다. (사용자가 직접 레지스트리를 조작하는 작업은 레지스트리 편집기라는 프로그램을 통해서 이뤄진다)

 

그러나 하이브는 레지스트리의 일부를 로드하거나 백업하기 쉽게 해준다. 대부분의 레지스트리는 하이브 파일에 저장되며 이 파일은 숨김, 시스템, 읽기전용 속성은 가지고 있지 않지만, 항상 열려 사용되고 있기 때문에 할 수 있는 일이 제한되어 있다.

컴퓨터 설정과 연관된 하이브 파일은 ₩Windows₩System32₩CONFIG 디렉토리에 들어있다. 그리고 사용자 설정에 관련된 하이브 파일은 ₩Document and Settings₩username 디렉토리에 들어있다. 사실 이는 로컬 사용자 설정인 경우이고, ‘이동 사용자 프로필’을 가진 사용자들은 NTUSER.DAT 라는 설정 파일의 복사본이 네트워크 공유에도 저장되어 있다

+ Recent posts