Windows Master File Table($MFT)을 Elasticsearch로 가져오기

Overview



Windows EventLog를 ElasticSearch로 가져오기
Windows EventLog를 ElasticSearch로 가져 오기 (100 배 빨리)
Windows EventLog를 json 형식으로 변환

이 기사의 MFT 버전입니다

DFIR을 할 때 가끔 MFT (Windows의 파일 관리 테이블)를 조사해야하므로 자신을 위해 라이브러리를 만들었습니다.
내부에서 Rust 라이브러리를 사용하기 때문에 매우 빠릅니다.

나처럼 법의학 이외의 용도로 파일을 빠르게 검색하는 서비스를 만드는 사람도있는 것 같습니다 (굉장합니다!).
파이썬으로 검색 서비스를 만들 때 꼭 활용할 수 있다면 기쁩니다.

사내 문서를 검색할 수 있는 '검색군'이라는 시스템을 MFT 고속 Index × Elasticsearch로 업그레이드하고 있는 이야기

Usage



콘솔에서 사용
$ mft2es /path/to/your/MFT

파이썬 스크립트에서 인덱싱 할 수도 있습니다.
from mft2es import mft2es

if __name__ == '__main__':
  filepath = '/path/to/your/MFT'
  mft2es(filepath)

덤 기능으로서, json 형식에의 export도 서포트하고 있습니다
$ mft2json /path/to/your/MFT /path/to/output/target.json

자세한 옵션 등은 github 쪽에 쓰여 있으므로, 그쪽을 봐 주세요.

또, 이 손의 $MFT등의 파일은 통상의 방법으로는 꺼낼 수 없기(혹은 번거롭다)이므로, AccessData가 무료로 제공하고 있는 FTK Imager등을 사용하면 마우스로 진드는 것만으로 꺼낼 수 있어 좋은 느낌이 아니다 가나라고 생각합니다!

다양한 방법이 있으므로, 자동화하고 싶은 등의 경우는 구그라고 보면 좋다,
일본어 기사는 적지만...

Installation



pip로 설치합시다.
$ pip install mft2es

평가



인덱스의 샘플로서,
omerbenamram/mft의 샘플로 공개 된 약 10MB의 MFT 파일을 사용했습니다.
$ mft2es ./MFT
> 00:12
$ mft2json ./MFT ./output.json
> 00:02

json으로의 변환은 약 2 초로 빠릅니다.mft2es 극히 느린 것은 macOS 버전 Docker의 Elasticsearch를 사용하는 것도 요인 같네요.
어디까지나 기준이라고 하는 것으로!

결론

좋은 웹페이지 즐겨찾기