디지털 포렌식

윈도우 포렌식 / 레지스트리 포렌식&보안

kchabin 2022. 12. 23. 22:45

Windows Artifacts

- Windows가 갖고 있는 특유의 기능들과 그 기능을 구현하는데 필요한 요소

- Windows의 사용자가 수행하는 활동에 대한 정보를 보유하고 있는 개체

 

생성증거 : 프로세스, 시스템에서 자동으로 생성한 데이터.

보관 증거 : 사람이 기록하여 작성한 데이터

 

Windows Artifacts

- 레지스트리

- $MFT, $Logfile, $UsnJrnl

- LNK

- JumpList

- Recycle Bin

- Prefetch & Cache(s)

- Timeline

- VSS

- 웹브라우저 아티팩트

- Eventlogs

 

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

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

-> 사용자는 컴퓨터로 무슨 일을 했을까?

 

Windows Registry

- 마이크로소프트 윈도우 운영체제에서 운영체제와 응용프로그램 운영에 필요한 정보를 저장하기 위해 고안한 계층형 데이터베이스

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

윈도우 시스템의 모든 정보가 담겨있음.

  - 윈도우 시스템 분석의 필수 요소. 

 

- 시스템 표준 시간 (TimeZone)

- Systeminfo

- 사용자 계정 정보

- 환경 변수 정보

- 자동 실행 프로그램

- 응용 프로그램 실행 흔적(UserAssist, OpenSavePidlMRU, LastVIsitedPidlMRU)

- USB 연결 흔적

- 접근한 폴더 정보(Shellbag)

 

 

Key, Value, Data Type, Data

루트 키  약어 설명
HKEY_CLASSES_ROOT HKCR 파일 확장자 연결 정보,  COM 객체 등록 정보
HKEY_CURRENT_USER HKCU 현재 시스템에 로그인된 사용자의 프로파일 정보
HKEY_LOCAL_MACHINE HKLM 시스템의 하드웨어, 소프트웨어 설정 및 기타 환경 정보
HKEY_USERS HKU 시스템의 모든 사용자와 그룹에 관한 프로파일 정보
HKEY_CURRENT_CONFIG HKCC 시스템이 시작할 때 사용되는 하드웨어 프로파일 정보
HKEY_PERFORMANCE_DATA HKPD 성능 카운트 (레지스트리 편집기를 통해 접근 불가, 레지스트리 함수로만 접근)

자주 쓰는 키 : HKCU, HKLM

 

TimeZone

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

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

UTC +9

 

Systeminfo

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

윈도우 레지스트리의  InstallDate 값을 입력해서 바꾼 모습. 

 

AutoRuns

자동 실행 프로그램

HKLM
HKCU

HKLM, HKCU 둘 다 RunOnce, RunOnceEx는 나오는 게 없었음. 

설정을 통해서도 확인 가능함

UserAccount

S-1-5-18 : systemprofile

S-1-5-19 : LocalService

S-1-5-20 : NetworkService

S-1-5-21 : 사용자가 만든 계정

  끝 번호

  - 1000 이상은 user 권한 

  - 500은 administrator

 

사용자의 최종 로그인 시간

LocalProfileLoadTimeHigh

= 0x01d916a6

LocalProfileLoadTimeLow

= 0xec3c92af

 

High와 Low로 합친 값 : 사용자의 최종 로그인 시간을 Dcode로 확인

-> 0x01d916a6ec3c92af

Environment Variables

시스템/사용자 환경변수 확인

 

경로

- 사용자 환경변수

- HKU\{SID}\Environment

 

시스템 환경변수

 

Executable

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

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

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

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

 

 

CEB~ : 실행파일 실행 기록

F4E~ : 바로가기 실행 기록

인코딩 돼있는 값을 ROT13으로 바꿔서 볼 수 있음. 

 

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

 

 

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

 

 

USB Connection

- USB 등 외부 저장매체 연결 흔적을 추적 가능

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

 

모든 USB : \HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB

VID와 PID를 검색하면, USB 종류를 알 수 있음.

USB 저장장치 : \HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR

 

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

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

 

Shellbags

사용자가 접근한 폴더 정보를 기록함

 

- BagMRU : 폴더의 구조를 계층적 구조로 나타냄

- Bag : 윈도우 사이즈, 위치 등 사용자의 환경설정을 저장

 

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

HKEY_CURRENT_USER\Software\Windows\Shell\Bags

HKEY_CURRENT_USER\Software\Windows\Shell\BagMRU

 

삭제된 폴더의 정보도 찾을 수 있음.