[Windows Artifacts] Amcache

 

윈도우 아티팩트


(1) Amcache란?

  • 윈도우 7에서의 RecentFileCache.bcf 파일이 윈도우 8에서는 Amcache.hve 파일로 대체

  • 프로그램 호환성 관리자와 관련된 레지스트리 하이브 파일

  • 응용 프로그램의 실행 정보 저장

  • 응용 프로그램의 실행 경로, 최초 실행 시간, 삭제 시간 정보 등 저장

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


(2) Amcache 상세 내용

2-1. Kind of

  • Windows OS Function

2-2. Information

  • File's All Metadata, Product Name, File Version, File Size, SHA-1 hash, Full Path, Etc.

2-3. Path

  • %SystemDrive%\Windows\AppCompat\Programs\Amcache.hve

2-4. Characteristic

  • Replacement for a RecentFileCache.bcf

  • Hive structure

  • Much more information RecentFileCache.bcf

2-5. Tools

  • AmcacheParser

 

2-5-1. AmcacheParser : https://ericzimmerman.github.io

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

[그림 1] Amcache 분석 예시


(3) 아티팩트 수집 및 분석 실습

3-1. FTK Imager > Windows > appcompat > Programs 폴더 Amcache 아티팩트 확인

  • 마우스 우클릭 - Export Files

[그림 2] FTK Imager - Amcache 아티팩트 수집

 

Amcache 아티팩트를 확인한 후에, 마우스를 우클릭하면 Export Files 기능을 통해 아티팩트 수집을 진행한다.

 

여기서 중요한 것은, 아티팩트 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

[그림 3] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 3]은 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 파일을 지정해 준 화면이다.

 

 

 

3-2. Registry Explorer 활용, Amcache 분석

 

[그림 4] Registry Explorer

 

원래는 Amcache Parser로 진행하려고 하였지만, 예상지 못한 오류 발생으로 인하여 Registry Explorer로 대체하였다.

 

Amcache.hve 파일과 LOG 파일들을 로드한 다음, CSV 파일로 만들어 분석을 진행한다.

 

 

3-3. CSV 파일 분석 (Sublime Text 3)

 

[그림 5] CSV 파일 분석

 

기존 Amcache 하이브 파일이라면, 데이터의 크기가 매우 커야 하며, 많은 양의 데이터를 담고 있어야 한다.

 

하지만, 호스트 Amcache 파일임에도 불구하고, 삭제한 기록도 존재하지 않는데 왜 데이터의 크기가 이렇게 작은지 모르겠다..

 

일단 간단하게 레코드 및 컬럼 분석을 진행해보자..

 

 

3-4. 레코드 및 컬럼 분석

 

[그림 6] 레코드 및 컬럼 분석

 

  • 해당 내용은 rlvknlg32.exe 파일에 대한 정보이며, 18은 values 값을 의미하며, 0은 서브키, 마지막에 보이는 시간은 가장 마지막으로 사용한 타임스탬프 정보 (레지스트리 분석 법과 동일)

Amcache 아티팩트의 데이터 크기가 매우 적어 제대로 된 분석을 수행할 수가 없다..

 

추후에 데이터 내용이 많은 Amcache를 분석하여 수정하도록 하고, 우선 분석 방법이랑 내용만 익히도록 하자..


(4) 추가 내용 정리

  • Amcache는 윈도우 7에서의 'RecentFileCache.bcf' 파일이 윈도우 8부터 레지스트리 하이브 파일인 'Amcache.hve'로 대체 

  •  최근 실행한 프로그램에 대한 정보를 저장하며, 실행 파일의 경로나 TimeStamp, PE 헤더 데이터와 파일 정보에 대한 여러 정보를 저장

  • 작은 Hive 파일 구조이며, 루트키 아래의 File, Generic, Orphan, Programs 등 4개의 키를 가짐

  • 포렌식 관점으로는 다음 내용과 같음

    • 모든 실행 파일의 목록, 전체 경로 확인

    • 파일의 최초 실행 시간, 삭제 시간 확인

    • 안티 포렌식 프로그램, 외부 저장장치 흔적 추적

 


# Reference

 

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

 

https://www.ssi.gouv.fr/uploads/2019/01/anssi-coriin_2019-analysis_amcache.pdf

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

