
Extrae automágicamente la línea de tiempo forense de un volcado de memoria volátil
Extrae automágicamente una línea de tiempo forense de volcados de memoria volátil.
AutoTimeliner ejecuta múltiples plugins de Volatility3 contra imágenes de memoria de Windows, Linux y macOS, y luego fusiona sus salidas en una única línea de tiempo CSV ordenada:
| Plugin | Lo que captura |
|---|---|
timeliner | Eventos de marca de tiempo entre plugins (todas las familias de SO cuando son compatibles) |
| Plugin | Lo que captura |
|---|---|
timeliner | Marcas de tiempo de procesos, registro, manejadores, etc. |
mftscan | Entradas de archivos MFT encontradas en memoria |
shellbags | Historial de acceso a carpetas de usuario desde las colmenas del registro |
| Plugin | Lo que captura |
|---|---|
linux.pslist | Contexto de la línea de tiempo de inicio/fin de procesos |
linux.bash | Evidencia de historial de comandos del shell |
linux.lsof | Evidencia de archivos abiertos desde procesos |
| Plugin | Lo que captura |
|---|---|
mac.pslist | Contexto de la línea de tiempo de inicio/fin de procesos |
mac.bash | Evidencia de historial de comandos del shell |
mac.lsof | Evidencia de archivos abiertos desde procesos |
| Plugin | Lo que captura |
|---|---|
psscan | Procesos activos, terminados y ocultos con marcas de tiempo |
cmdline | Argumentos de línea de comandos para cada proceso |
userassist | Evidencia de ejecución de programas desde el registro de Windows |
| Plugin | Lo que captura |
|---|---|
netscan | Conexiones de red con marcas de tiempo de creación |
| Plugin | Lo que captura |
|---|---|
malfind | Inyección de código y regiones de memoria sospechosas |
svcscan | Servicios de Windows (útil para la detección de persistencia) |
| Plugin | Lo que captura |
|---|---|
dlllist | DLLs cargadas por cada proceso |
filescan |
AutoTimeliner identifica automáticamente la familia de la imagen de memoria y habilita el conjunto de plugins adecuado para Windows, Linux o macOS. Para un inicio más rápido, puede pasar
--os-hintpara omitir la detección automática.
git clone https://github.com/andreafortuna/autotimeliner.git
cd autotimeliner
poetry install
pip install .
autotimeliner -f ARCHIVO_IMAGEN [-t RANGO_TIEMPO] [-o SALIDA] [opciones]
Extraer una línea de tiempo completa de una sola imagen:
autotimeliner -f TargetServer.raw
Filtrar a una ventana de tiempo específica:
autotimeliner -f TargetServer.raw -t 2023-10-17..2023-10-21
Procesar todos los archivos .raw en un directorio, especificando la ruta de salida:
autotimeliner -f './*.raw' -o /evidence/timeline.csv
Acelerar el inicio cuando ya se conoce el SO del volcado:
autotimeliner -f TargetServer.raw --os-hint windows
Usar valores alias de macOS por conveniencia:
autotimeliner -f MacbookCapture.mem --os-hint darwin
Ejecutar solo timeliner y shellbags (omitir escaneo MFT):
autotimeliner -f TargetServer.raw --skip-mftscan
Escaneo forense completo (conjunto de plugins de Windows + plugins extendidos opcionales):
autotimeliner -f TargetServer.raw --with-dlllist --with-filescan --with-handles --with-envars
Escaneo rápido enfocado en malware:
autotimeliner -f TargetServer.raw --skip-timeliner --skip-mftscan --skip-shellbags
Recolección de línea de tiempo enfocada en Linux (habilita automáticamente los plugins de Linux):
autotimeliner -f UbuntuWorkstation.mem
Recolección de línea de tiempo enfocada en macOS (habilita automáticamente los plugins de macOS):
autotimeliner -f MacbookCapture.mem
El CSV de salida tiene las siguientes columnas:
AutoTimeliner incluye varias optimizaciones para reducir el tiempo de identificación:
--os-hint omite por completo la prueba automática del SO.linux, ubuntu, macos).ruta + tamaño + mtime).Archivo de caché:
~/.cache/autotimeliner/volatility3/.autotimeliner_profile_cache.json
Durante la detección, los registros incluyen mensajes de progreso y resultado de las pruebas, como:
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
Consulte docs/migration.md para una comparación completa.
Cambios clave:
-p / --customprofile está obsoleto — se ignora silenciosamente.mftparser → mftscan — mismos datos, nuevo nombre de plugin.mactime ahora es opcional — use --use-mactime para el flujo de trabajo antiguo de archivos body.poetry install
poetry run pytest
MIT — consulte LICENSE.
Andrea Fortuna — [email protected] — andreafortuna.org
| Archivos abiertos en memoria en el momento de la adquisición |
handles | Manejadores abiertos (archivos, claves de registro, mutex) |
envars | Variables de entorno para procesos |
| Dependencia | Versión | Notas |
|---|
| Python | ≥ 3.9 | |
| Volatility3 | ≥ 2.5 | se instala automáticamente vía Poetry/pip |
| jsonschema | ≥ 4.0 | habilita la validación de esquemas de Volatility3 y evita la advertencia Dependency for validation unavailable: jsonschema |
| mactime | cualquiera | opcional — solo necesario para el modo heredado --use-mactime |
| Bandera | Descripción |
|---|
-f, --imagefile | Archivo de volcado de memoria o glob (ej. '*.raw') |
-t, --timeframe | Filtrar al rango YYYY-MM-DD..YYYY-MM-DD |
-o, --output | Ruta de salida CSV (por defecto: <archivo_imagen>-timeline.csv) |
--os-hint | Forzar la familia de SO de la imagen (windows, linux, mac; alias: win, macos, darwin) y omitir la autoidentificación |
--skip-timeliner | Omitir el plugin timeliner |
--skip-mftscan | Omitir el plugin mftscan |
--skip-shellbags | Omitir el plugin shellbags |
--skip-psscan | Omitir el escaneo de procesos |
--skip-cmdline | Omitir la extracción de línea de comandos |
--skip-netscan | Omitir el escaneo de conexiones de red |
--skip-userassist | Omitir la evidencia de ejecución de programas |
--skip-svcscan | Omitir el escaneo de servicios de Windows |
--skip-malfind | Omitir la detección de malware/inyección |
--with-dlllist | Habilitar análisis de DLL (lento) |
--with-filescan | Habilitar escaneo de archivos abiertos (muchos registros) |
--with-handles | Habilitar escaneo de manejadores (muchos registros) |
--with-envars | Habilitar extracción de variables de entorno |
--use-mactime | Modo heredado: usar el binario externo mactime |
-v, --verbose | Habilitar registro de depuración |
--version | Mostrar versión y salir |
| Columna | Descripción |
|---|
Timestamp (UTC) | Marca de tiempo UTC ISO 8601 |
Source | Plugin que produjo el registro |
Description | Nombre de archivo, ruta, proceso o clave de registro |
Detail | Tipo de marca de tiempo, usuario o contexto adicional |
Inode | Número de inodo MFT (si corresponde) |
UID / GID | Identificadores de usuario/grupo |
Size | Tamaño del archivo en bytes |
Mode | Cadena del modo de archivo |