윈도우 포렌식 / 레지스트리 포렌식&보안
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)
루트 키 | 약어 | 설명 |
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 둘 다 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
삭제된 폴더의 정보도 찾을 수 있음.