0x0102
Window Registry 동작 원리 본문
레지스트리의 경로를 표기할 때는 백슬래시를 사용하나 글에서는 편의상 / 사용!
Registry - timezone
경로 : HKLM/SYSTEM/CurrentControlSet/Control/TimezoneInformation
- Bias를 통해 현재 컴퓨터의 Timezone을 알 수 있음
- 현재 컴퓨터의 설정은 UTC + 9

Registry - Systeminfo
경로 : HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion
- 현재 윈도우 버전, 설치 시간, productid 등 시스템 관련 정보


+) 터미널에서 systeminfo 명령어의 결과와 동일
실제로 레지스트리 편집기의 값을 dcode에 돌려보면 systeminfo와 결과값이 같다는 것을 알 수 있음
또한 epoch converter을 사용하면 unix timestamp conversion값을 알 수 있음
https://www.epochconverter.com/
Registry - 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

HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run

윈도우 실행 시 자동으로 시작되는 시작프로그램들을 알 수 있다.
+ Run, RunOnce와 RunOnceEx의 차이
Run에 있는 프로그램들은 윈도우가 시작 될 때마다 실행이 되지만
RunOnce와 RunOnceEx는 재부팅될 때 레지스트리가 삭제된다.
또한 RunOnce와 RunOnceEx는 삭제 타이밍에 차이가 있다.
Registry - 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은 adminstrator

S-1-5-18 : systemprofile

S-1-5-19 : LocalService

S-1-5-20 : NetworkService

S-1-5-21 : 사용자가 만든 계정 / 사용자의 sid
+) 마지막 사진
S-1-5-21 뒤의 맨 뒤의 숫자가 중요하다.
1000이상이면 User, 500은 administrator이라는것을 기억하자

- 사용자의 최종 로그인 시간
LocalProfileLoadTimeHigh
= 0x01d89cc7
LocalProfileLoadTimeLow
= 0xbbf9d19e
-> high + low = 0x01d89cc7bbf9d19e
= 사용자의 최종 로그인 시간 ( dcode로 확인가능 - 이때 dcode 포멧은 format = Hexadecimal big-endian으로 지정)
Registry - Environment Variables
- 시스템 / 사용자 환경변수 확인
- 경로
사용자 환경변수
HKU/{SID}/Environment

- 경로
시스템 환경변수
HKLM/SYSTEM/CurrentControlSet/Control/Session Manager/Environment

Registry - Executable
- 응용프로그램(exe) 실행에 따른 흔적
- UserAssist : 최근에 실행한 프로그램 목록, 마지막 실행 시간, 실행 횟수
경로 : HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer/UserAssist
{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA} \ Count : 실행파일 실행 기록
{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F} \ Count : 바로가기 실행 기록

경로 참고 - 실행파일 실행 기록

경로 참고 - 바로가기 실행 기록
+ 이름을 클릭해보면

이러한 화면을 볼 수 있는데 한눈에 우리가 정보를 판단하기 어려운 이유는 이 값이 인코딩된 값이기 때문이다.
따라서 rot13 decoder에서 디코드를 해보자
값이름을 떼와서 돌려보면

예쁘게 정리된 주소를 확인할 수 있다. (앞의 값은 CLS ID이므로 디코드에 해당 x)
- OpenSavePidIMRU : 열기 혹은 저장 기능으로 사용된 파일
경로 : HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer/ComDlg32/OpenSavePidIMRU


하단을 보면 저번에 사용했던 파일인 OSPPSVC log를 확인할 수 있다.
- LastVisitedPidIMRU : 열기 혹은 저장 기능을 사용한 응용프로그램
경로 : HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer/ComDlg32/LastVisitedPidIMRU

상단을 보면 최근 사용했던 응용프로그램인 notepad++를 확인할 수 있다.
Registry - USB Connection
- USB 등 외부 저장매체 연결 흔적 추적 가능
- USB 제품명, 시리얼 번호, 최초 연결 시각, 마지막 연결 시각
경로
- 모든 USB(마우스 키보드 등) : HKLM\SYSTEM\ControlSet001\Enum\USB
~시스템에 연결되었던 모든 USB 장치의 정보가 기록됨
~VID, PID를 검색하면 USB 종류를 알 수 있음

- USB 저장장치 : HKLM\SYSTEM\ControlSet001\Enum\USBSTOR
~VID, PID를 검색하면 USB 종류를 알 수 있음
+)USB 밑으로 USBSTOR을 찾을 수 없음

- 마운트 디바이스 : HKLM\SYSTEM\MountedDevices
~시스템에 마운트 되었던 장치의 리스트를 나타냄

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

'Study > Digital Forensic' 카테고리의 다른 글
$MFT 개념 및 실습 (0) | 2022.07.24 |
---|---|
Windows Registry 실습 (0) | 2022.07.23 |
0719 디지털포렌식 스터디 (0) | 2022.07.19 |
Window Forensic (0) | 2022.07.17 |
0714 디지털 포렌식 스터디 (0) | 2022.07.17 |