일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 포렌식
- Python
- Web
- BaekJoon
- CSRF
- 워게임
- injection
- Programmers
- 스터디
- 디지털 포렌식
- command
- 드림핵
- WHS
- XSS
- 인프런
- 백준
- 자라나는 새싹
- 웹해킹
- c
- 프로그래머스
- 자라나는새싹
- 문제풀이
- hacking
- WarGame
- Algorithm
- 알고리즘
- C언어
- 파이썬
- dreamhack
- 풀이
- Today
- Total
Hoin's security
디지털 포렌식 - Windows Registry 동작 원리 본문
본 스터디는 인프런 강의를 학습 후 작성되었습니다.
학습 페이지
www.inflearn.com
Registry - Timezone
경로 : HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
- Bias를 통해 현재 컴퓨터의 timezone을 알 수 있음.
- 현재 설정은UTC+9

시스템 정보
-> Current 버전 경로로 가면 알 수 있음.

경로
• 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

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 (관리자 계정)
악성코드 중에서 계정을 하나 더 만들고 그 계정을 관리자 권한으로 만들어서 몰래 접근하는게 있음. 그래서 사용자 계정 정보를 추출하는게 중요함.
사용자의 최종 로그인 시간

• LocalProfileLoadTimeHigh
= 0x01d84236
• LocalProfileLoadTimeLow
= 0x5f0dff92
• → 0x01d842365f0dff92
사용자의 최종 로그인 시간을 Dcode로 확인
https://www.digital-detective.net/dcode/
DCode™ – Timestamp Decoder - Digital Detective
DCode™ is a FREE forensic tool for decoding data found during digital forensic examinations into human-readable timestamps.
www.digital-detective.net
위 링크로 가서 다운로드를 진행해준다.
0x01d842365f0dff92 = 2022-03-28 08:57:09.7849746 +09:00

위에서 확인한 레지스트리 값을 넣어서 확인해준다.
파일 Time에 데이터가 나옴.
Environment Variables
시스템/사용자 환경변수 확인
• 경로
• 사용자 환경변수
• HKU\{SID}\Environment
요 SID는 앞서 찾은 값(User Account에서 알아낸 거)을 입력해준다.

경로
• 시스템 환경변수 (우리가 아는 윈도우 내 시스템 환경변수랑 같음.)
• HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
시스템 환경변수는 사용자 관련 없이 동일하기 때문에 경로가 똑같음.

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

OpenSavePidIMRU: 열기 혹은 저장 기능으로 사용된 파일
• 경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
확장자별로 나열되어있음.
로그파일들도 확인 가능.(파일을 어떤 프로그램으로 열었는가.)

• LastVisitedPidIMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램
• 경로: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU

USB Connection
• USB 등 외부 저장매체 연결 흔적을 추적 가능
• USB 제품명, 시리얼 번호, 최초 연결 시각, 마지막 연결 시각
경로
• 모든 USB: HKLM\SYSTEM\ControlSet001\Enum\USB
• USB 저장장치: HKLM\SYSTEM\ControlSet001\Enum\USB\USBSTOR
• 마운트 디바이스: HKLM\SYSTEM\MountedDevices
-> 연결된 마우스, 키보드 등 모든 USB 장치의 의 정보가 기록됨.
• 경로: HKLM\SYSTEM\ControlSet001\Enum\USB
• VID와 PID를 검색하면, USB 종류를 알 수 있음

아래 서브키들은 레지스트리 편집기로 안보임..(접근이 안됨.)
• 시스템에 마운트되었던 장치의 리스트를 나타냄
• 경로: HKLM\SYSTEM\MountedDevices

드라이브 볼륨, 시그니처와 같은 정보들 확인 가능.
Shellbags
• 사용자가 접근한 폴더 정보를 기록함
• BagMRU: 폴더의 구조를 계층적 구조로 나타냄. 각각의 Bag을 연결해서 나타냄.
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
• 사용자가 접근한 폴더 정보를 기록함
• 삭제된 폴더의 정보도 찾을 수 있음

삭제 되더라고 Sgellbag에는 정보가 안사라짐.
이것도 도구가 있음.
'스터디' 카테고리의 다른 글
디지털 포렌식 - Windows Registry 실습 (2) | 2024.05.01 |
---|