-
ThumbnailCache & IconCache, Windows Timeline, Event Logs, VSS, Windows Search, Recycle Bin 개념 및 실습Digital Forensics/inflearn 2024. 1. 10. 07:00
개념 정리
ThumbnailCache & IconCache
ThumbnailCache
- 썸네일(Thumbnail) : '미리보기 파일'을 의미함
- Windows에서는 썸네일 사진들을 미리 생성하여 보관하고 있음
-%UserProfile%\AppData\Local\Microsoft\Windows\Explorer - thumbcache_{크기}.db
(이때 이 .db는 db browser for sqlite의 db랑 아예 다른 구조)
IconCache
- Windows 아이콘(Icon)을 보여주기 위해서 가지고 있는 캐시
-공통의 아이콘을 사용(일반적인 폴더, 파일)
-별도의 아이콘을 사용(응용프로그램) - Windows에서는 아이콘 사진들을 별도의 공간에 모아서 보관함
-%UserProfile%\AppData\Local\Microsoft\Windows\Explorer - iconcache_{}.db
ThumbnailCache & IconCache 포렌식적 의미
- ThumbnailCache
-분석 대상 PC에 해당 파일이 존재하였음을 나타냄
-해당 파일이 삭제되더라도 ThumbnailCache는 사라지지 않음 - IconCache
-분석 대상 PC에 존재했던 응용프로그램의 종류를 확인 가능
-외부저장매체 사용 흔적 파악(ex.USB)
-안티포렌식 도구 사용 흔적, 악성코드 실행 흔적 파악
-해당 응용프로그램이 삭제되더라도 IconCache는 사라지지 않음
Windows Timeline
Windows Timeline
- Windows에서 지원하는 Timeline 기능
-사용자가 실행하고 있는 응용프로그램
-사용자가 과거에 실행했던 응용프로그램
-최대 30일의 사용자 행위를 보관 - Windows + Tab 버튼
- 설정 활성화
-'이 장치에 내 활동 기록 저장' 설정 - Timeline 데이터 저장 경로
-유저 계정에 따라 경로가 달라짐
-로컬 계정 : L.{로컬 계정명}
-마이크로소프트 계정 : {마이크로소프트 식별자(CID)}
-Office 365 & AAD 계정 : AAD.{보안 식별자(SID)}
-%UserProfile%\AppData\Local\ConnectedDevicesPlatform\{계정명}\ActivitiesCache.db - ActivitiesCache.db 구조
-Activity : 응용프로그램 실행 기록, 실행 시간 등 보통의 Timeline 데이터
-ActivityOperation : 생성 혹은 삭제 이벤트에 대한 Timeline 데이터
-Activity_PackageId : 앱별 패키지 이름 - Windows10에서 2018년부터 추가된 기능
-Windows11부터는 지원 중단
-그러나, 동일한 경로에 데이터가 생성됨을 확인
-'활동 기록' 메뉴 역시 그대로 존재 - 포렌식적 의미
-시간에 따른 사용자의 행위 추적
-응용프로그램의 구체적인 사용 시각을 알 수 있음
Event Logs
로그란
-컴퓨터를 이용한 기록 등이 컴퓨터 내에 남아 있는 것
이벤트 로그(Event Logs)
- Windows 운영체제에서 시스템의 로그를 남기는 방식
- 이벤트 뷰어(Event Viewer)를 통해 확인할 수 있음
- 시스템 로그, 응용프로그램 로그, 보안 로그 등이 존재
- 응용 프로그램 로그
- 보안 로그
- Setup 로그
- 시스템 로그
- 응용프로그램 및 서비스 로그
- 응용프로그램(Application)
-시스템 구성 요소를 제외한 응용프로그램에서 발생한 이벤트기록(데이터베이스 오류, AV 로그 등)
-기록할 이벤트 유형은 응용프로그램 개발자가 결정 - 보안(Security)
-파일만들기, 열기 등의 리소스 사용 이벤트 및 로그인 성공/실패, 보안정책 변경과 같은 보안이벤트
-기록한 이벤트 유형은 관리자에 의해 변경 가능(유일하게 사용자가 변경 가능) - 설치(Setup)
-응용프로그램 설치 및 설정과 관련한 이벤트 기록 - 응용 프로그램 및 서비스 로그
-Internet Explorer, Microsoft Office 및 Windows Application 들에서 생성하는 다양한 로그
-Windows Defender(디펜더), Partition Diagnostic(USB 연결 흔적), WLAN Autoconfig(Wifi 연결) 등
- 이벤트 로그 경로
-C:\Windows\System32\winevt\Logs - 이벤트 ID
-각각의 이벤트 로그는 이벤트 ID를 가짐
-이벤트 ID 별로 나타내는 활동이 유사함(ex. Logon:4624, Logoff:4634) - 어떤 이벤트 ID를 찾을 것인가?
-Spotting the Adversary with Windows Event Log Monitoring, NSA
-Windows 10 and Windows Server 2016 Security auditing and monitoring reference, Microsoft
-윈도우 이벤트 로그(EVTX) 분석 및 포렌식 활용방안, 강세림 - 이벤트 ID 검색 사이트
-https://kb.eventtracker.com/
-https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/Default.aspx
-https://eventid.net/ (현재 지원 중단)
VSS
VSS(Volume Shadow Copy Service)
-특정한 시각의 파일, 폴더의 복사본이나 볼륨의 스냅샷을 저장해두고 복원할 수 있는 기능
- 시스템 복원 기능
-컴퓨터 전체를 복원 지점으로 되돌리기
-특정 파일/폴더를 이전 버전으로 되돌리기 - VSS 설정
-복원 지점 만들기 검색
-구성 -> 시스템 보호 사용 설정
-구성 -> 디스크 공간 설정
-만들기 -> 시스템 복원 - VSS 확인
-vssadmin list shadows
-mklink /d <링크폴더> <섀도 복사본 볼륨>
-파일 탐색기로 접근하여 확인
Windows Search
Windows Search
- Windows 검색 기능
-작업표시줄 아이콘 클릭 or Windows + S 단축키 - Windows Indexing
-검색 기능을 구현하기 위해 미리 Indexing 작업을 수행함
-파일 이름과 전체 파일 경로를 포함하여 파일의 모든 속성이 인덱싱됨
-텍스트가 포함된 파일의 경우, 콘텐츠가 인덱싱됨 - Windows.edb
-Windows Search에 사용하기 위한 Indexing 정보 저장
-경로 : %ProgramData%\Microsoft\Search\Data\Applications\Windows - Windows.edb 수집
-온라인 상태에서 수집할 때는 Windows Search(Wsearch) 서비스를 종료시켜야 함
-서비스 동작 중 복사하거나 포렌식 도구로 수집 시 정상적인 구조가 아닌 'Dirty' 상태로 수집됨
-Dirty : 응용프로그램이 데이터베이스를 사용하는 중의 상태
-Clean : 데이터베이스 API를 사용하여 트랜잭션을 모두 처리한 상태
Recycle Bin
- 휴지통(Recycle Bin)
-파일을 삭제하고, 복원하거나 영구 삭제할 수 있음 - 휴지통 폴더 확인
-파일탐색기 보기 설정 변경 - 휴지통 폴더는 볼륨 단위로 생성
-로컬 디스크로 인식되는 경우에 생성
-USB 등 이동식 디스크, 네트워크 드라이브 등은 생성되지 않음 - "휴지통" 아이콘
-모든 볼륨의 휴지통 폴더를 통합하여 보여줌
-그러나 하나의 폴더로 존재하는 것은 아님 - 휴지통 아티팩트(파일 삭제 시)
-휴지통 폴더 경로 : <Volume>\$Recycle.Bin\<SID>\
-삭제된 파일 : $R<임의문자열 6자리>.<원본 파일 확장자>
-삭제 관련 메타데이터 : $I<임의문자열 6자리>.<원본 파일 확장자> - 휴지통 아티팩트(파일 복원 시)
-삭제된 파일($R)은 사라짐
-삭제 관련 메타데이터($I)는 남아 있음 - 휴지통 아티팩트(휴지통 비우기)
-삭제된 파일($R) 및 삭제 관련 메타데이터 모두 삭제
실습 과정
ThumbnailCache & IconCache - Practice
- 참고
-해킹짹짹 뉴스레터, 썸네일포렌식 - Thumbcache Viewer 다운로드
-https://thumbcacheviewer.github.io/
-바탕화면 thumbnail&timeline 폴더에 thumbcache_viewer.exe 64비트 다운로드 → 파일탐색기에서 경로 복붙한 다음 파일 크기 3000kb정도 되는 적당히 큰 거 찾아서 .db파일 Thumbcache Viewer에 드래그앤드롭으로 던지기 → 썸네일 데이터가 뜨는데 이게 이미지뿐만 아니라 다른 거에 대한 썸네일도 전부 다 포함됨, 아이콘캐시랑 좀 비슷해보이기도 함, 더블클릭해서 하나씩 보면 됨, iconcache도 여기에 던져서 보기(아래에 이어서 추가됨)
Windows Timeline - Practice
저장 경로 확인
- 계정명 확인
- %Userprofile%\AppData\Local\ConnectedDevicesPlatform\{계정명}\ActivitiesCache.db
- DB Browser for SQLite 활용(파일탐색기에 경로 복붙하고 계정 들어가서 적당한 액티비티캐시디비파일 하나 프로그램에 던지기 → Payload 보면 clipboard같은건 복붙 흔적 → ActivityOperation 테이블 가서 Payload보면 생성하고 삭제한 게 나오는데 내용이랑 생성 시각 등 알 수 있음)
Event Logs - Practice
- 이벤트 ID를 찾아보자!(너무 방대해서 주요한 거 위주 필터링 실습)
-이벤트 뷰어 '사용자 지정 보기 만들기' - 소프트웨어 설치, 업데이트 및 삭제
-6, 7045, 1022, 1033, 903-908, 800, 2, 19 - 사용자 로그인
-4740, 4728, 2732, 4756, 4735, 4624, 4625, 4648
윈도우+S → 이벤트 뷰어 → 오른쪽 부분에 사용자 지정 보기 만들기 클릭 → 로그 기간은 모든 기간으로 두기 → 이 컴퓨터를 대상으로 할 것이기 때문에 로그별-이벤트로그에서 윈도우즈 로그랑 응용프로그램 및 서비스 로그 두가지에만 체크 → <모든 이벤트 ID> 쓰여진 곳이 ID 입력하는 칸인데 여기에 6, 7045, 1022, 1033, 903-908, 800, 2, 19 이거 숫자 복붙해서 넣기 → 확인, 예 → 필터를 사용자 지정 보기로 저장 창에서 이름은 software → 확인 → 화면에서 이벤트 흔적들을 확인 가능 → 근데 난 데이터 로드 불가
사용자 지정 보기 → 아까 위에 처럼 같은 설정에서 이번엔 두번째 숫자들 복붙 후 확인,예 → 뜨는 창에서 이름은 User Logon → 이거 실습하다가 중간에 윈도우+L 누르고 잠깐 다른 탭 들어갔다가 다시 User Logon 탭 들어오면 새로운 이벤트 로그온 성공적으로 했다는 거 제일 최신으로 떠있는 거 확인 가능 → 근데 난 또 데이터 로드 불가(원인은 이벤트 로그 서비스가 실행되고 있지 않거나 쿼리가 너무 길기 때문일 것으로 추정)
VSS - Practice
ShadowExplorer
-https://www.shadowexplorer.com/downloads.html
ShadowExplorer 0.9 Installer (exe) 클릭해서 다운로드 → 들어가면 강의로 예를 들어 두번의 스냅샷 나옴, 클릭해서 확인 가능 → ex.기업에서 2년동안 썼던 컴퓨터에서 1주일에 한번씩 스냅샷을 찍으면 VSS로 중요한 정보들을 복구할 수 있음
Windows Search - Practice
- Windows.edb 수집 과정
-Windows Search 서비스 '사용 안 함'
-Windows Search 서비스 '중지'
-이후에 Windows.edb 복사 - Clean shutdown 확인
-esentutl /m <파일이름> | findstr State
-State : Clean Shutdown 확인 - ESEDatabaseView
-ESE Database를 보여주는 도구(실행 → 열기 → 바탕화면 WindowsSearch 폴더 아래에 copy_Windows.edb 추출했던 거 열기 → esedatabase는 맞는데 여러 개의 테이블을 엮고 엮어서 보기가 어렵게 되어있어서 이거보단 아래 도구를 추천하심) - WinSearchDBAnalyzer
-https://moaistory.blogspot.com/2018/10/winsearchdbanalyzer.html
링크 들어가서 바탕화면 WindowsSearch 폴더에 다운로드 → File → Open → 추출해놨기 때문에 위 옵션 선택(툴이 좋은 이유가 Extract 눌러도 알아서 clean으로 되긴 해서 좋음) → File Path에 아까 추출한 .edb 복사본 클린 파일 선택 → Analysis method는 Parsing normal records → 우리나라는 UTC+9 → Seoul있는거 확인하고 save → file information은 디폴트값 그대로 두기 → Directory Tree에서 디렉토리 눌러서 오른쪽에서 인덱싱되고 있는거 볼 수 있음 → 파일 내용 일부가 인덱싱되는 거는 html 같은 거 들어가 보면 안에 내용이 Auto Summary로 우측 하단에 나오는 거 볼 수 있음, 가운데 내용 더블 클릭하면 시각, 사이즈 등도 알 수 있음 → 즉, 삭제된 데이터를 추적하고 싶을땐 Windows Search 활용해서 어떤 파일들이 시스템에 존재했었는지 등을 알 수 있음
Recycle Bin - Practice
- 휴지통 아티팩트 실습
-테스트용 폴더 및 파일 생성
-1)삭제 2)복구 3)휴지통 비우기 실습 - 메타데이터 분석
-파일 경로, 삭제된 시점, 크기 확인
-Windows File Analyzer, https://www.mitec.cz/wfa.html
접근 먼저 하기 → cmd 관리자 권한 실행 → cd c:\ → cd $Recycle.Bin → dir /a → cd ~-1000 → dir /a → 계속 삭제했다가 복원했다가 비우기했다가 반복하면서 dir 해보면 실습 결과 확인 가능
그다음 링크 들어가서 툴 바탕화면 Recycle Bin 폴더에 다운로드 → WFA.exe 실행 → file → Analyze Recycle Bin → C드라이브 선택 → 윈도우즈10 ok → 자동으로 $Recycle Bin 폴더 선택된거 확인 → 분석됨(메타데이터 파싱) → 이걸 포렌식적으로 유용하게 쓰려면 복원된 파일은 휴지통 비우기를 해도 $I가 남아있으니까 악성코드나 문서 유출 사건에서 i가 남아있으면 증거가 됨, 또는 휴지통에 들어있는 데이터는 $R 파일로 복구해서 써도 됨, 그 과정에서 i파일에 있는 메타데이터들을 참고해서 원본 파일이 어디 경로에 있었고 이름, 크기 등을 확인 가능함
새로 알게 된 것
전에 Autopsy를 사용하면서 썸네일이나 아이콘 포렌식이 궁금했는데 이번 강의를 통해 배우게 되어서 유익했다. 강의를 듣고 실습을 함께 따라하며 툴 사용법을 익히고 내용을 이해할 수 있었다. 윈도우 포렌식의 마지막 강의까지 수강을 하면서 윈도우 아티팩트들을 꽤 많이 알게 되었다. 하지만 이건 기초 수준에 불과하며 지속적인 포렌식 공부가 필요할 것 같다.
본 글은 위의 인프런 강의를 듣고 작성하였습니다.
'Digital Forensics > inflearn' 카테고리의 다른 글
OlympicDestroyer - Volatility Contest 2018 풀이 (1), (2), (3) (1) 2024.01.21 MUICache, AmCache & ShimCache, 브라우저 아티팩트 개념 및 실습 (1) 2023.11.21 Jumplist, Prefetch 개념 및 실습 (1) 2023.11.15 $MFT, $LogFile, $UsnJrnl, 바로가기(.LNK) 개념 및 실습 (1) 2023.11.07 Windows 포렌식 개요 & Registry 개요 (0) 2023.10.11