SWUFORCE/인프런 강의

section 3 ~ Windows Registry 실습

amy06s 2026. 5. 10. 17:03

 

Section 3

Windows Artifacts

  • Windows가 가지고 있는 특유의 기능들과 그 기능을 구현하는데 필요한 요소
  • Windows의 사용자가 수행하는 활동에 대한 정보를 보유하고 있는 개체
  • 생성증거: 프로세스, 시스템에서 자동으로 생성한 데이터
  • 보관증거: 사람이 기록해 작성한 데이터
  • 레지스트리/ $MFT, $Logfile, $UsnJrnl / LNK /JumpList / Recycle Bin / Prefetch & Cache(s) / Timeline / VSS / 웹브라우저 아티팩트 / EventLogs

*사용자의 행위에 따라 어디에 어떤 정보가 저장될까?

 컴퓨터는 대체 어떻게 동작하는 걸까?

 

Registry

  • 윈도우 운영체제와 응용 프로그램 운영에 필요한 정보를 담고 있는 계층형 데이터베이스
  • -운영체제 및 응용 프로그램의 설정 정보, 서비스의 중요 데이터 등 기록
  • -부팅 과정부터 로그인, 서비스 실행, 응용프로그램 실행, 사용자 행위 등 모든 활동에 관여
  • 윈도우 시스템의 모든 정보가 담겨 있음(윈도우 시스템 분석 필수 요소)
  • 시스템 표준 시간(TimeZone) / 시스템 정보(Systeminfo) / 사용자 계정 정보 / 환경 변수 정보 / 자동 실행 프로그램 / 응용프로그램 실행 흔적(UserAssist, OpenSavePidlMRU, LastVisitedPidMRU) / USB 연결 흔적 / 접근한 폴더 정보(Shellbag)

레지스트리 조회

  • regedit(레지스트리 편집기) 이용
  • Window + R 버튼 누르고 regedit 검색
  • 레지스트리 조회 및 편집 가능

 

레지스트리 구조

루트 키 약어 설명
HKEY_CLASSES_ROOT HKCR 파일 확장자 연결 정보, COM 객체 등록 정보
HKEY_CURRENT_USER HKCU 현재 시스템에 로그인된 사용자의 프로파일 정보
HKEY_LOCAL_MACHINE HKLM 시스템의 하드웨어, 소프트웨어 설정 및 기타 환경 정보
HKEY_USERS HKU 시스템의 모든 사용자와 그룹에 관한 프로파일 정보
HKEY_CURRENT_CONFIG HKCC 시스템이 시작할 때 사용되는 하드웨어 프로파일 정보

 

Windows Registry 동작 원리

Timezone

경로: HKLM\SYSTEM\CurrnetrolSet\TimeZoneInformation

Bias를 통해 현재 컴퓨터의 timezone을 알 수 있음

현재 컴퓨터의 설정은 UTC+9 

 

Systeminfo

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

현재 윈도우 버전, 설치 시간, Productld 등 시스템과 관련된 정보들

PowerShell에서 systeminfo 명령어 입력 시 값과 일치

 

실습

decode 다운로드

레지스트리 편집기에서 Installtime의 값을 dcode에 넣으면 설치 날짜를 알 수 있음

이 날짜가 PowerShell에서 systeminfo로 볼 수 있는 설치 날짜와 동일

unix timestamp에서 InstallDate의 데이터 괄호 숫자를 입력하면 해당 timestamp를 알려줌

 

Autoruns

경로:

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
  • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
  • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

 

User Account

  • 경로: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\
  • S-1-5-18: systemprofile
  • S-1-5-19: LocalService
  • S-1-5-20: NetworkService
  • S-1-5-21: 사용자가 만든 계정
  • 1000이상은 user 권한
  • 500은 administrator

사용자의 최종 로그인 시간 알아보기

  • LocalProfileLoadTimeHigh = 0x01d84236
  • LocalProfileLoadTimeLow = 0x5f0dff92

=> 0x01d842365f0dff92

 

사용자의 최종 로그인 시간을 Dcode로 확인

0x01d842365f0dff92 = 2022 - 03 - 28 08:57:09 7839746 +09:00

 

Environment Variables

  • 시스템/사용자 환경변수 확인
  • 사용자 환경변수: HKU\{SID}\Environment

  • 시스템 환경변수: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

 

Execuable

  • 응용프로그램(exe) 실행에 따른 흔적

UserAssist: 최근에 실행한 프로그램 목록, 마지막 실행 시간, 실행 횟수

  • 경로: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
  • {CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count: 실행파일 실행 기록
  • {F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count: 바로가기 실행 기록

OpenSavePidlMRU: 열기 혹은 저장 기능으로 사용된 파일

  • 경로: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDig32\OpenSavePidlMRU

LastVisitedPidlMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램

  • 경로: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDig32\LastVisitedPidlMRU

 

USB Connection

  • USB 등 외부 저장매체 연결 흔적 추적 가능
  • USB 제품명, 시리얼 번호, 최초 연결 시작, 마지막 연결 시각
  • 경로:
  • 모든 USB: HKLM\SYSTEM\ControlSet001\Enum\USB
  • USB 저장장치: HKLM\SYSTEM\ControlSet001\USB\USBSTOR
  • 마운트 디바이스: HKLM\SYSTEM\MountedDevices

모든 USB

  • 시스템에 연결되었던 모든 USB 장치 정보가 기록됨
  • 경로: HKLM\SYSTEM\ControlSet001\Enum\USB
  • VID와 PID를 검색하면, USB 종류를 알 수 있음

마운트 디바이스

시스템에 마운트되었던 장치의 리스트를 나타냄

경로: HKLM\SYSTEM\MountedDevices

 

Shellbags

  • 사용자가 접근한 폴더 정보 기록(삭제된 폴더 정보도 찾을 수 있음)
  • BagMRU: 폴더의 구조를 계층적 구조로 나타냄
  • Bag: 윈도우 사이즈, 위치 등 사용자의 환경설정 저장
  • HKCU\SOFTWARE\CLASSES\Local Settings\SOFTWARE\Microsoft\Windows\Shell\Bags
  • HKCU\SOFTWARE\CLASSES\Local Settings\SOFTWARE\Microsoft\Windows\Shell\BagMRU
  • HKCU\SOFTWARE\Microsoft\Windows\Shell\Bags
  • HKCU\SOFTWARE\Microsoft\Windows\Shell\BagMRU

Registery Practice

레지스트리 파일 추출

FTK Imager 이용

[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

반드시 LOG1, LOG2 파일을 포함해서 추출

raw, clean, result 폴더 생성

 

분석 도구 다운로드

REGA/RLA/Regirpper

REGA: raw를 완벽하게 처리 불가, 지원하지 않는 도구가 꽤 있음

RLA: dirty 상태를 celan으로 바꿈

d에 raw 절대 경로, out에 clean 절대 경로 입력

rla를 실행해 raw 폴더에서 해당 명령어를 입력하면 registry_clean 폴더 안에 celan 상태로 처리한 raw 파일들을 추출함

 

Regripper

폴더에서 rr.exe 실행

하이브 파일에 clean 폴더 데이터 입력하고

Report File에서 result 폴더 선택해 하이브 파일에서 선택한 데이터와 같은 이름으로 설정함