Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
avml — Tragbares Linux-Tool zur RAM-Erfassung für Forensik und Incident Response, das LiME-kompatible Images mit optionaler Komprimierung und Remote-Streaming erfasst. | Kitploit
Tools/GitHubGitHub/microsoft/avml
SpeicherforensikForensikDigitale ForensikIncident ResponseTop in Digitale Forensik Nr.10Top in Forensik Nr.10Top in Incident Response Nr.11Top in Speicherforensik Nr.3
1.1k9658vor 3 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
microsoft/avml

avml

Tragbares Linux-Tool zur RAM-Erfassung für Forensik und Incident Response, das LiME-kompatible Images mit optionaler Komprimierung und Remote-Streaming erfasst.

Repository anzeigen

AVML (Acquire Volatile Memory for Linux)

Zusammenfassung

Ein portables Tool zur Erfassung flüchtiger Speicherinhalte für Linux.

AVML ist ein X86_64-Userspace-Tool zur Erfassung flüchtiger Speicherinhalte, geschrieben in Rust, das als statische Binärdatei bereitgestellt werden soll. AVML kann verwendet werden, um Speicherinhalte zu erfassen, ohne die Ziel-OS-Distribution oder den Kernel im Voraus zu kennen. Es ist keine Kompilierung oder Fingerprinting auf dem Zielsystem erforderlich.

Funktionen

  • Speichern aufgezeichneter Images an externen Speicherorten über Azure Blob Store oder HTTP PUT
  • Azure Blob Storage-Uploads wiederholen bei vorübergehenden Fehlern die Standard-Exponential-Backoff-Richtlinie des Azure SDK (8 Versuche, begrenzt auf insgesamt eine Minute).
  • Optionale Komprimierung auf Seitenebene mittels Snappy.
  • Verwendet das Ausgabeformat von LiME (sofern keine Komprimierung verwendet wird).

Speicherquellen

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

Wenn die Speicherquelle nicht auf der Kommandozeile angegeben wird, iteriert AVML über die Speicherquellen, um eine funktionierende Quelle zu finden.

HINWEIS: Wenn die Kernel-Funktion kernel_lockdown aktiviert ist, kann AVML keinen Speicher erfassen.

Getestete Distributionen

Die Azure-VM-Testmatrix ist in eng/images.txt definiert und umfasst derzeit:

  • 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

Unterbefehle

avml ist eine einzelne Binärdatei mit Unterbefehlen. Jeder Unterbefehl ist durch ein Cargo-Feature abgesichert, sodass ein minimaler Build nur die benötigte Funktionalität enthält:

UnterbefehlFeatureStandardWas er tut
acquire(immer)jaSpeicher in eine lokale Datei sichern (optional anschließend hochladen).
convertconvertjaZwischen AVML- / LiME- / Rohformaten konvertieren.
uploaduploadjaEine lokale Datei per HTTP PUT oder in Azure Block Blob hochladen.
streamstreamjaEinen Snapshot direkt an ein Ziel streamen, ohne lokale Datei.

Erstellen Sie eine minimale Nur-Acquire-Binärdatei mit cargo build --release --no-default-features.

Erste Schritte

Erfassen eines komprimierten Speicherabbilds

Auf dem Zielhost:

avml acquire --compress output.lime.compressed

Erfassen eines unkomprimierten Speicherabbilds

Auf dem Zielhost:

avml acquire output.lime

Erfassen eines Speicherabbilds & Hochladen in den Azure Blob Store

Auf einem sicheren Host mit az cli-Anmeldeinformationen eine SAS-URL generieren.

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})

Auf dem Zielhost avml mit dem generierten SAS-Token ausführen.

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

Streamen eines Speicherabbilds ohne Schreiben auf die lokale Festplatte

Für Hosts, bei denen das vorherige Schreiben des Snapshots in eine lokale Datei unerwünscht ist (schreibgeschütztes Root, begrenzter Speicherplatz, forensische Chain-of-Custody-Bedenken), verwenden Sie den Unterbefehl stream. Er wählt die Speicherquelle einmalig im Voraus aus (gleiche Präferenzreihenfolge wie der /dev/stdout-Pfad von acquire — /proc/kcore, dann /dev/crash, dann /dev/mem; übergeben Sie --source, um dies zu überschreiben) und schreibt Bytes sequenziell an das gewählte Ziel. Die Quelle kann nicht mitten im Stream geändert werden, daher gibt es keinen automatischen Quell-Fallback.

In Azure Block Blob Storage

avml stream blob ${SAS_URL}
  • Die Blockgröße wird automatisch abgeleitet, sodass der Snapshot in das Azure-Limit von 50.000 Blöcken pro Blob passt. --sas-block-size (MiB) fungiert als Untergrenze; wenn das abgeleitete Minimum größer ist, gewinnt der größere Wert.
  • --sas-block-concurrency begrenzt die Anzahl gleichzeitig laufender stage_block- Aufrufe. Der Spitzen-RAM-Verbrauch beträgt ungefähr (concurrency + 1) * block_size.
  • Wenn der Snapshot mitten im Upload fehlschlägt, werden bereitgestellte Blöcke verworfen, ohne festgeschrieben zu werden; Azure verwirft sie gemäß seiner Standardrichtlinie automatisch.

An einen entfernten TCP-Listener

Auf dem Collector-Host:

nc -l 9000 > snapshot.lime

Auf dem Zielhost:

avml stream tcp collector.example.com:9000

avml verbindet sich einmal und schreibt den Snapshot sequenziell. Wenn die Verbindung mitten im Stream abbricht, wird der Snapshot abgebrochen; es gibt keine Wiederaufnahme. Kein TLS — kombinieren Sie es bei Bedarf mit einem SSH-Tunnel oder stunnel für Vertraulichkeit und Integrität.

Hochladen eines zuvor erfassten Snapshots

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

Erfassen eines Speicherabbilds einer Azure-VM mithilfe von VM-Erweiterungen

Führen Sie auf einem sicheren Host mit az cli-Anmeldeinformationen Folgendes aus:

  1. Generieren Sie eine SAS-URL (siehe oben)
  2. Erstellen Sie config.json mit den folgenden Informationen:
{
    "commandToExecute": "./avml acquire --compress --sas-url <GENERATED_SAS_URL> --delete",
    "fileUris": ["https://FULL.URL.TO.AVML.example.com/avml"]
}
  1. Führen Sie die customScript-Erweiterung mit der angegebenen config.json aus
az vm extension set -g RESOURCE_GROUP --vm-name VM_NAME --publisher Microsoft.Azure.Extensions -n customScript --settings config.json

Zum Hochladen in AWS S3 oder GCP Cloud Storage

Generieren Sie auf einem sicheren Host eine S3-vorsignierte URL oder eine GCP-vorsignierte URL.

Führen Sie auf dem Zielhost avml mit der generierten vorsignierten URL aus.

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

Zum Dekomprimieren eines AVML-komprimierten Images

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

Zum Komprimieren eines unkomprimierten LiME-Images

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

Verwendung

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)

Führen Sie avml <COMMAND> --help aus, um die Optionen pro Befehl anzuzeigen.

Erstellen unter 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
Tool herunterladen