Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vol-rs — Volatility 3 を Rust に移植。同じ出力で、はるかに高速。 | Kitploit
ツール/GitHubGitHub/daffainfo/vol-rs
メモリフォレンジック脆弱性分析フォレンジックマルウェア分析デジタルフォレンジックインシデントレスポンス
GitHubdaffainfo/vol-rs

vol-rs

Volatility 3 を Rust に移植。同じ出力で、はるかに高速。

リポジトリを見る
692173日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

vol-rs

Volatility 3メモリフォレンジックフレームワークのPythonからRustへの移植版です。同じメモリイメージを読み取り、同じオプションで同じプラグインを実行し、同じ出力をバイト単位で、はるかに高速に出力します。

ライセンス

このプロジェクトはVolatility 3の移植版であり、Volatility Software License 1.0に基づく「Addition」として、同じライセンスの下で公開されています。全文はLICENSEおよびhttps://www.volatilityfoundation.org/license/vsl-v1.0 にあります。各ソースファイルには、その由来を記録した通知が保持されています。

このプロジェクトはVolatility Foundationとは提携しておらず、その承認も受けていません。Volatilityという名称は、これが何の移植版であるかを示すためにのみ使用されています。

ビルド

Rust 1.85以降が必要です。その後:

root@kitploit:~
cargo build --release

バイナリはtarget/release/vol-rsに生成されます。オプションの依存関係は不要です。シンボル解凍、RC4、DES、AES、YARAマッチング、x86逆アセンブリ、PNG書き込み、tarアーカイブはすべて組み込まれており、Python版がpycryptodomex、yara-python、capstone、pillowに依存している部分を置き換えています。

使用方法

root@kitploit:~
./target/release/vol-rs -f memory.raw windows.pslist.PsList
./target/release/vol-rs -f memory.lime linux.bash.Bash
./target/release/vol-rs -f memory.raw -r csv windows.netscan.NetScan
./target/release/vol-rs windows.malfind.Malfind --help
./target/release/vol-rs --list-plugins

Python版が受け付けるすべてのオプションは、同じ名前と同じデフォルト値でここでも使用できます。-o、-r、-s、-c、-e、--filters、--hide-columns、--save-config、--stackers、--single-swap-locationsを含みます。各プラグイン固有のオプションも同様に一致しており、ヘルプページに表示されています。全197個がPython版と文字単位で同一です。

シンボル

シンボルパックは$XDG_DATA_HOME/vol-rs/symbols、またはその変数が設定されていない場合は~/.local/share/vol-rs/symbolsに配置します。別の場所にあるパックは--symbol-dirsまたはVOLRS_SYMBOL_PATH環境変数で指定します。WindowsシンボルはMicrosoftシンボルサーバーからオンデマンドで取得され、~/.cache/vol-rsにキャッシュされます。

検証済みの内容

両方のバージョンを同じキャプチャに対して実行し、ヘッダーフレーミングと末尾の改行を含めて差分を比較しました:

チェック結果
引数なしのWindowsプラグイン100個中99個が同一
引数なしのLinuxプラグイン57個中56個が同一
引数を取る実行43個中43個が同一
抽出プラグインが書き込んだファイル

一致しなかった8ファイルは、以下の「既知の相違点」に記載されている2つのケースです。7つはPython版がダンプできないと報告した後にディスクに残す部分ファイルで、この移植版はこれを作成しません。残り1つはtarballで、内容は一致しますが、タイムスタンプが各実行時刻を記録しています。

これらの数から欠けている2つのプラグインは、Python版がテストマシンで完了できないものです。windows.memmap.Memmapは780万行後にOOMキラーによって強制終了され、linux.pscallstack.PsCallStackも終了前に強制終了されます。どちらの場合も、Python版が先に書き込んだすべての行が正確に再現されています。

引数なしで実行されるすべてのプラグインについて、Windowsスイープはここでは273秒(Pythonは5723秒)、Linuxスイープは68秒(Pythonは3130秒)です。

速度

各キャプチャで、引数なしで実行されるすべてのプラグインのうち、差が最も大きい10個:

Windows

Linux

BENCHMARKS.mdに残りが記載されています: 両キャプチャの全プラグイン、引数を取る実行、および数値の測定に使用したマシンについて。

既知の相違点

