티스토리 뷰

Digital Forensics

해당 포스트는 Windows 포렌식과 Registry에 대한 이론적인 부분에 대한 내용입니다.


 1. Windows Artifacts

  • Artifacts의 사전적 의미로는 "유물", "인공물" 이라는 뜻을 가지고 있지만 포렌식에서는 아래와 같은 의미가 나타낸다.
  • Windows가 가지고 있는 특유의 기능들과 그 기능을 구현하는데 필요한 요소
  • Windows의 사용자가 수행하는 활동에 대한 정보를 보유하고 있는 개체

 

  • 생성증거: 프로세스.  시스템에서 자동으로 생성한 데이터(Windows Artifacts는 생성증거에 해당)
  • 보관증거: 사람이 기록하여 작성한 데이터

(1) Windows Artifacts 종류

  •  레지스트리
  • $MFT, $Logfile, $UsnJrnl
  • LNK
  • JumpList
  • Recycle Bin(휴지통)
  • Prefetch & Cache(s)
  • Timeline
  • VSS
  • 웹브라우저 아티팩트
  • EventLogs

2. Registry

  • 윈도우 운영체제와 응용 프로그램 운영에 필요한 정보를 담고 있는 계층형 데이터베이스
    • 운영체제 및 응용 프로그램의 설정 정보, 서비스의 중요 데이터 등 기록
    • 부팅 과정부터 로그인, 서비스 실행, 응용프로그램 실행, 사용자 행위 등 모든 활동에 관여
  • 윈도우 시스템의 모든 정보가 담겨 있다.
    • 윈도우 시스템 분석의 필수 요소

(1) Registry가 담고 있는 정보(일부)

  • 시스템 표준 시간(TimeZone)
  • 시스템 정보(Systeminfo)
  • 사용자 계정 정보
  • 환경 변수 정보
  • 자동 실행 프로그램
  • 응용프로그램 실행 흔적(UserAssist, OpenSavePidlMRU, LastVisitedPidlMRU)
  • USB 연결 흔적
  • 접근한 폴더 정보(Shellbag)

(2) 레지스트리 조화

  • win+r -> regedit(레지스트리 편집기) 열기
  • 레지트리 조회 및 편집 가능

regedit

  • 레지스트리 구조

레지스트리 구조

  • Root Key
루트 키 약어 설명
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
    • Bias를 통해 현재 컴퓨터의 timezone을 알 수 있다.
    • 현재 컴퓨터의 설정은 UTC+9

Timezone

3.2 레지스트리가 담고있는 정보 - Systeminfo

  • 경로: HKLM\SOFTWARE ]\ Microsoft\Windows NT\CurrentVersion
    • 현재 윈도우 버전, 설치 시간, Productld 등 시스템과 관련된 정
    • 아래 사진처럼 Systeminfo 명령어로 비교를 하며 확인이 가능하다.

Systeminfo

3.3 레지스트리가 담고있는 정보 - Autoruns

  • Autoruns는 자동실행 프로그램을 레지스트리를 통해 알 수 있다.
  • 설정에서 시작프로그램을 통해 비교할 수 있다.
  • 경로
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
    • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
    • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

Autoruns

3.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 : 사용자가 만든 계정
      • 1000 이상은 user 권한
      • 500은 administrator

User Account

  • 아래와 같은 데이터 정보를 통해 사용자의 최종 로그인 시간도 알 수 있다.

User Account

3.5 레지스트리가 담고있는 정보 - Environment Variables

  • 시스템 / 사용자 환경변수 확인
  • 경로
    • 사용자 환경변수
    • HKU\{SID|\Environment
    • 다만 경로를 잘 확인해야한다.

사용자 환경변수

  • 경로
    • 시스템 환경변수
    • HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

시스템 환경변수

3.6 레지스트리가 담고있는 정보 - 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: 바로가기 실행 기록

Executable

  • OpenSavePidIMRU: 열기 혹은 저장 기능으로 사용된 파일
    • 경로: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
  • 아래와 같이 log의 19번을 클릭해보니 이전에 열었던 파일을 확 있었다.

  • LastVisitedPidIMRU: 열기 혹은 저장 기능을 사용한 응용 프로그램
    • 경로: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
      • 아래와 같이 1번을 클릭해보니 VMWARE로 추측되는 응용 프로그램을 사용한 기록이 있었다.

3.7 레지스트리가 담고있는 정보 - USB Connection

  • USB 등 외부 저장매체 연결 흔적을 추적 가능
    • USB  제품명, 시리얼 번호, 최초 연결 시각, 마지막 연결 시각
  • 경로
    • 모든 USB : HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB
    • USB 저장장치: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR
    • 마운트 디바이스: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  • 모든 USB: 시스템에 연결되었던 모든 USB 장치의 정보가 기록된다.
  • VID와 PID를 검색하면, USB 종류를 알 수 있다.
  • USB 저장장치도 경로만 다를뿐 VID와 PID를 검색하면 USB종류를 알 수 있다.

모든 USB

  • 마운트 디바이스: 시스템에 마운트되었던 장치의 리스트를 나타낸다.

마운트 디바이스

3.8 레지스트리가 담고있는 정보 - 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\Microsoft\Windows\Shell\Bags
    • HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU
  • 삭제된 폴더의 정보도 찾을 수 있다.