모두의 dream

윈도우 아티팩트 정리 본문

분야/Digital Forensics

윈도우 아티팩트 정리

오리꽥이로 2023. 9. 7. 17:12
Contents 접기

아티팩트: 운영체제가 자동으로 생성하는 파일 (생성증거)

침해사고 조사를 할때는 아티팩트들의 타임라인을 잘 기록하여 순서대로 나열해야 시간을 단축시킬 수 있다.

* 모든 경로는 윈도우 7 이상 기준.

 

관련 docs:

http://www.forensic-artifact.com/windows-forensics/linkfile

https://github.com/Psmths/windows-forensic-artifacts?tab=readme-ov-file

분석 도구: https://ericzimmerman.github.io/#!index.md (웬만한건 거의 다 있음)

 

아티팩트 일괄 수집 도구:

KAPE: https://ericzimmerman.github.io/KapeDocs/#!index.md

BITLive: https://github.com/Plainbit/BITLive/blob/master/BITLive_win/BITLive_win.bat

실행 아티팩트 (Windows execution artifacts)

amcache

최근 실행한 프로그램에 대한 정보 저장

프리패치 파일과 병행하면 프로그램의 전체적인 타임라인 구성 가능

윈도우7 에서는 RecentFileCache.bcf

Prefetch, Superfetch

 

  • Superfetch
  • 프리패치 파일도 시간이 지나면서 사용하지 않는 경우 페이지 아웃되어 페이지 파일로 관리되게 되고 결국 파일에서 읽는 상황이 되어 기대했던 성능 향상은 미비해짐. (프리패치의 한계)
  • 슈퍼패치는 이 한계를 해소해줌.
  • 슈퍼패치 파일에 사용자의 사용 패턴을 기록해두고 자주 사용하는 프로그램의 프리패치 데이터가 페이지 아웃(page-out)될 경우, 이를 다시 메모리로 페이지 인(page-in) 시키는 기능을 수행
  • 슈퍼패치는 시간 대를 나누어 자주 사용되는 프로그램 목록을 관리하고, 이렇게 관리되는 프로그램은 페이지 아웃이 일어나지 않도록 도와준다.
  • 경로
    • C:\Windows\Prefetch
  • Reference

점프 리스트

최근, 자주 접근하는 문서, 파일 등에 대한 정보가 담겨있음.

  • 경로 C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Recent
  • 관련 도구
    • JumpList Explorer

이벤트 로그

윈도우 구성 요소의 유지 및 관리를 위한 로그 서비스

윈도우 시스템에서 발생하는 각종 이벤트 로그가 저장되어 있음.

 

기존 이벤트 로그의 부족한 점을 보완하기 위해 Sysmon 이라는 드라이버가 존재함.

Sysmon: 기본 윈도우 이벤트 로그로는 한계가 있는 프로세스 생성, 네트워크 연결 등을 이벤트화.

 

https://learn.microsoft.com/ko-kr/sysinternals/downloads/sysmon

  • 경로
    • %SystemRoot%\System32\winevt\Logs
  • 관련 도구
    • 윈도우 이벤트 뷰어

File Metadata ($MFT, $LogFile, $UsnJrnl, LNK File)

메타데이터: 파일 이름, 위치, 시간, 속성 크기 등 관리를 위한 정보.

NTFS 에서는 MFT(Master File Table) 내에 Entry 형태로 메타데이터 저장. → MFT Entry

MFT 에 접근하려면 MBR → VBR 을 순서로 분석해서 찾아 내야 함.

 

MFT 를 학습하는 이유

  • 디스크에 존재하는 파일(아티팩트)의 존재 여부를 확인하기 위해 MFT를 해석해야 함
  • 사용자가 생성한 파일/아티팩트 모두에서 파일의 메타정보에 대한 이해를 위해 MFT 속성에 대한 이해가 필요함