一致させることができないいくつかの点があり、それぞれ意図的なものです:

  • linux.pagecache.RecoverFsは、書き込むtarball内のすべてのファイルにプラグインの実行時刻をスタンプするため、2回の実行で一致しません。Pythonの実行同士でも一致しません。テーブルは一致し、展開後のツリーも一致します。
  • --save-configとtimeliner --record-configは、イメージを説明するすべての設定を記録しますが、Python版がインポートしたコンポーネントが十分に新しいかどうかをチェックする部分は記録しません。この移植版には記録すべきそのようなチェックがないためです。
  • linux.mountinfo --mount-formatはPythonのsetを結合するため、2回のPython実行間で列の順序が変わります。この移植版は、マウントオプションを最初に、ファイルシステムオプションをその後ろに、カーネルが保持する順序でリストします。
  • frameworkinfoとisfinfoはイメージではなくツールを説明するため、この移植版自身のレイヤー、プラグイン、シンボルファイルを報告します。
  • windows.dumpfilesは、Python版が読み取れないことを発見する前に作成する部分ファイルを残しません。テーブルは一致しますが、ディレクトリはそれらのファイルの分だけ異なります。
  • --helpでキャッシュディレクトリを指定する行は、この移植版自身のキャッシュを指定します。

今後の課題

以下はすべて移植済みでビルドも通りますが、実際の証拠に対してまだ実行されていません:

  • 実際のMacキャプチャに対して23個のmacOSプラグインをテストする。23個すべてをPythonソースと行単位で照合し、それらが触れるすべての型、メンバー、シンボルを、10.10から10.15をカバーする129個の公開Darwinシンボルファイルに対して確認済みです。バージョンのフォールバックが完全であることが確認されています。残っているのは、実行する実際のMacイメージです。
  • 32ビットイメージをテストする。これまでの検証はすべて64ビットキャプチャを使用したため、Intel32およびPAEページングパスはユニットテストのカバレッジのみです。
  • 他のイメージ形式をテストする。VMwareとLiMEキャプチャのみが使用されているため、クラッシュダンプ、AVML、QEMU、ELFコア、Xenレイヤーは実ファイルではまだ検証されていません。
  • より多くのカーネルバージョンをテストする。Windows 10 19045とLinux 6.8のキャプチャ各1つは狭い基盤であり、バージョン固有の構造体を読み取るプラグインは移植版が最も乖離しやすい箇所です。
  • arrowおよびparquetレンダラーを追加する。これらはコマンドラインで受け付けられますが拒否されます。これはPython版がテーブルライブラリを欠いている場合の動作と同じです。

クレジット

Volatility 3はVolatility Foundationとその貢献者による成果です。これは彼らの設計、プラグインセット、出力形式の移植版であり、その成果がオープンであるために存在しています。

ツールをダウンロード
1,747個を比較、両ツールが書き込んだすべてのファイルが一致
プラグインのヘルプページ197個中197個が同一
プラグインRustPython高速化
windows.malware.suspicious_threads.SuspiciousThreads0.47 s281.6 sx599
windows.suspicious_threads.SuspiciousThreads0.50 s259.1 sx518
windows.malware.hollowprocesses.HollowProcesses0.52 s257.9 sx496
windows.suspended_threads.SuspendedThreads0.090 s42.0 sx467
windows.malware.malfind.Malfind0.52 s236.5 sx455
windows.hollowprocesses.HollowProcesses0.59 s263.0 sx446
windows.debugregisters.DebugRegisters0.090 s37.0 sx411
windows.malfind.Malfind0.65 s239.7 sx369
windows.vadinfo.VadInfo0.99 s329.7 sx333
windows.verinfo.VerInfo0.99 s150.7 sx152
プラグインRustPython高速化
linux.library_list.LibraryList1.99 s788.7 sx396
linux.kallsyms.Kallsyms2.41 s161.6 sx67
linux.netfilter.Netfilter0.89 s56.3 sx63
linux.lsof.Lsof0.89 s55.6 sx62
linux.sockstat.Sockstat1.60 s97.2 sx61
linux.check_idt.Check_idt0.82 s49.7 sx61
linux.malware.netfilter.Netfilter1.07 s62.0 sx58
linux.pagecache.Files1.67 s93.4 sx56
linux.kthreads.Kthreads0.87 s47.2 sx54
linux.proc.Maps2.53 s135.4 sx54