Piki's Play
Chapter 2-4 . 레지스트리 분석 본문
개인 정리용이라 내용이 부실할 수 있습니다!
▶ 루트키
-> 총 5개로 이루어져 있다. (HKLM, HKCU, HKLM, HKU, HKCC)
▷ HKEY_CLASSES_ROOT
-> 파일 확장자와 확장자가 사용할 프로그램의 맵핑 정보가 정의되어있다.
-> HKCR은 자신만의 서브키가 없고 HKLM과 HKU의 Classes 서브키 심볼릭 정보를 가져와 자신의 서브키로 만든다.
▷ 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, ... )를 이용해 디스크의 비활당 영역에서 파일을 복구하는 방식을 파일 카빙이라고 합니다.
-> 파일 구조 베이스블록, 하이브 빈, 셀로 이루어져 있음
베이스 블록 : 하이브의 시작 부분으로 헤더 역할을 한다. 여러 정보를 저장
하이브 빈 : 다음 하이브 빈까지의 상대적 거리를 저장하고 있다. 하이브의 논리적 구조를 결정짓는 요소로 작용한다.
셀 : 하이브 빈보다 더 작은 논리적 저장단위이며 실제 레지스트리 데이터를 저장할 때 사용되는 단위
'포렌식 > 디지털포렌식의 세계' 카테고리의 다른 글
Chapter 3-3. Digital Forensics Tool에 대한 간단한 소개 (0) | 2020.09.18 |
---|---|
Chapter 3-1. PE(Portable Executable) 분석 (0) | 2020.09.10 |
Chapter2-2. 메모리 분석 (0) | 2020.09.07 |