[Windows Artifacts] WER  (0) 2020.05.25
[Windows Artifacts] Task Scheduler  (0) 2020.05.25
[Windows Artifacts] Recycle Bin  (0) 2020.05.25
[Windows Artifacts] Jump Lists  (0) 2020.05.25
[Windows Artifacts] Shortcut (LNK)  (0) 2020.05.25

[Windows Artifacts] Recycle Bin

 

윈도우 아티팩트


(1) Recycle Bin이란?

  • 휴지통은 윈도우에서 파일을 삭제할 경우, 기본적으로 삭제된 파일은 휴지통(Recycle.Bin) 영역으로 이동됨

  • 휴지통 이용 파일 삭제 시 변화로는 다음과 같음

    • 파일을 삭제할 경우 해당 파일의 MFT 엔트리(NTFS 경우) 삭제와 휴지통 폴더의 새로운 파일 이름으로 MFT 엔트리가 생성

    • 결과적으로 파일 삭제 시, 파일 메타데이터 정보의 변경만 일어나고 파일 내용(데이터 영역)은 변화 없음

  • 휴지통 이용 파일 복원 시 변화로는 다음과 같음

    • 파일을 복원할 경우 휴지통 MFT 엔트리 삭제 후, 원본 파일 경로에 새로운 MFT 엔트리가 생성되며, 파일의 시간 정보는 삭제와 복원 시에 그대로 유지됨

  • 휴지통은 설정한 최대 크기를 넘지 않을 경우, 삭제한 모든 파일 모두 복구가 가능하며, 최대 크기를 넘길 경우 오래된 파일부터 차례로 삭제

  • 삭제된 파일 형식으로는 $R [임의 문자열] . [원본 파일 확장자]

  • 원본 파일 경로와 삭제된 시간 등의 정보는 $I [임의 문자열] . [원본 파일 확장자] 파일로 관리

  • user sid 정보를 확인한 후에, Recycle Bin 폴더에서 자신의 휴지통 분석이 가능

  • 휴지통에는 악성코드가 숨어 있기도 하여, 사고 조사 시에 다음 패턴으로 휴지통 악성코드 식별이 가능

    • 휴지통 밑 최상위 루트에 혼자 단독적으로 존재하는 파일 (SID 폴더 하위가 아닌)

    • $I 혹은 $R 패턴 파일명이 아닌 파일이 휴지통에 존재하는 경우


(2) Recycle Bin 상세 내용

2-1. Kind of

  • Windows OS Function

2-2. Information

  • Deleted File Original Data / Metadata

2-3. Path

  • root\$Recycle.Bin (OS Dependency)

2-4. Characteristic

  • 'Shift + Delete' key does not go through the Recycle Bin

  • Every Volume has a Recycle Bin

  • Need to understand $I / $INFO2 mechanism

2-5. Tools

  • RBCmd

 

2-5-1. RBCmd : https://ericzimmerman.github.io

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

 

[그림 1] Recycle Bin 분석 예시

 


(3) 아티팩트 수집 및 분석 실습

3-1. FTK Imager > root > $Recycle.Bin 아티팩트 확인

 

[그림 2] FTK Imager - Recycle Bin 수집

 

 

3-2. Recycle Bin 아티팩트 - Export Files

 

[그림 3] 아티팩트 수집

 

여기서 중요한 것은, 아티팩트 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

[그림 4] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 4]는 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 파일을 지정해 준 화면이다.

 

 

3-3. RBCmd 도구 실행 & 명령어 입력

 

[그림 5] RBCmd 실행 및 csv 파일 생성 작업

 

RBCmd.exe 도구를 활용하여 수집한 아티팩트를 csv 파일로 만드는 작업을 [그림 5]와 같이 수행한다. (디렉토리 > csv)

 

 

3-4. csv 파일 확인 (Sublime Text3)

 

[그림 6] csv 파일 오픈

 

분석 결과인 csv 파일을 Sublime Text3로 오픈한 화면이다.

 

 

3-5. 레코드 & 컬럼 분석

 

[그림 7] 레코드 & 컬럼 분석

 

