SanctumはRustで構築されたEDRであり、アンチウイルス(AV)とEndpoint Detection and Response(EDR)の両方の役割を果たすよう設計されています。
構成
| クレート | 説明 |
|---|---|
| driver | カーネル監視に必要なSanctumドライバのコードを含みます |
| um_engine | ドライバ、実行中プロセス、GUIと通信するSanctumアプリケーションのユーザーモードエンジン |
| injected_dll | EDRフックのために全プロセスへ注入されるDLL(注:これは現在段階的に廃止されており、私がWindows 11向けAlt Syscallsを調査した後、カーネル側フックに置き換えられました)。これはレガシー/ブログ記事の都合でプロジェクトに残しておきます。関数のフックやそれについてブログで書くことに多くの時間を費やしたので、残しておくのが良いでしょう |
| gui | Tauriを用いてレンダリングするSanctum EDRのGUI |
| shared_* | stdおよびno_std環境の両方に対応した、プロジェクト用の共有クレート |
| server | Todo:エンドポイントからのシグナルを受信するテレメトリサーバーになる予定 |
非推奨モジュール
以下のモジュール(クレート)はプロジェクトで使用され、私のブログでも文書化しましたが、現在は不要です。セットアップガイドでこれらに言及している場合は、その部分はすぐに無視して構いません。
| クレート | 説明 |
|---|---|
| etw_installer | ELAM PPLサービスを作成するためのインストーラープログラム(sanctum_ppl_runnerをインストール) |
| sanctum_ppl_runner | Windows Threat IntelligenceプロバイダーのEvents Tracing for Windowsを監視する、ELAM署名済みのProtected Process Light |
| etw_consumer | 非推奨;sanctum_ppl_runnerが、これが解決する意図だった必要機能をすべて実装しています。学習目的で残しており、私のブログ記事からリンクしています |
機能
機能の概要:
- カーネル側でシステムコールをインターセプトするためのAlt Syscalls
- Events Tracing for Windows:Threat Intelligenceテレメトリのサブスクリプション
- ゴーストハンティングを用いて悪意ある活動の兆候を検出
- NTDLLの改ざんを検出(一般的なマルウェアのTTPを阻止)
- カーネル内のルートキットによる改ざんを検出
- EDRのDLLインジェクション(現在はAlt Syscallsを優先して非推奨)
使用
ソース: meterpreter.org