
X-Ways Forensics向けネイティブYARAスキャナーX-Tension。スナップショット内ファイルスキャン、マルチスレッドRVSサポート、レポートテーブル出力、ディスク書き込みなしを実現。
これは、X-Ways Forensics X-Tensionを使用して、YARAをX-Ways内でネイティブに利用できるようにするものです。これは、X-Ways Forensics APIとYARA APIの両方を使用して実現されています。
注: これはオープンソースプロジェクトであり、正式なCrowdStrike製品ではありません。
X-Ways内でYARAを実行することには、コマンドラインインターフェースを介してYARAを実行するのに比べて多くの利点があります。
X-Ways Forensicsが正しくインストールおよび設定されていることを前提として、リリースページからコンパイル済みDLLをダウンロードし、X-Ways Forensicsインストールフォルダ内のx64フォルダにコピーするだけです。
X-Tensionは、X-Ways Forensics GUIまたはX-Ways Forensicsコマンドラインを介して実行できます。このReadmeでは、GUIメソッドに焦点を当てます。
GUI内では、X-Tensionを実行する方法が2つあります。Refine Volume Snapshot("RVS")メニューを介する方法と、Directory Browser Context("DBC")メニューを介する方法です。どちらの方法を使用するかは、達成したい目的によって異なります。通常、ユーザーが適切な最大ファイルサイズ(例: 25MB)を指定した場合、RVSメニューを介してYARAを実行すると非常に高速になります。何らかの理由でDBCメニューを介して大きな個別ファイルに対してYARAを実行したい場合、X-Tensionはデータをチャンクに分割します(そのサイズはユーザーが指定します)。
YARAルールのいずれかがコンパイルに失敗した場合、X-Waysメッセージウィンドウにエラーが表示され、エラーが発生した行とYARAエラーメッセージが示されます。YARAルール内のこれらのエラーを修正して再試行してください。YARA警告の数がX-Waysメッセージウィンドウに表示され、これらの警告の正確な詳細はX-Waysケースログに記録されます。
X-Tensionは複数のYARAルールファイルの使用をサポートしています(重複ルールがあるとYARAはエラーをスローしてコンパイルに失敗することに注意してください)。あるいは、単一の既にコンパイルされたルールファイル(.yara/.yar)の使用もサポートしています。
注: スキャン対象データが2つのチャンク/バッファ境界にまたがっている場合、有効なYARAヒットが見逃されるリスクがあります。これが問題になる場合は、バッファサイズを増やすか、ファイルをX-WaysからコピーしてYARAコマンドラインインターフェースを使用してスキャンしてください。
| Method -> | RVS | DBC |
|---|---|---|
| マルチスレッド | Yes | No |
| 最大ファイルサイズのプロンプト | Yes | No |
| スキャンバッファサイズのプロンプト | Yes* | Yes |
* ユーザーが入力した最大ファイルサイズが100MBより大きい場合のみ。最大ファイルサイズが100MBより小さい場合、バッファサイズとして100MBを使用します。
GUI内で、ケースを作成するか既存のケースを開いたら、Specialist -> Refine Volume Snapshotに移動します。次に、「Run X-Tensions」オプションをチェックし、表示される三点リーダをクリックします。ポップアップするメニュー内で、プラス(+)記号をクリックし、このリポジトリからダウンロードしたXT_Yara.dllファイルに移動して、OKを押します。
次に、YARAルールファイルを選択するように求められます。入力ウィンドウが表示され、スキャンする最大ファイルサイズを入力するよう求められます(必須)。例えば、マルウェアサンプルやWebシェルのみを探している場合、25〜50MBが適切な最大サイズかもしれません。
ユーザーが100MBを超える最大ファイルサイズを選択した場合、2番目のユーザー入力プロンプトが表示され、YARAスキャナーで使用されるバッファサイズを尋ねられます。2GBまで問題なくテストされていますが、メモリ制約と選択したスレッド数に応じて賢明に選択してください。
GUI内で、ケースを作成するか既存のケースを開いたら、スキャンしたいファイルを選択し、そのうちの1つを右クリックして「Run X-Tensions...」を選択します。次に、YARAルールファイルを指定するように求められます。YARAスキャナーで使用されるバッファサイズを尋ねるユーザー入力プロンプトが表示されます。2GBまで問題なくテストされていますが、メモリ制約と選択したスレッド数に応じて賢明に選択してください。
最大ファイルサイズのプロンプトはありません。
YARAヒットのあるファイルは、「YARA Hits」というレポートテーブルに追加されます。ヒットした正確なルールが、ファイルごと、行ごとに、X-Ways Forensics内の「Comments」フィールドに追加されます。
典型的な出力を以下に示します:
[XT] YARA 4.2.2 library initialised
[XT] There were 9 YARA compile warnings. Check the XWF case log for details
[XT] YARA rules compiled successfully
[XT] Operation Complete. Processing time: 0.000000s
[XT] Summary: Found 240 YARA hits
[XT] YARA library finalised