Overview
Windows EventLogをElasticSearchにimportする
Windows EventLogをElasticSearchにimportする(のを100倍早くする)
Windows EventLogをjson形式に変換する
このへんの記事のMFT版です
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などを使うとマウスでカチカチするだけで取り出せていい感じなのではないかなと思います!
色々方法はあるので, 自動化したいなどの場合はググって見ると良いです,
日本語の記事は少ないですが...
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を使用していることも要因っぽいですね.
あくまで目安ということで!
お わ り