1. Windows 포렌식 개요 & Registry 개요
[Windows Artifacts] :
- Windows가 가지고 있는 특유의 기능들과 그 기능을 구현하는데 필요한 요소. Windows의 사용자가 수행하는 활동에 대한 정보를 보유하고 있는 개체
- 생성증거 : 프로세스, 시스템에서 자동으로 생성한 데이터
- 보관증거 : 사람이 기록하여 작성한 데이터
- 레지스트리,($MFT, $Logfile, $UsnJrnl), LNK, Jumplist, Recycle Bin, Timeline, VSS, 웹브라우저 아티팩트, EventLogs
- Windows Artifacts를 공부할 때 가장 중요한 점:
- 사용자의 행위에 따라 어디에 어떤 정보가 저장될까?
- 컴퓨터는 대체 어떻게 작동하는 걸까?
==> 사용자는 컴퓨터로 무슨 일을 했을까?라는 질문에 대답 가능!!
[Registry] :
윈도우 운영체제와 응용 프로그램 운영에 필요한 정보를 담고 있는 계층형 데이터베이스
- 운영체제 및 응용 프로그램의 설정 정보, 서비스의 중요 데이터 등이 기록되어 있음.
- 부팅 과정부터 로그인, 서비스 실행, 응용 프로그램 실행, 사용자 행위 등 모든 활동에 관여함.
윈도우 시스템의 모든 정보가 담겨 있음 => 윈도우 시스템 분석의 필수 요소
Registry에 담겨있는 정보
- 시스템 표준 시간(Time Zone)
- 시스템 정보(Systeminfo)
- 사용자 계정 정보
- 환경 변수 정보
- 자동 실행 프로그램 흔적
- 응용 프로그램 실행 흔적 (UserAssist, OpenSavePidMRU, LastVistedPidMRU)
- USB 연결 흔적
- 접근한 폴더 정보 (Shellbag)
2. Windows Registry 동작 원리 (1)
[Registry - Timezone]
경로 : HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
- Bias를 통해 컴퓨터의 현재 timezone을 알 수 있음.
- 현재 컴퓨터의 설정은 UTC + 9 (시스템 표준 시간을 담고 있음)
[Registry - Systeminfo]
- 윈도우 OS 버전, Product ID, 원래 설치 날짜
(실습 - Dcode 앱 다운로드)
[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
[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은 administrator
사용자의 최종 로그인 시간을 Dcode로 확인
[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: 바로가기 실행 기록
- 경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
- OpenSavePidIMRU: 열기 혹은 저장 기능으로 사용된 파일
- 경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
- LastVisitedPidIMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램
- 경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
3. Windows Registry 동작 원리 (2)
[Registry - USB Connection]
: 시스템에 연결되었던 모든 USB 장치의 정보가 기록됨
VID와 PID를 검색하면, USB 종류를 알 수 있음
- 경로: HKLM\SYSTEM\ControlSet001\Enum\USB
시스템에 마운트되었던 장치의 리스트를 나타냄
- 경로: 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\BagMRU
HKCU\Software\Microsoft\Windows\Shell\Bags
HKCU\Software\Microsoft\Windows\Shell\BagMRU
4. Windows Registry 실습(1)
[Registry Practice]
: FTK Imager 이용해 레지스트리 파일 추출
바탕화면에 Registry라는 폴더 생성 -> Registry 폴더 안raw, clean, result 폴더 생성(raw -> clean -> result 순)
FTK Imager를 관리자 권한으로 실행 -> logical 상태로 C:\를 등록 -> 내 계정으로 들어가기 -> ntuser.dat 파일 + log1, log2를 row로 추출.
윈도우즈 아래 시스탬 3-2찾아서 -> config -> DEFAULT, DEFAULTLOG1,2 + SAM, SAMLOG1,2 + SECURITY, SECURITYLOG1,2 + SOFTWARE, SOFTWARELOG1,2 -> row로 추출.
분석 도구 다운로드 : REGA(정보 정확 X, 많이 볼 수 X) , RLA, Regripper
5. Windows Registry 실습(2)
분석 도구 다운로드 : RLA(Dirty한 RAW를 clean으로 바꿔주는 도구.
Regripper(각각이 다 플러그인임. -> Regripper를 통해 생성한 result들을 노트패드로 일일히 열어봐야 함 -> Regripper Plugin)
'디지털포렌식' 카테고리의 다른 글
OlympicDestroyer - Volatility Contest 2018 풀이 (1)~(3) (0) | 2024.01.17 |
---|---|
[3] ~ Prefetch 개념 및 실습 (0) | 2023.11.15 |
[3] $MFT 개념 및 실습 ~ 바로가기(.LNK)개념 및 실습 (0) | 2023.11.07 |
[2] 도구 설치 ~ CTF-d, GrrCon 2015 풀이 (1) | 2023.10.04 |
[0&1] 디지털 포렌식 기초 (0) | 2023.09.27 |