Everything은 실시간으로 파일 및 폴더의 변경 사항을 반영하고 Windows 탐색기 보다 검색 속도가 빠르다.
Everything의 최초 색인은 $MFT와 같은 파일 시스템 메타데이터로 부터 생성하고, 이후 저널의 변화를 지속적으로 감시하여, 파일이나 폴더의 변경사항을 Everything.db 파일에 반영한다.
어떤 대상을 색인하는가에 따라서 색인 정보를 저장하는 파일인 Everything.db 파일의 구조가 다르다. 색인 대상은 총 5가지로 NTFS, ReFS, 폴더, 파일 목록, 제외이다.
Everything의 아티팩트로는 총 4개가 생성되는데 Everything 색인 파일인 Everything.db, Everything 설정 파일인 Everything.ini, 자주 검색하는 검색 기록을 저장하는 Search History.csv 그리고 Everything을 통해 파일 및 폴더에 접근 했을 때 접근 횟수와 같은 정보를 기록한 Run History.csv가 있다.
이번에 분석에 사용할 데이터는 Z드라이브(+폴더+efu파일) 이고 아래와 같다.
Everything 프로그램은 검색 유틸리티로서 전세계에서 가장 많이 사용하는 프로그램이다. 즉, 대부분의 사용자가 많이 사용하고 있으며, Everything이 생성하는 아티팩트를 디지털 포렌식 분석에 활용하는 아티팩트와 같이 활용 한다면 많은 도움이 될 것이다. 기존의 디지털 포렌식 분석에 활용하는 아티팩트(Prefetch, lnk, etc) 들은 공격자에게 많이 알려져 있는 아티팩트 이기 때문에 안티 포렌식을 활용하여 아티팩트를 삭제하게 되면 분석을 하기 어렵기 때문에 **많이 사용하지만, 많이 알려지지 않은 아티팩트를 분석(해당 글에서는 Everything Artifact)**해서 활용하면 도움이 된다.
Everything의 핵심 아티팩트인 Everything.db 파일의 구조는 총 2가지로 나누어져 있다.
1번 구조는 너무 옛날 구조이고 개발자가 직접 구조의 일부를 공개 했다. 그렇기 때문에 2번 구조를 분석해야 하는데, 2020년에 분석을 해서 논문으로 존재한다. 그래서 논문 분석(논문 리뷰)만 하려고 했으나 논문에서 다루는 버전은 1.4.1.988 버전의 구조이다.
이번에 분석해볼 버전은 1.4.1.1015 버전이며, 논문에서 분석한 구조와 다른 부분을 찾아볼 수 있었다. 논문의 향후 연구에서 버전에 따라서 Everything.db 구조가 달라질수 있다고 되어 있다.
<aside> 💡 운영체제 버전 : Microsoft Window 10 버전 1809(OS 빌드 17763.379) Everything Version : Everything 1.4.1.1015 [64 bit]
</aside>
앞에서 이야기 한대로 Everything 아티팩트에는 총 4가지의 파일이 있는데, 하나씩 어떠한 정보를 가지고 있으며 어떤 구조를 가지고 있는지 확인해 보자.