하나의 파일을 예로 들어 분석하면, 다음과 같은 결과를 확인할 수 있음

  • 삭제된 파일이 이동된 경로

  • 삭제 파일 이름 & 확장자

  • 삭제 되기 전 파일 경로 & 이름

  • 파일 크기

  • 삭제 시간


(4) user sid 확인 방법

 

4-1. user sid 확인

 

[그림 8] whoami / user 명령어 입력

 

  • whoami /user

다음과 같은 명령어로 해당 Desktop의 user sid 확인이 가능하다.

 

 

4-2. 전체 컴퓨터 모든 사용자 정보 확인

 

[그림 9] whoami /all 명령어 입력

 

  • whoami /all

다음과 같은 명령어로 전체 컴퓨터의 모든 사용자 정보 & user sid 정보 확인이 가능하다.


# Reference

 

http://forensic-proof.com/slides

[FP] 휴지통 포렌식

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

[Windows Artifacts] Task Scheduler  (0) 2020.05.25
[Windows Artifacts] Amcache  (0) 2020.05.25
[Windows Artifacts] Jump Lists  (0) 2020.05.25
[Windows Artifacts] Shortcut (LNK)  (0) 2020.05.25
[Windows Artifacts] Event Log  (0) 2020.05.25

[Windows Artifacts] Jump Lists

 

윈도우 아티팩트


(1) Jump Lists란?

  • Windows 7 이전에는 Recent, UserAssist 이용하여 편의성을 위한 최근 목록 유지

  • 하지만, 7부터는 Jump List 기능 추가

  • 작업 표시줄에서 마우스 우클릭 시에 확인 가능

  • 다음 항목으로 분류하여 저장

    • Recent (최근 항목)

    • Frequent (자주 사용하는 항목)

    • Tasks (작업)

    • Pinned (사용자 고정)

[그림 1] 작업 표시줄


(2) Jump Lists 상세 내용

2-1. Kinds of

  • Windows OS Function

2-2. Information

  • Executed File

  • Link File Count

  • File Size

  • Created / Modified / Access Time

2-3. Path

  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\

    • AutomaticDestinations\* (Recent, Pinned)

    • CustomDestinations\* (Requent, Tasks)

2-4. Characteristic

  • Each item has an App ID...

2-5. Tools

  • JumpList Explorer

 

2-5-1. JumpList Explorer : https://ericzimmerman.github.io

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

[그림 2] AutomaticDestinations & CustomDestinations

 

[그림 3] 점프 리스트 분석 예시


(3) 아티팩트 수집 및 분석 실습

3-1. FTK Imager > Users > [username] > AppData > Roaming > Microsoft > Windows > Recent 해당 아티팩트 확인

  • AutomaticDestinations 폴더와 CustomDestinations 폴더 확인

[그림 4] FTK Imager - 점프 리스트 수집

 

3-2. AutomaticDestinations & CustomDestinations - Export Files

 

[그림 5] 아티팩트 수집

 

여기서 중요한 것은, 아티팩트 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

[그림 6] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 6]은 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 파일을 지정해 준 화면이다.

 

 

3-3. JumpList Explorer 활용, 점프 리스트 아티팩트 분석

 

[그림 7] JumpList Explorer

 

해당 아티팩트로 얻을 수 있는 정보는 다음과 같다.

  • 해당 소스 파일에 대한 경로

  • 점프 리스트 타입 (AutomaticDestinations & CustomDestinations)

  • 해당 앱 ID & 상세 이름 (설명)

  • 링크 파일 클릭 수

  • 파일 크기

 

 

3-4. 상세 분석

 

[그림 8] 상세 분석 내용

 

JumpList Explorer 도구 하단에는 관련된 점프 리스트의 상세 정보를 볼 수 있는 화면이 있다.

 

관련 점프 리스트의 각각 엔트리 내용은 다음과 같다.

  • Target MAC 타임 정보

  • 호스트 이름(노트북 정보)

  • MAC 주소

  • 네트워크 공유 정보

  • 파일 상세 경로

  • Location Flags 

위와 같이 매우 다양한 정보들을 확인 가능하여 매우 유용한 아티팩트라고 할 수 있다.


