1. Windows Artifacts
Windows 운영체제가 사용자의 행위를 수행하는 과정에서 기록된 정보 개체
- 생성 증거: 프로세스, 시스템에서 자동으로 생성한 데이터
- 보관증거: 사용자가 직접 작성한 데이터
생성 증거의 일환으로서 사용자의 행위를 분석하는데 사용
사용자의 행위에 따라 어떤 정보가 저장되며, 이 정보가 어떻게 사용되는지에 집중
2. Windows Registry
1) 개요
운영체제와 응용 프로그램 운영에 필요한 정보를 담고 있는 계층형 데이터베이스
- 시스템 표준 시간 (TimeZone)
- 시스템 정보 (Systeminfo)
- 사용자 계정 정보
- 환경 변수 정보
- 자동 실행 프로그램
- 응용 프로그램 실행 흔적
- USB 연결 흔적
- 접근한 폴더 정보 (Shellbag)
2) 레지스트리 구조
레지스트리 편집기 (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\
2) Systeminfo
경로: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
- 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\
- 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
5) Environment Variables : 시스템/사용자 환경 변수
경로
- 사용자 환경 변수: HKU{SID}\Environment
- 시스템 환경 변수: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
6) Excutable : 응용프로그램 실행 흔적
(1) UserAssist : 최근 실행 프로그램, 마지막 실행 시간, 실행 횟수
경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
- {CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count: 실행 파일 실행 기록
- 프로그램 이름은 ROT13을 적용하여 확인 가능
- {F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count: 바로가기 실행 기록
(2) OpenSavePidIMRU : 열기 혹은 저장 기능으로 사용된 파일
경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
- 확장자 별로 나열
- MRUListEx: 실행 순서
(3) LastVisitedPidIMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램
경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
7) USB Connection : USB 연결 흔적
경로
-
모든 USB: HKLM\SYSTEM\ControlSet001\Enum\USB
- VID(Vendor ID: 제조사 ID)와 PID(Product ID: 상품 ID)
-
USB 저장 장치: HKLM\SYSTEM\ControlSet001\Enum\USBSTOR
-
마운트 디바이스: HKLM\SYSTEM\MountedDevices
USB 제품명, 시리얼 번호, 최초 연결 시각, 마지막 연결 시각
8) Shellbags: 사용자 접근 폴더 정보
경로 :
- HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags (or BagMRU)
- HKCU\Software\Microsoft\Windows\Shell\Bags (or BagMRU)
- 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
레지스트리 raw 데이터를 clean 데이터로 전환
rla.exe -d "대상 파일 경로" --out "저장할 경로"
레지스트리 clean 데이터를 분석하여 txt 파일로 출력
플러그인 목록 - http://forensic.korea.ac.kr/DFWIKI/index.php/RegRipper