파일의 수가 늘어날 경우 MFT의 크기도 증가한다. (동적할당)

  • $MFT
    • 모든 MFT Entry를 가지고 있음.
    • 모든 파일의 생성, 접근, 수정 시간과 소유자 정보를 가지고 있음.
    • 마지막 작업 시간만 기록되기 때문에 상세한 작업 기록 타임라인을 확인하기 위해선 $LogFile, $UsnJrnl 파일을 확인할 필요가 있음.
  • $LogFile
    • 파일 및 폴더 생성, 삭제, 내용 변경, MFT Entry 내용 변경과 같은 트랜잭션 작업 내용을 기록하여 트랜잭션 오류 발생 시 복구를 위한 파일.
  • $UsrJrnl
    • $Extend 폴더 내에 존재, LogFile 과 비슷한 내용이 저장.
    • LogFile은 오류 복구 목적이라면 UsnJrnl은 트랜잭션 작업이 끝난 후의 내용을 기록.
    • 파일 및 폴더의 속성변경 정보.
  • LNK Files
    • LNK 파일은 윈도우 바로가기 파일로 대상 파일 또는 프로그램에 대한 정보와 타임스탬프 및 메타데이터가 포함되어 있다. 
    • LNK 파일을 분석이 필요하지만 삭제된 파일의 단서를 획득할 수 있다.
  • 경로
    • MFT: C:\$MFT
    • LogFile: C:\$LogFile
    • UsrJrnl: C:\Extend\$UsrJrnl
    • LNK
      • 바탕 화면: C:\Users\<user name>\Desktop
      • 최근 문서: C:\Users<user name>\AppData\Roaming\Microsoft\Windows\Recent
      • 시작 프로그램: C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
      • 빠른 실행: C:\Users\<user name>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
  • 관련 도구
  • Reference

지속성 아티팩트 (windows persistence artifacts)

레지스트리 (Registry Hives)

윈도우에서 운영체제 및 응용프로그램 운영에 필요한 정보를 저장

  • Registry hive
    • 루트키와 그 아래 있는 서브키로 이루어진 트리 구조를 Registry hive 라고 한다.
  • hive file
    • Registry의 정보를 가지고 있는 물리적인 파일.
    • HKCU: NTUSER.dat
    • HKLM: SYSTEM, SOFTWARE, SECURITY, SAM
    • HKU: DEFAULT, SID
  • 레지스트리 루트키
    • HKEY_CLASSES_ROOT(HKCR)
    • HKEY_CURRENT_USER(HKCU)
    • HKEY_LOCAL_MACHINE(HKLM) - 하드디스크 하이브 파일 + 메모리 하이브 파일
    • HKEY_USERS(HKU) - NTUSER.DAT + usrClass.dat
    • HKEY_CURRENT_CONFIG(HKCC)
  • NTUSER.dat, Usrclass.dat
    • NTUSER.DAT는 데스크톱, Windows 네트워크 폴더, 원격 컴퓨터 및 원격 폴더에 대한 ShellBags 정보를 저장
    • UsrClass.dat는 데스크톱, ZIP 파일, 원격 폴더, 로컬 폴더, Windows 특수 폴더 및 가상 폴더에 대한 ShellBags 정보를 저장
  • 경로
    • SYSTEM, SOFTWARE, SECURITY, SAM, Default: %SystemRoot%\Windows\System32\Config
    • NTUSER.dat : C:\users\사용자 폴더\
    • Usrclass.dat: C:\users\사용자 폴더\AppData\Local\Microsoft\Windows\UsrClass.dat
  • Shellbags
    • 창 위치 및 정렬 기본 설정과 같은 폴더 보기 설정을 저장하는 레지스트리 항목. 쉘백을 통해 사용자 탐색 패턴이 드러나고 접근한 폴더를 잠재적으로 식별할 수 있다. (HTB 내용 -> 수정 필요)
  • 관련 도구
    • Registry Explorer
  • Reference

슬랙, 비할당 영역

삭제된 파일의 잔여물이나 데이터 조각이 포함될 수 있다.

파일 슬랙(file slack) 이란 이전 파일의 데이터를 포함할 수 있는 클러스터의 사용되지 않은 부분을 말한다.

파일 카빙을 통해 복원할 수 있다.

  • 관련 도구
    • 카빙 도구: disk drill, FTK, X-ways, autopsy 등등

Thumbnail Cache

썸네일: 큰 그래픽 이미지를 축소한 것으로 많은 양의 이미지를 빠르게 탐색하기 위한 것.

윈도우에서 열어봤던 이미지, 프로그램, 영상 등의 미리보기 혹은 아이콘 사진이 db 형태로 저장되어 있다.

휴지통 (Recycle Bin)

윈도우에서 삭제된 파일들이 모여있는 폴더.

  • 경로
    • C:\$Recycle.Bin
  • 관련 도구
    • FTK Imager

SRUM

시스템 자원 활용도를 추적하는데 사용되는 기능이지만 포렌식으로도 활용 가능하다.

응용프로그램 관련된 내용들을 추적할 수 있다.

  • 경로
    • HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SRUM\Extensions
    • C:\Windows\System32\sru\SRUDB.dat
  • 관련 도구
    • SrumECmd

'분야 > Digital Forensics' 카테고리의 다른 글

Ext4 삭제된 파일 복원  (0) 2023.09.15
Ext4 File System  (0) 2023.09.12
NTFS 삭제된 파일 복원  (0) 2023.08.29
파일시스템 분석 실습 준비 (vmdk & 이미징)  (0) 2023.08.28
NTFS File System  (0) 2023.08.28
Comments