LoginSignup
0
0

More than 3 years have passed since last update.

Windows Master File Table($MFT) をElasticsearchにimportする

Last updated at Posted at 2020-06-17

Overview

Windows EventLogをElasticSearchにimportする
Windows EventLogをElasticSearchにimportする(のを100倍早くする)
Windows EventLogをjson形式に変換する

このへんの記事のMFT版です :sushi:

DFIRをする際に, たまにMFT(Windowsのファイル管理テーブル)を調査する必要があるので自分用にライブラリ化しました.
内部でRust製ライブラリを使用しているのでなかなかに高速です.

僕のようにフォレンジック以外の用途として, ファイルを高速に検索するサービスを作ってる人もいるようです(凄い!).
Pythonで検索サービスなんかを作る際にはぜひ活用していただけると嬉しいです.

社内ドキュメントを検索できる『検索君』というシステムを、MFT 高速 Index × Elasticsearch にアップグレードしている話

Usage

コンソールから使ったり

$ mft2es /path/to/your/MFT

Pythonスクリプトからインデックスすることもできます

from mft2es import mft2es

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

おまけ機能として, json形式へのエクスポートもサポートしています

$ mft2json /path/to/your/MFT /path/to/output/target.json

詳しいオプションなどはgithubのほうに書いてありますので, そちらを御覧ください.

また, この手の$MFTなどのファイルは通常の方法では取り出せない(もしくは面倒)ので, AccessDataが無償で提供しているFTK Imagerなどを使うとマウスでカチカチするだけで取り出せていい感じなのではないかなと思います! :thumbsup:

色々方法はあるので, 自動化したいなどの場合はググって見ると良いです,
日本語の記事は少ないですが...

Installation

pipでインストールしましょう

$ pip install mft2es

Evaluation

インデックスのサンプルとして,
omerbenamram/mft のsampleとして公開されている10MB程度のMFTファイルを使用しました.

$ mft2es ./MFT
> 00:12
$ mft2json ./MFT ./output.json
> 00:02

jsonへの変換は約2秒とそこそこ速いです.
mft2es の方が極端に遅いのは, macOS版DockerのElasticsearchを使用していることも要因っぽいですね.
あくまで目安ということで!

お わ り

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0