[Windows Artifacts] Registry

 

윈도우 아티팩트


(1) Registry란?

  • Windows OS 내의 설정과 선택 항목을 담고 있는 데이터베이스

    • 하드웨어

    • 소프트웨어

    • 대부분의 none-운영체제 소프트웨어

    • 사용자 PC 설정

    • 사용자 제어판 설정

    • 파일 연결

    • 시스템 정책

    • 설치된 소프트웨어 변경

    • 운영체제의 런타임 정보 커널에 제공

  • 이전에는 이러한 구성 설정을 각 프로그램마다 INI 파일에 저장

    • But, 이러한 파일들은 파편화되어 관리 비용이 많이 듦

    • 이러한 연유로 윈도우 레지스트리 도입

[그림 1] 윈도우 레지스트리


(2) 레지스트리 상세 내용

 

2-1. Kind of

  • Windows Database

2-2. Information

  • Windows Setting and Activities

2-3. Path

  • C:\Windows\System32\config\*

  • %UserProfile%\NTUSER.DAT (OS dependency)

  • %UserProfile%\Local Settings\Application Data\Microsoft\Windows\Usrclass.dat 

2-4. Characteristic

  • Hierarchical Structure, in memory at runtime, save as hive to disk

2-5. Tools

  • Registry Explorer, RECmd

  • REGA

 

2-5-1. Registry, RECmd : https://ericzimmerman.github.io

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

2-5-2. REGA : http://forensic.korea.ac.kr/tools.html

 

DFRC - Digital Forensic Research Center

 

forensic.korea.ac.kr


(3) 아티팩트 분석 실습

3-1. FTK Imager > Users > %UserProfile% > NTUSER.DAT

 

[그림 2] FTK Imager - NTUSER.DAT

 

3-2. NTUSER.DAT(LOG) - Export Files

 

[그림 3] 레지스트리 아티팩트 수집

 

여기서 중요한 것은, 레지스트리 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

[그림 4] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 4]는 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 파일을 지정해 준 화면이다.

 

 

3-3. Registry Explorer 활용, 레지스트리 아티팩트 분석

 

[그림 5] Registry Explorer

 

여기서 LOG1과 LOG2 파일을 넣는 이유는, 하이브 파일은 대부분 같은 경로에 트랜잭션 동작을 위해 '트랜잭션 로그 파일'을 남긴다.

 

LOG 파일은 레지스트리의 적용되기 전의 보류 중인 트랜잭션 데이터를 하이브에 다시 저장하거나, 제거하기 위해 충분한 정보를 임시로 저장해놓는 파일이다.

 

따라서 해당 파일들을 같이 수집하여 분석 도구에 넣고 분석해줘야 정상 결과들이 출력된다.

 

 

3-4. CSV 파일 생성 및 분석 (Sublime Text3)

 

[그림 6] CSV 파일 오픈

 

분석 진행을 위해 레지스트리 아티팩트를 CSV 파일로 만든 후, Sublime Text 3 프로그램으로 해당 파일을 오픈한다.

 

 

3-5. 테이블 & 컬럼 분석

 

[그림 7] 특정 테이블 및 컬럼 분석

 

FTK Imager에 대한 프로그램 정보를 예로 들어 설명한다.

 

  • FTK Imager(Key name)는 프로그램에 대한 정보이며, 0은 Values 값, 2는 Sub Key, 2019-11-03 13:17:33은 마지막으로 사용한 시간 정보라는 것으로 확인가능


(4) 추가 내용 정리

  • 윈도우 레지스트리는 Microsoft Windows OS에서 운영체제와 응용 프로그램 운영에 필요한 정보를 저장하기 위해 고안한 계층형 데이터베이스

  • 부팅 과정부터 로그인, 서비스 실행, 응용 프로그램 실행, 사용자 행위 등 모든 활동에 관여

  • 레지스트리 포렌식 분석의 필요성으로는 운영체제 정보, 사용자 계정 정보, 시스템 정보, 응용 프로그램 실행 흔적, 최근 접근 문서 등이 포함되며, 자동 실행 항목 분석이나 악성코드 탐지 등을 목적으로 함

  • 레지스트리 분석의 포렌식 관점으로는 온라인 레지스트리 분석과 오프라인 레지스트리 분석으로 나뉨

  • 온라인 레지스트리 분석은 활성 시스템에서의 레지스트리 분석을 뜻하며, 오프라인 레지스트리 분석은 비활성 시스템에서의 레지스트리 분석을 뜻함

  • 하이브 파일은 레지스트리 정보를 저장하고 있는 물리적 파일로, 키 값들이 논리적인 구조로 저장되며, 활성 시스템의 커널에서 하이브 파일을 관리 (일반적 방법 접근 불가)

  • 하이브 셋은 활성 시스템의 레지스트리를 구성하는 하이브 파일 목록이며, 하이브 파일은 다음과 같음

    • SAM

    • SECURITY

    • SYSTEM

    • SOFTWARE

    • Default

    • NTUSER.DAT

    • BCD

    • COMPONENTS


# Reference

 

http://index-of.co.uk/Forensic/A%20Forensic%20Analysis%20of%20the%20Windows%20Registry.pdf

 

http://dandylife.net/docs/Windows-Registry-Artifacts.pdf

 

https://www.fireeye.com/blog/threat-research/2019/01/digging-up-the-past-windows-registry-forensics-revisited.html

 

https://github.com/msuhanov/regf/blob/master/Windows%20registry%20file%20format%20specification.md#types-of-files

 

codediver.tistory.com/attachment/cfile10.uf@999890335A20C43605E477.pdf

 

http://forensic-proof.com/ (FP) 레지스트리 포렌식과 보안 

'Digital Forensics > Artifacts' 카테고리의 다른 글

[Windows Artifacts] Event Log  (0) 2020.05.25
[Windows Artifacts] Prefetch  (0) 2020.05.24
[Windows Artifacts] $UsnJrnl  (0) 2020.05.24
[Windows Artifacts] $LogFile  (0) 2020.05.24
[Windows Artifacts] $MFT  (0) 2020.05.24

+ Recent posts