230510 5주차 과제
인프런 강의 3강
윈도우 포렌식
● 윈도우 아티펙트
- Windows가 가지고 있는 특유의 기능들과 그 기능을 구현하는데 필요한 요소
- Windows의 사용자가 수행하는 활동에 대한 정보를 보유하고 있는 개체
- 생성증거: 프로세스, 시스템에서 자동으로 생성한 데이터
- 보관증거: 사람이 기록하여 작성한 데이터
● 아티펙트 종류
• 레지스트리
• $MFT, $Logfile, $UsnJrnl
• LNK
• JumpList
• Recycle Bin
• Prefetch & Cache(s)
• Timeline
• VSS
• 웹브라우저 아티팩트
• EventLogs
이 중 레지스트리를 보자!
● 레지스트리 : 윈도우 운영체제와 응용 프로그램 운영에 필요한 정보를 담고 있는 계층형 데이터베이스
- 운영체제 및 응용 프로그램의 설정 정보, 서비스의 중요 데이터 등 기록
- 부팅 과정부터 로그인, 서비스 실행, 응용프로그램 실행, 사용자 행위 등 모든 활동에 관여
● 레지스트리에 있는 것
- 시스템 표준 시간(TimeZone)
- 시스템 정보(Systeminfo)
- 사용자 계정 정보
- 환경 변수 정보
- 자동 실행 프로그램
- 응용프로그램 실행 흔적(UserAssist, OpenSavePidIMRU, LastVisitedPidIMRU)
- USB 연결 흔적
- 접근한 폴더 정보(Shellbag)
● 레지스트리를 조회하는 레지스트리 편집기
HKEY_CLASSES_ROOT : 파일 확장자 연결 정보, COM 객체 등록 정보
HKEY_CURRENT_USER(HKCU) : 현재 시스템에 로그인된 사용자의 프로파일 정보
HKEY_LOCAL_MACHINE(HKLM) : 시스템의 하드웨어, 소프트웨어 설정 및 기타 환경 정보
HKEY_USERS : 시스템의 모든 사용자와 그룹에 관한 프로파일 정보
HKEY_CURRENT_CONFIG : 시스템이 시작할 때 사용되는 하드웨어 프로파일 정보
TIMEZOME
레지스트리 편집기에서 TimeZone을 찾아 시스템 표준 시간을 찾아보았다.
SYSTEM INFO
위에는 윈도우 파워 쉘에서 systeminfo를 쳤을 때의 결과와 레지스트리 편집기로 봤을 때 결과가 같다는 것을 보여준다.
AUTORUNS
시작 프로그램을 앱에서 들어가 확인한 후 RUN에서도 확인했더니 같다는 것을 알 수 있었다.
USER ACCOUNT
• S-1-5-18 : systemprofile
• S-1-5-19 : LocalService
• S-1-5-20 : NetworkService
• S-1-5-21 : 사용자가 만든 계정
사용자의 최종 로그인 시간 : LocalProfileLoadTimeHigh + LocalProfileLoadTimeLow = 0x01d97e29e3fd2eac
최종 로그인 시간을 Dcode로 확인해보았다.
ENVIRONMENT VARIABLES
시스템/사용자 환경변수를 레지스트리 편집기로 확인해보자.
EXECUTABLE
응용 프로그램 실행에 따른 흔적을 찾아보자
- UserAssist: 최근에 실행한 프로그램 목록, 마지막 실행 시간, 실행 횟수
- OpenSavePidIMRU: 열기 혹은 저장 기능으로 사용된 파일
- LastVisitedPidIMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램
USB CONNECTION
• USB 등 외부 저장매체 연결 흔적을 추적 가능
• USB 제품명, 시리얼 번호, 최초 연결 시각, 마지막 연결 시각
시스템에 연결되었던 모든 USB 장치의 정보가 기록됨
시스템에 연결되었던 모든 USB 저장장치의 정보가 기록됨
시스템에 마운트되었던 장치의 리스트를 나타냄
SHELLBAGS
• 사용자가 접근한 폴더 정보를 기록함
- BagMRU: 폴더의 구조를 계층적 구조로 나타냄
- Bag: 윈도우 사이즈, 위치 등 사용자의 환경설정을 저장
• 사용자가 접근한 폴더 정보를 기록하기에 삭제된 폴더의 정보도 찾을 수 있음