Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
avml — フォレンジックおよびインシデントレスポンス向けのポータブルLinux RAM取得ツールで、オプションの圧縮とリモートストリーミングに対応したLiME互換イメージをキャプチャします。 | Kitploit
ツール/GitHubGitHub/microsoft/avml
メモリフォレンジックフォレンジックデジタルフォレンジックインシデントレスポンスデジタルフォレンジック 第10位フォレンジック 第10位インシデントレスポンス 第11位メモリフォレンジック 第3位
GitHub
1.1k96583日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

avml

フォレンジックおよびインシデントレスポンス向けのポータブルLinux RAM取得ツールで、オプションの圧縮とリモートストリーミングに対応したLiME互換イメージをキャプチャします。

リポジトリを見る

AVML (Acquire Volatile Memory for Linux)

概要

Linux 向けのポータブルな揮発性メモリ取得ツール。

AVML は Rust で書かれた X86_64 ユーザーランド向けの揮発性メモリ取得ツールであり、静的バイナリとしてデプロイされることを想定しています。 AVML は、対象の OS ディストリビューションやカーネルを事前に知らなくてもメモリを取得するために使用できます。ターゲット上でのコンパイルやフィンガープリンティングは不要です。

機能

  • 記録したイメージを Azure Blob Store または HTTP PUT 経由で外部ロケーションに保存
  • Azure Blob Storage へのアップロードは、Azure SDK のデフォルトの指数バックオフポリシー(8 回の試行、合計経過時間は最大 1 分)により一時的な障害を再試行します。
  • Snappy を使用したオプションのページレベル圧縮。
  • LiME 出力形式を使用(圧縮を使用しない場合)。

メモリソース

  • /dev/crash
  • /proc/kcore
  • /dev/mem

コマンドラインでメモリソースが指定されていない場合、AVML はメモリソースを順に試して機能するソースを探します。

注: カーネル機能 kernel_lockdown が有効になっている場合、AVML はメモリを取得できません。

テスト済みディストリビューション

Azure VM のテストマトリクスは eng/images.txt で定義されており、現在以下をカバーしています:

  • Ubuntu: 16.04, 18.04, 20.04, 22.04, 24.04, 26.04
  • CentOS: 7.9
  • RHEL: 7.9, 8.5, 8.10, 9.0, 9.8, 10.2
  • Debian: 11, 12, 13
  • Oracle Linux: 8.10, 9.8, 10.2
  • CBL-Mariner: 2.0
  • Azure Linux: 3.0
  • SUSE Linux Enterprise Server: 12 SP5, 15 SP7, 16.0
  • AlmaLinux: 8, 9, 10

サブコマンド

avml はサブコマンドを備えた単一のバイナリです。各サブコマンドは Cargo のフィーチャーで制御されるため、最小構成のビルドには必要な機能だけが含まれます:

サブコマンドフィーチャーデフォルト動作
acquire(常時)はいメモリをローカルファイルにスナップショット(任意でその後アップロード)。
convertconvertはいAVML / LiME / raw 形式間の変換。
uploaduploadはいローカルファイルを HTTP PUT または Azure Block Blob にアップロード。
streamstreamはいスナップショットをローカルファイルを介さず直接宛先にストリーミング。

cargo build --release --no-default-features で取得専用の最小バイナリをビルドできます。

はじめに

圧縮されたメモリイメージの取得

ターゲットホスト上で:

avml acquire --compress output.lime.compressed

非圧縮のメモリイメージの取得

ターゲットホスト上で:

avml acquire output.lime

メモリイメージの取得と Azure Blob Store へのアップロード

az cli の認証情報を持つセキュアなホスト上で、SAS URL を生成します。

EXPIRY=$(date -d '1 day' '+%Y-%m-%dT%H:%MZ')
SAS_URL=$(az storage blob generate-sas --account-name ACCOUNT --container CONTAINER test.lime --full-uri --permissions c --output tsv --expiry ${EXPIRY})

ターゲットホスト上で、生成された SAS トークンを指定して avml を実行します。

avml acquire --sas-url ${SAS_URL} --delete output.lime

ローカルディスクに書き込まずにメモリイメージをストリーミングする

スナップショットをまずローカルファイルに書き込むことが望ましくないホスト (読み取り専用ルート、限られたディスク容量、フォレンジックの証拠保全上の懸念など)では、 stream サブコマンドを使用します。これは最初にメモリソースを一度だけ選択し (acquire の /dev/stdout パスと同じ優先順 — /proc/kcore、次に /dev/crash、次に /dev/mem。--source で上書き可能)、選択した宛先に バイト列を順次書き込みます。ソースはストリーミング中に変更できないため、 自動的なソースフォールバックはありません。

Azure Block Blob Storage へ