(4) 추가 내용 정리

  • 점프 리스트는 윈도우 7부터 새롭게 추가 된 기능으로, 응용 프로그램에 대한 사용 로그

  • 작업 표시줄의 마우스 우클릭으로 점프 리스트를 확인 가능하며, 종류는 다음과 같음

    • Recent (사용자가 최근 접근한 파일)

    • Frequent (사용자가 빈번히 접근한 파일)

    • Tasks (응용 프로그램에서 지원하는 작업 목록)

    • Pinned (사용자가 고정 시킨 작업 목록)

  • 포렌식적 관점으로는 다음과 같음

    • 문서, 프로그램 실행 유무

    • 자주 사용하는 문서, 프로그램 정보 확인

    • 최근에 사용한 문서, 프로그램 정보 확인

    • 사용자 행위 파악

    • 정보 유출 사건 분석

    • 사용자가 삭제하지 않는 이상, 운영체제 설치부터 지속적으로 로그 저장

  • 사용자의 행위를 파악하거나 정보 유출 사건 분석에 큰 역할을 하는 아티팩트

  • AutomaticDestinations는 운영체제가 자동으로 남기는 항목으로, 최근 사용한 목록이나 자주 사용되는 목록

  • CustomDestinations는 응용 프로그램이 자체적으로 관리하는 항목을 뜻하며, 작업 목록과 같음


# Reference

 

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

 

http://forensic-proof.com/slides

[FP] 윈도우 7 - 점프 목록

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

[Windows Artifacts] Amcache  (0) 2020.05.25
[Windows Artifacts] Recycle Bin  (0) 2020.05.25
[Windows Artifacts] Shortcut (LNK)  (0) 2020.05.25
[Windows Artifacts] Event Log  (0) 2020.05.25
[Windows Artifacts] Prefetch  (0) 2020.05.24

[Windows Artifacts] Shortcut (LNK)

 

윈도우 아티팩트


(1) Shortcut (LNK)란?

  • 바로가기 파일(링크 파일)이라고도 불리며, 'Windows Shortcut', 공식 명칭은 'Shell Link'라고 불림

  • 윈도우에만 존재하는 기능으로 응용 프로그램, 디렉토리, 파일 등의 객체를 참조하는 파일

  • .lnk 확장자를 가지며, 명렁 줄이 아닌 GUI에서만 동작

  • 응용 프로그램 설치 시에 바탕화면이나 시작 메뉴, 빠른 실행 폴더, 설치 폴더에 바로가기 생성이 가능하며, 사용자들도 필요에 따라 바로가기 생성이 가능

  • 일반 파일과 동일하게 메타데이터와 MFT 엔트리를 갖고 있으며, 심볼릭 링크의 경우에 원본 파일을 가리키고 있는 것은 파일이 아닌 것으로 파일 시스템이 인식하기 때문에 MFT 엔트리를 가지고 있지 않아 두 기능이 다르다고 할 수 있음

  • 시스템 사용자가 편의를 위해 사용하는 경우도 많지만, 운영체제가 자동 실행이나 최근 접근한 데이터, 자주 사용하는 파일이나 프로그램에 관한 정보를 관리할 때에 사용하기도 함

  • 링크 대상 파일에 관한 생성, 접근, 수정 시간 정보 및 원본 위치 등에 관한 기록을 포함하고 있으므로, 정보 유출에 관한 조사나 시스템 사용에 관한 시간 관계를 정리할 때 유용하게 사용되는 경우가 많음


(2) Shortcut (LNK) 상세 설명

2-1. Kind of

  • Windows File

2-2. Information

  • Target Link File's Metadata

2-3. Path

  • Can be created anywhere

  • OS Dependency

    • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\*.lnk

    • %UserProfile%\Appdata\Roaming\Microsoft\Windows\Start Menu\Programs\*.lnk

    • %UserProfile%\Appdata\Roaming\Microsoft\Internet Explorer\Quick Launch\*.lnk

2-4. Characteristic

  • *.lnk may have MAC address, Volume Name / Type / Serial, Etc.

2-5. Tools

  • LECmd

 

2-5-1. LECmd : https://ericzimmerman.github.io/

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

[그림 1] LNK 분석 예시


(3) 아티팩트 수집 및 분석 실습

3-1. FTK Imager > Users > [username] > AppData > Roaming > Microsoft > Windows > Recent 폴더 LNK 아티팩트 존재

 

[그림 2] FTK Imager - LNK 아티팩트 수집

 

