
Extrahiere automatisch-magisch eine forensische Zeitleiste aus einem flüchtigen Speicherabbild.
Forensische Zeitlinien automatisch aus Arbeitsspeicherabbildern extrahieren.
AutoTimeliner führt mehrere Volatility3-Plugins gegen Windows-, Linux- und macOS-Arbeitsspeicherabbilder aus und führt deren Ausgabe dann in einer einzigen, sortierten CSV-Zeitleiste zusammen:
| Plugin | Erfasste Daten |
|---|---|
timeliner | Timestamp-Ereignisse über mehrere Plugins hinweg (alle Betriebssystemfamilien, wenn unterstützt) |
| Plugin | Erfasste Daten |
|---|---|
timeliner | Zeitstempel von Prozessen, Registrierung, Handles usw. |
mftscan | MFT-Dateieinträge, die im Speicher gefunden wurden |
shellbags | Benutzer-Ordnerzugriffsverlauf aus Registry-Hives |
| Plugin | Erfasste Daten |
|---|---|
linux.pslist | Prozess-Start/Exit-Zeitleistenkontext |
linux.bash | Shell-Befehlsverlauf-Beweise |
linux.lsof | Offene Datei-Beweise von Prozessen |
| Plugin | Erfasste Daten |
|---|---|
mac.pslist | Prozess-Start/Exit-Zeitleistenkontext |
mac.bash | Shell-Befehlsverlauf-Beweise |
mac.lsof | Offene Datei-Beweise von Prozessen |
| Plugin | Erfasste Daten |
|---|---|
psscan | Aktive, beendete und versteckte Prozesse mit Zeitstempeln |
cmdline | Befehlszeilenargumente für jeden Prozess |
userassist | Programmausführungs-Beweise aus der Windows-Registry |
| Plugin | Erfasste Daten |
|---|---|
netscan | Netzwerkverbindungen mit Erstellungszeitstempeln |
| Plugin | Erfasste Daten |
|---|---|
malfind | Code-Injection und verdächtige Speicherbereiche |
svcscan | Windows-Dienste (nützlich für Persistenz-Erkennung) |
| Plugin | Erfasste Daten |
|---|---|
dlllist | Von jedem Prozess geladene DLLs |
filescan |
AutoTimeliner erkennt automatisch die Betriebssystemfamilie des Speicherabbilds und aktiviert das entsprechende Plugin-Set für Windows, Linux oder macOS. Für einen schnelleren Start können Sie
--os-hintübergeben, um die automatische Erkennung zu überspringen.
git clone https://github.com/andreafortuna/autotimeliner.git
cd autotimeliner
poetry install
pip install .
autotimeliner -f IMAGEDATEI [-t ZEITRAUM] [-o AUSGABE] [Optionen]
Vollständige Zeitlinie aus einem einzelnen Abbild extrahieren:
autotimeliner -f TargetServer.raw
Auf ein bestimmtes Zeitfenster filtern:
autotimeliner -f TargetServer.raw -t 2023-10-17..2023-10-21
Alle .raw-Dateien in einem Verzeichnis verarbeiten, Ausgabepfad angeben:
autotimeliner -f './*.raw' -o /evidence/timeline.csv
Start beschleunigen, wenn das Betriebssystem des Dumps bereits bekannt ist:
autotimeliner -f TargetServer.raw --os-hint windows
macOS-Alias-Werte der Einfachheit halber verwenden:
autotimeliner -f MacbookCapture.mem --os-hint darwin
Nur timeliner und shellbags ausführen (MFT-Scan überspringen):
autotimeliner -f TargetServer.raw --skip-mftscan
Vollständiger forensischer Scan (Windows-Plugin-Set + optionale erweiterte Plugins):
autotimeliner -f TargetServer.raw --with-dlllist --with-filescan --with-handles --with-envars
Schneller malware-fokussierter Scan:
autotimeliner -f TargetServer.raw --skip-timeliner --skip-mftscan --skip-shellbags
Linux-fokussierte Zeitlinien-Erfassung (aktiviert automatisch Linux-Plugins):
autotimeliner -f UbuntuWorkstation.mem
macOS-fokussierte Zeitlinien-Erfassung (aktiviert automatisch macOS-Plugins):
autotimeliner -f MacbookCapture.mem
Die ausgegebene CSV hat die folgenden Spalten:
AutoTimeliner enthält mehrere Optimierungen zur Reduzierung der Identifikationszeit:
--os-hint umgeht die automatische Betriebssystemerkennung vollständig.linux, ubuntu, macos).Pfad + Größe + Änderungszeitpunkt) zwischengespeichert.Cache-Datei:
~/.cache/autotimeliner/volatility3/.autotimeliner_profile_cache.json
Während der Erkennung enthalten die Logs Prüffortschritts- und Ergebnismeldungen wie:
OS probe attempt: family=windows plugin=windows.info.Info
OS probe returned no rows: windows.info.Info
Memory image identification succeeded: os=linux profile=linux:... probe=linux.banners.Banners
Siehe docs/migration.md für einen vollständigen Vergleich.
Wesentliche Änderungen:
-p / --customprofile ist veraltet — wird stillschweigend ignoriert.mftparser → mftscan — gleiche Daten, neuer Plugin-Name.mactime ist jetzt optional — verwenden Sie --use-mactime für den alten Body-Datei-Workflow.poetry install
poetry run pytest
MIT — siehe LICENSE.
Andrea Fortuna — [email protected] — andreafortuna.org
| Zum Zeitpunkt der Erfassung im Speicher geöffnete Dateien |
handles | Offene Handles (Dateien, Registrierungsschlüssel, Mutexe) |
envars | Umgebungsvariablen für Prozesse |
| Abhängigkeit | Version | Anmerkungen |
|---|
| Python | ≥ 3.9 | |
| Volatility3 | ≥ 2.5 | wird automatisch über Poetry/pip installiert |
| jsonschema | ≥ 4.0 | ermöglicht Volatility3-Schemavalidierung und vermeidet die Warnung Dependency for validation unavailable: jsonschema |
| mactime | beliebig | optional – nur für den Legacy-Modus --use-mactime erforderlich |
| Flag | Beschreibung |
|---|
-f, --imagefile | Speicherabbild-Datei oder Glob (z.B. '*.raw') |
-t, --timeframe | Filter auf Bereich YYYY-MM-DD..YYYY-MM-DD |
-o, --output | Ausgabepfad für CSV (Standard: <bilddatei>-timeline.csv) |
--os-hint | Betriebssystemfamilie erzwingen (windows, linux, mac; Aliase: win, macos, darwin) und automatische Erkennung überspringen |
--skip-timeliner | Das timeliner-Plugin überspringen |
--skip-mftscan | Das mftscan-Plugin überspringen |
--skip-shellbags | Das shellbags-Plugin überspringen |
--skip-psscan | Prozess-Scan überspringen |
--skip-cmdline | Befehlszeilenextraktion überspringen |
--skip-netscan | Netzwerkverbindungs-Scan überspringen |
--skip-userassist | Programmausführungs-Beweise überspringen |
--skip-svcscan | Windows-Dienste-Scan überspringen |
--skip-malfind | Malware/Injection-Erkennung überspringen |
--with-dlllist | DLL-Analyse aktivieren (langsam) |
--with-filescan | Scan offener Dateien aktivieren (viele Datensätze) |
--with-handles | Handle-Scan aktivieren (viele Datensätze) |
--with-envars | Extraktion von Umgebungsvariablen aktivieren |
--use-mactime | Legacy-Modus: externes mactime-Binary verwenden |
-v, --verbose | Debug-Logging aktivieren |
--version | Version ausgeben und beenden |
| Spalte | Beschreibung |
|---|
Timestamp (UTC) | ISO 8601 UTC-Zeitstempel |
Source | Plugin, das den Datensatz erzeugt hat |
Description | Dateiname, Pfad, Prozess oder Registrierungsschlüssel |
Detail | Zeitstempel-Typ, Benutzer oder zusätzlicher Kontext |
Inode | MFT-Inode-Nummer (sofern zutreffend) |
UID / GID | Benutzer-/Gruppenkennungen |
Size | Dateigröße in Bytes |
Mode | Dateimodus-String |