avml stream blob ${SAS_URL}
  • ブロックサイズは、スナップショットが Azure のブロブあたり 50,000 ブロックの 制限内に収まるように自動的に導出されます。--sas-block-size (MiB) は 下限として機能し、導出された最小値の方が大きい場合は大きい方の値が優先されます。
  • --sas-block-concurrency は、実行中の stage_block 呼び出しの数を制限します。 ピーク RAM はおよそ (concurrency + 1) * block_size です。
  • アップロード中にスナップショットが失敗した場合、ステージングされたブロックは コミットされずに破棄されます。Azure は標準ポリシーに従ってそれらを自動的に破棄します。

リモート TCP リスナーへ

コレクターホスト上で:

nc -l 9000 > snapshot.lime

ターゲットホスト上で:

avml stream tcp collector.example.com:9000

avml は一度接続し、スナップショットを順次書き込みます。ストリーミング中に 接続が切断された場合、スナップショットは中断されます。再開はできません。 TLS はありません — 機密性と完全性が必要な場合は SSH トンネルまたは stunnel と組み合わせてください。

以前に取得したスナップショットのアップロード

avml upload put  ./output.lime ${URL}              # HTTP PUT
avml upload blob ./output.lime ${SAS_URL}          # Azure Block Blob

VM Extensions を使用した Azure VM のメモリイメージの取得

az cli の認証情報を持つセキュアなホスト上で、以下を実行します:

  1. SAS URL を生成します(上記参照)
  2. 以下の情報を含む config.json を作成します:
{
    "commandToExecute": "./avml acquire --compress --sas-url <GENERATED_SAS_URL> --delete",
    "fileUris": ["https://FULL.URL.TO.AVML.example.com/avml"]
}
  1. 指定した config.json で customScript 拡張機能を実行します
az vm extension set -g RESOURCE_GROUP --vm-name VM_NAME --publisher Microsoft.Azure.Extensions -n customScript --settings config.json

AWS S3 または GCP Cloud Storage へのアップロード

セキュアなホスト上で、S3 署名付き URL を生成するか、GCP 署名付き URL を生成します。

ターゲットホスト上で、生成された署名付き URL を指定して avml を実行します。

avml acquire --url ${URL} --delete output.lime

AVML で圧縮されたイメージの展開

avml convert ./compressed.lime ./uncompressed.lime

非圧縮の LiME イメージの圧縮

avml convert --source-format lime --format lime_compressed ./uncompressed.lime ./compressed.lime

使用方法

A portable volatile memory acquisition tool for Linux

Usage: avml <COMMAND>

Commands:
  acquire  Acquire a memory snapshot to a local file (and optionally upload it)
  convert  Convert between AVML and LiME snapshot formats and a raw memory image
  upload   Upload an already-acquired snapshot file to remote storage
  stream   Stream a memory snapshot directly to remote storage, without writing it to a local file
  help     Print this message or the help of the given subcommand(s)

コマンドごとのオプションについては avml <COMMAND> --help を実行してください。

Ubuntu でのビルド

# Install MUSL
sudo apt-get install musl-dev musl-tools musl

# Install Rust via rustup
curl https://sh.rustup.rs -sSf | sh -s -- -y

# Add the MUSL target for Rust
rustup target add x86_64-unknown-linux-musl

# Build
cargo build --release --target x86_64-unknown-linux-musl

# Build without upload functionality
cargo build --release --target x86_64-unknown-linux-musl --no-default-features

Azure でのテスト

テストスクリプトは、多数のリソースグループ、仮想マシン、およびストレージアカウントを作成、使用、クリーンアップします。

  1. az cli をインストールします
  2. az login を使用して Azure サブスクリプションにログインします
  3. avml をビルドします(上記参照)
  4. ./eng/test-on-azure.sh

コントリビューション

このプロジェクトはコントリビューションと提案を歓迎します。ほとんどのコントリビューションでは、 あなたがコントリビューションを使用する権利を有しており、実際に当社にその権利を付与すること を宣言するコントリビューターライセンス契約(CLA)に同意する必要があります。詳細については、 https://cla.microsoft.com をご覧ください。

プルリクエストを送信すると、CLA-bot が自動的に CLA を提供する必要があるかどうかを判断し、 PR を適切に装飾します(例: ラベル、コメント)。ボットから提供される指示に従うだけで結構です。 これは、当社の CLA を使用するすべてのリポジトリを通じて一度だけ行う必要があります。

このプロジェクトは Microsoft Open Source Code of Conduct を採用しています。 詳細については Code of Conduct FAQ を参照するか、 追加の質問やコメントがある場合は [email protected] までお問い合わせください。

セキュリティ問題の報告

セキュリティ問題やバグは、Microsoft Security Response Center (MSRC) に [email protected] 宛てのメールで 非公開で報告してください。24 時間以内に回答が届くはずです。何らかの理由で届かない場合は、 元のメッセージを受信したことを確認するためにメールでフォローアップしてください。 MSRC PGP キーを含む詳細情報は、 Security TechCenter にあります。

ツールをダウンロード