여기서 중요한 것은, Shortcut(LNK) 파일 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

[그림 3] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 3]은 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 아티팩트를 지정해 준 화면이다.

 

LNK 파일은 evidence.001이라는 이름을 가진 파일로 정한 다음, 진행하였다.

 

 

3-2. LECmd 도구 활용, 바로가기 아티팩트 분석

 

[그림 4] LECmd (1)

 

[그림 5] LECmd (2)

 

 

3-3. LECmd 도구 결과, LNK 아티팩트 분석

 

[그림 6] LNK 분석 결과

 

분석 결과로는 Source file에 대한 경로와 MAC 타임, Target MAC 타임, 파일 크기, Volume 정보와 네트워크 공유 정보 등을 확인 가능하다.

 

또한, 파일의 실제 경로나 관리자 폴더, Short name, Long name, Desktop 정보, Droid 등 여러 중요 정보를 확인할 수 있어 매우 유용한 아티팩트라고 할 수 있다.


(4) 추가 내용 정리

  • Shortcut(LNK) 아티팩트를 다음과 같이 정의할 수 있음

    • 특정 응용 프로그램일 때, 바탕화면에 자동으로 생성되는 파일

    • 사용자가 편의를 위해 바로가기를 생성했을 때 생기는 파일

    • 로컬 및 원격 데이터 파일, 문서를 열었을 때 생성되는 파일

    • 바탕화면 외에도 최근 문서 폴더, 시작 프로그램, 빠른 실행 등 다양한 곳에서도 생성

  • 포렌식 관점으로는 다음과 같은 내용이 있음

    •  파일의 MAC Time

    • 볼륨 정보

    • 네트워크 공유 정보

    • 원본 위치

    • 시스템 이름

    • 원본 파일 추적 가능

  • 윈도우 LNK 파일 폴더는 다음과 같음

    • 바탕화면(Desktop)

    • 최근 문서(Recent)

    • 시작 프로그램(Start)

    • 빠른 실행(Quick Launch)

  • LNK 파일 형식은 다음과 같음

    • ShellLinkHeader(default)

    • LinkTargetIDList(optional)

    • LinkInfo(optional)

    • StringData(optional)

    • ExtraData(optional)

위 5가지 LNK 파일 형식 중 포렌식적으로 의미있는 정보를 저장한 구조는 ShellLinkHeader과 LinkInfo 구조이다.


# Reference

 

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

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

[Windows Artifacts] Recycle Bin  (0) 2020.05.25
[Windows Artifacts] Jump Lists  (0) 2020.05.25
[Windows Artifacts] Event Log  (0) 2020.05.25
[Windows Artifacts] Prefetch  (0) 2020.05.24
[Windows Artifacts] Registry  (0) 2020.05.24

[Windows Artifacts] Event Log

 

윈도우 아티팩트


(1) Event Log란?

  • 윈도우에서 발생하는 H/W, S/W 및 시스템 문제에 대한 다양한 이벤트들이 기록

  • 일반 시스템 엔지니어들도 트러블 슈팅을 위해 참고하는 윈도우 대표적 로깅 시스템

  • 로그는 응용 프로그램 로그와 시스템 로그, 보안 로그로 나뉘게 됨

  • 응용 프로그램 로그는 윈도우에서 API를 사용하는 응용 프로그램이 중요한 이벤트를 알리고, 활동 내역을 기록

  • 시스템 로그는 윈도우의 시스템 운영과 유지에 관련된 대부분의 정보가 이 곳에 저장되며, 주로 하드웨어 장치나 드라이버 오류 정보 및 동작 여부 등이 기록

  • 보안 로그는 시스템 로그온, 파일 접근, 인증, 계정 생성, 권한 사용 등에 따른 이벤트와 보안과 관련된 항목들이 저장, 어떤 파일에 접근했는지에 대한 관련 정보가 포함되어 있어 사고 분석에 있어 가장 중요한 로그라 할 수 있음


(2) Event Log 상세 내용

2-1. Kind of

  • Windows OS Log

2-2. Information

  • Mostly Windows Activities

2-3. Path

  • %SystemRoot%\System32\winevt\*

2-4. characteristic

  • More log store from Windows vista and above

