Windows Registry

RINM·2022년 10월 24일
0
post-thumbnail

1. Windows Artifacts

Windows 운영체제가 사용자의 행위를 수행하는 과정에서 기록된 정보 개체

  • 생성 증거: 프로세스, 시스템에서 자동으로 생성한 데이터
  • 보관증거: 사용자가 직접 작성한 데이터

생성 증거의 일환으로서 사용자의 행위를 분석하는데 사용

사용자의 행위에 따라 어떤 정보가 저장되며, 이 정보가 어떻게 사용되는지에 집중

2. Windows Registry

1) 개요

운영체제와 응용 프로그램 운영에 필요한 정보를 담고 있는 계층형 데이터베이스

  • 시스템 표준 시간 (TimeZone)
  • 시스템 정보 (Systeminfo)
  • 사용자 계정 정보
  • 환경 변수 정보
  • 자동 실행 프로그램
  • 응용 프로그램 실행 흔적
  • USB 연결 흔적
  • 접근한 폴더 정보 (Shellbag)

2) 레지스트리 구조

레지스트리 편집기 (regedit)

regedit

레지스트리 조회 및 편집을 위한 Windows 자체 프로그램

계층형 구조

Root Key(5개) > Sub Key > Sub key …

각 Key는 Value | Type | Data 로 이루어져 있음

루트 키

HKEY_CLASSES_ROOT (HKCR) : 파일 확장자 연결 정보, COM 객체 등록 정보

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

HKEY_LOCAL_MACHINE (HKLM) : 시스템 하드웨어, 스프트웨어 설정 및 기타 환경 정보

HKEY_USERS (HKU) : 시스템 모든 사용자와 그룹의 프로파일 정보

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

3. 레지스트리 유형

1) TimeZone : 시스템 표준 시간

경로: HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\

timezone

  • Bias 값이 UTC 정보

2) Systeminfo

경로: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\

systeminfo

  • BuildLab: 윈도우 버전
  • InstallDate: 설치 날짜 (Unix Time Stamp)
  • 제품 ID: ProductId

** 터미널에서 systeminfo 명령어로 확인 가능

3) Autoruns : 자동 실행 프로그램

경로: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

RunOnce와 RunOnceEx에 등록된 프로그램은 단 한번만 자동 실행되고 이후 삭제 됨

4) User Account : 사용자 계정 정보

경로: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\

useraccount

  • S-1-5-18: systemprofile
  • S-1-5-19: LocalService
  • S-1-5-20: NetworkService
  • S-1-5-21: 사용자가 만든 계정
    • 500은 관리자 계정(administrator)
    • 1000이상은 user 권한
    • 사용자 최종 로그인 시간 : LocalProfileLoadTimeHigh + LocalProfileLoadTimeLow localprofileloadtime

5) Environment Variables : 시스템/사용자 환경 변수

경로

  • 사용자 환경 변수: HKU{SID}\Environment userenv
  • 시스템 환경 변수: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment sysenv

6) Excutable : 응용프로그램 실행 흔적

(1) UserAssist : 최근 실행 프로그램, 마지막 실행 시간, 실행 횟수

경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist

  • {CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count: 실행 파일 실행 기록 exe
- 프로그램 이름은 ROT13을 적용하여 확인 가능
  • {F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count: 바로가기 실행 기록 lnk

(2) OpenSavePidIMRU : 열기 혹은 저장 기능으로 사용된 파일

경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU

file

  • 확장자 별로 나열
  • MRUListEx: 실행 순서

(3) LastVisitedPidIMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램

경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU

exe

7) USB Connection : USB 연결 흔적

경로

  • 모든 USB: HKLM\SYSTEM\ControlSet001\Enum\USB

    usbconnect

    • VID(Vendor ID: 제조사 ID)와 PID(Product ID: 상품 ID)
  • USB 저장 장치: HKLM\SYSTEM\ControlSet001\Enum\USBSTOR

    usbstorage

  • 마운트 디바이스: HKLM\SYSTEM\MountedDevices

    mounted

USB 제품명, 시리얼 번호, 최초 연결 시각, 마지막 연결 시각

8) Shellbags: 사용자 접근 폴더 정보

경로 :

  • HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags (or BagMRU)
  • HKCU\Software\Microsoft\Windows\Shell\Bags (or BagMRU)

shellbag

  • BagMRU: 폴더의 계층적 구조
  • Bag: 윈도우 사이즈, 위치 등 사용자의 환경설정을 저장
  • 삭제된 폴더의 정보도 찾을 수 있음

4. 레지스트리 분석

1) 레지스트리 파일 추출

FTK Imager 이용

추출 파일 경로 *log1, log2 파일도 포함해서 추출

  • [root]\Users{USERNAME}\NTUSER.DAT
  • [root]\Windows\System32\config\DEFAULT
  • [root]\Windows\System32\config\SAM
  • [root]\Windows\System32\config\SECURITY
  • [root]\Windows\System32\config\SOFTWARE
  • [root]\Windows\System32\config\SYSTEM

2) RLA

레지스트리 raw 데이터를 clean 데이터로 전환

rla.exe -d "대상 파일 경로" --out "저장할 경로"

RLA

3) regripper

레지스트리 clean 데이터를 분석하여 txt 파일로 출력

regripper

플러그인 목록 - http://forensic.korea.ac.kr/DFWIKI/index.php/RegRipper

0개의 댓글