2-5. Tools

  • Event Log Explorer

  • Evtx Explorer, EvtxECmd

 

2-5-1. Event Log Explorer : https://eventlogxp.com/

 

Windows event log analysis software, view and monitor system, application and security event logs — FSPro Labs

For Windows Administrators Filters events by any criteria Stores user credentials Automates labor intensive tasks Monitors and notifies about events More about sysadmin features... For Forensic Investigators Retrives detailed information Reads damaged even

eventlogxp.com

 

2-5-2. Evtx Explorer, EvtxECmd : https://ericzimmerman.github.io/

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

이외에도 수많은 이벤트 로그 분석 도구들이 존재한다.

 

[그림 1] 이벤트 로그 분석 예시


(3) 아티팩트 분석 실습

 

3-1. FTK Imager > Windows > System32 > winevt > Logs 폴더 이벤트 로그 아티팩트 확인

  • 마우스 우클릭 > Export Files 기능을 이용하여 해당 아티팩트를 수집

[그림 2] FTK Imager - 이벤트 로그 수집

 

여기서 중요한 것은, Event Log 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

[그림 3] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 3]은 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 아티팩트를 지정해 준 화면이다.

 

 

3-2. Event Log Explorer 활용, 이벤트 로그 분석

 

[그림 4] Event Log Explorer

 

호스트 PC에 있던 이벤트 로그를 분석 환경으로 옮긴 다음, Event Log Explorer를 실행한 화면이다.

 

 

3-3. 레코드 & 컬럼 분석

 

[그림 5] 레코드 & 컬럼 분석

 

하나의 레코드를 예로 들어, 컬럼 분석한 결과이다.

  • Information 부분은 이벤트의 심각도를 가리키며, 주로 Information과 Error, Warning 등이 있음

  • 2020-03-27은 이벤트가 발생했던 날짜이며, 오후 4:33:03초에 발생했던 시간이 출력

  • 43은 특별한 이벤트 유형을 식별하는 값을 나타냄

  • Microsoft-Windows는 이벤트를 기록한 소프트웨어(이벤트가 일어난 프로세스)를 의미

  • Windows 업데이트 에이전트는 이벤트 게시자의 하위 구성 요소 또는 활동을 표현하는 데 사용

  • \SYSTEM은 이벤트에 대한 사용자의 이름을 나타냄

  • 마지막으로 LAPTOP은 노트북(데스크톱)의 기기 모델명을 의미 

 

3-4. 더블 클릭 확인

 

[그림 6] 더블 클릭 - 상세 내용 확인

 

더블 클릭하여 확인해보면, [그림 6]과 같이 자세한 정보를 확인할 수 있다.


(4) 추가 내용 정리

  • 윈도우 운용 과정에서 발생하는 특정 이벤트들을 종합적이고, 체계적으로 로그 기록

    • 시스템의 성능, 오류, 경고 및 운용 정보 등의 중요 정보 기록

  • 기록된 로그들은 각각 이벤트 ID를 가짐

    • 이벤트 로그를 획득해도 이벤트 ID 의미를 알지 못하면 의미 없음

  • 주요 이벤트 로그는 다음과 같음

    • Application.evtx 응용 프로그램 로그

    • System.evtx 시스템 로그

    • Setup.evtx 설치 로그

    • Security.evtx 보안 로그

  • 포렌식 관점으로는 다음과 같다.

    • 시스템에서 발생하는 취약점 분석

    • 시스템 장애 원인, 성능 관리

    • 시스템 외부 침입 감지 및 추적

    • 전반적인 시스템 활동 분석


# Reference

 

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

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

[Windows Artifacts] Jump Lists  (0) 2020.05.25
[Windows Artifacts] Shortcut (LNK)  (0) 2020.05.25
[Windows Artifacts] Prefetch  (0) 2020.05.24
[Windows Artifacts] Registry  (0) 2020.05.24
[Windows Artifacts] $UsnJrnl  (0) 2020.05.24

[Windows Artifacts] Prefetch

 

윈도우 아티팩트


(1) Prefetch란?

  • 부팅 시 혹은 응용 프로그램을 실행할 때 속도를 높이기 위해 사용

  • Windows 내에서 메모리를 효율적으로 관리하기 위한 한 방법

  • Process

    • 부팅 시에는 120초 동안 모니터링하고, 응용 프로그램 시작 시에는 10초 모니터링

    • 모니터링 시간 동안 메모리에 올라온 프로세스 모니터링

    • 모니터링 시간 동안 메모리에 올라온 프로세스의 시스템 자원 모니터링

    • 메모리에 올라온 프로세스 모니터링 정보로 프리패치 파일 생성

    • 부팅 혹은 응용 프로그램 실행

    • 미리 저장된 프리패치 파일에 남겨진 정보를 메모리에 미리 실행

    • 프로세스 로딩 속도 향상


(2) Prefetch 상세 내용

2-1. Kind of

  • Windows OS Function

2-2. Information

  • Executed Process, Process Path, Created / Modified Time

  • Loaded DLL, Loaded File

2-3. Path

  • %Systemroot%Prefetch

2-4. Characteristic

  • Store 128 limited file, Delete old files when the number exceeds

  • It must be in memory for a certain period of time to be stored...

2-5. Tools

  • PECmd

  • WinPrefetchView

 

2-5-1. PECmd : https://ericzimmerman.github.io

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

2-5-2. WinPrefetchView : https://www.nirsoft.net/utils/win_prefetch_view.html

 

View the content of Windows Prefetch (.pf) files

    WinPrefetchView v1.36 Copyright (c) 2010 - 2020 Nir Sofer Description Each time that you run an application in your system, a Prefetch file which contains information about the files loaded by the application is created by Windows operating system. T

www.nirsoft.net

 

[그림 1] WinPrefetchView 실행 화면 예시


(3) 아티팩트 분석 실습

3-1. FTK Imager > Windows > Prefetch(.pf)

 

[그림 2] FTK Imager - Prefetch 수집

 

여기서 중요한 것은, Prefetch 파일 수집(추출)이나 출력 결과물 저장은 수집 대상물의 데이터 무결성을 위해 분석 환경에서 진행해야 하며, 가상 환경 공유 폴더나 이동식 매체로 지정해야 한다.

 

즉, 수집 도구에 의한 수집물은 '이동식 매체'로 저장하고 분석 결과도 수집 대상물에 저장되지 않도록 분석은 수집 대상물 PC가 아닌 분석용 로컬 PC(호스트)에서 진행해야 한다.

 

수집된 파일이나, 디렉토리는 수집 대상물의 디스크에 바로 저장되어서는 안 되며, 바로 공유 폴더  등의 이동식 매체에 저장되어야 데이터 무결성이 깨지지 않는다.

 

또한, 아티팩트를 수집할 시에 MAC 타임 보존은 필수적으로 숙지하고 진행한다.

 

 

[그림 3] 해당 아티팩트 공유 폴더 지정 예시

 

위 [그림 3]은 해당 아티팩트 분석을 위해 분석 환경 공유 폴더로 해당 파일을 지정해 준 화면이다.

 

 

3-2. WinPrefetchView 활용, 프리패치 분석

 

[그림 4] WinPrefetchView 아티팩트 분석

 

WinPrefetchView 도구를 사용하여 확인해보면, 여러 프리패치 파일들을 확인할 수 있다.

 

파일 이름, 생성 시간, 수정 시간 등 정렬 기준을 마음대로 하여 파일 확인도 가능하다.

 

 

3-3. 레코드 & 컬럼 분석

 

[그림 5] 레코드 & 컬럼 분석

 

메모장에 대한 프리패치 파일을 예로 들어 분석한 내용이다.

  • 노트패드(메모장)에 대한 프리패치 파일

  • 생성 시간, 수정 시간, 파일 크기, 실행 된 프로세스, 프로세스 경로에 대한 정보 확인 가능

  • 마지막 런 타임, 런 카운터, Missing Process에 대한 결과 값도 같이 확인 가능

 

Missing process ?

  • nirsoft WinPrefetchView 해당 도구가 추가한 커스텀 컬럼

  • 원래의 prefetch 파일 설계 레이아웃에는 존재하지 않음

  • Process Hollowing 기법을 탐지하기 위해 만들어진 컬럼 (오탐 가능성 존재)

 

Process Hollowing ?

  • 프로세스 시작 시에 suspend 옵션을 주어 잠시 일시중지 후 해당 프로세스의 실행 섹션에 악성코드 인젝션 후, 재시작 시키는 공격자의 악성코드 삽입 기법

  • 코드 인젝션을 용이하기 하기 위한 기법이며, 이런 기법이 사용될 경우 prefetch 파일에 이상 동작이 기록

  • 'Missing Process' 컬럼에 'yes'가 표현되는 이유는 해당 prefetch 파일 내에 프로세스 경로나 위치가 정상적으로 기록되지 않아서 기록

 

Prefetch 파일과 Process Hollowing 상관관계

  • 프로세스는 실행되기 위해 7가지 세부 단계를 거침 (세부 단계 생략, Windows Internals 참조)

  • Prefetch 기능은 7번째 단계에서 동작

  • Process Hollowing 기법은 6번째 단계에서 시작 (프로세스 일시중지 - 6번째 단계 / 재시작 - 7번째 단계)

  • 따라서, 7번째 단계에 악성코드가 재시작되므로 인젝션 된 프로세스의 Prefetch 파일에는 악성코드가 로드하는 리소스들이 기록

  • 예를 들어, 정상 calc..exe 프로세스의 Prefetch 파일에는 정상적인 리소스들이 로드된 기록이 남겠지만 Process Hollowing 기법으로 인젝션 된 calc.exe 프로세스의 Prefetch 파일에는 악성코드가 로드한 리소스들이 남을 것

 

즉, Process Hollowing 기법의 타겟이 된 프로세스의 Prefetch 파일은 인젝션되어 오작동하기 때문에 정상적으로 원본 프로세스의 경로를 읽지 못한다거나, 원래는 불러와야 할 리소스를 불러오지 못한다.

 

이 과정에서 정상적인 Prefetch 파일이 제대로 기록되지 못하고, 무언가 누락된 Prefetch 파일이 생성되게 된다.

 

 

3-4. DLL / INI 파일 확인

 

[그림 6] 프리패치 관련 DLL 파일

 

하단을 보면 메모장 프로그램에 대한 프리패치 파일과 관련된 여러 DLL 파일이나 INI 등 관련 파일들에 대한 디바이스 경로와 인덱스 번호에 대한 결과 값 확인도 가능하다.

 

이를 통하여 로드 된 악성 파일의 실행 흔적 확인도 가능하다.


(4) 추가 내용 정리

  • 윈도우 프리패치는 실행 파일이 사용하는 시스템 자원을 특정 파일에 미리 저장하는 파일

  • 윈도우 부팅 시에 프리패치 파일을 모두 메모리에 로드

  • 사용자가 파일을 실행할 경우, 미리 저장된 정보를 메모리에서 실행하여 실행 속도를 향상 시킴

  • 프리패치 파일의 포렌식적 의미로는 다양한 정보를 저장하므로 포렌식적으로 중요한 정보 활용이 가능

  • 프리패치 파일에서 획득 가능한 정보는 응용 프로그램 이름, 응용 프로그램 실행 횟수, 응용 프로그램 마지막 실행 시각, 참조 목록, 파일 시스템 시간 정보(MAC 타임)를 이용한 통합 타임라인 분석 등이 있음

  • Missing Process 컬럼은 해당 도구(nirsoft Winprefetchview)가 추가한 커스텀 컬럼으로, Process Hollowing 기법을 탐지하기 위해 만들어진 컬럼 (오탐 가능성 존재, 오탐 이유)

  • Process Hollowing 기법 타겟이 된 프리패치 파일은 인젝션되어 정상적 원본 프로세스 경로를 읽지 못하거나 기존에 불러와야 하는 리소스를 불러오지 못하게 되어 정상 프리패치 파일이 제대로 기록되지 못하고 누락된 프리패치 파일이 생성됨


# Reference

 

http://forensic-proof.com/archives/6103

 

(FP) 프리, 슈퍼 패치 포렌식

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

[Windows Artifacts] Shortcut (LNK)  (0) 2020.05.25
[Windows Artifacts] Event Log  (0) 2020.05.25
[Windows Artifacts] Registry  (0) 2020.05.24
[Windows Artifacts] $UsnJrnl  (0) 2020.05.24
[Windows Artifacts] $LogFile  (0) 2020.05.24

+ Recent posts