Volcado de Memoria RAM
Captura el contenido completo de la RAM antes de tocar el disco, priorizando la volatilidad de la evidencia. Ofrece dos herramientas intercambiables según arquitectura y preferencia del operador; ambas producen un volcado .raw.
> DumpIt.exe /Q /O <destino>\memdump.raw /TYPE RAW
/Q modo silencioso, /TYPE RAW fuerza formato crudo en vez del .dmp con cabecera propietaria. El .json de metadatos que genera la herramienta se elimina tras la copia.> winpmem_mini_x64_rc2.exe <destino>\memdump.raw
\Device\PhysicalMemory. Se verifica que el archivo resultante no quede en 0 bytes (falla silenciosa conocida en sistemas sin permisos suficientes).> winpmem_mini_x86.exe <destino>\memdump.raw
Triage · KAPE
Recolección rápida de artefactos dirigidos (registros, eventos, prefetch, LNK) sin necesidad de una imagen forense completa. El operador elige un target predefinido (KapeTriage, SANS_Triage) o cualquiera de los targets individuales de la librería.
> kape.exe --tsource <unidad> --target <target> --tdest <destino> --vhdx|--zip <nombre> --quiet
--vhdx y el resultado supera cierto tamaño, KAPE lo comprime automáticamente a .zip, el script busca ambas extensiones antes de hashear.Adquisición de Discos
Imaging a nivel de bloque de un disco físico completo (\\.\PHYSICALDRIVE) o una partición lógica (\\.\E:). El menú de herramientas se adapta: dc3dd y FTK Imager solo se ofrecen para dispositivos físicos, ya que ninguno soporta volúmenes lógicos.
> dc3dd if=/dev/sdX of=<imagen>.dd hash=sha256 log=<imagen>.log
/dev/sdX). Calcula el SHA-256 del stream de origen mientras copia; el script recalcula el hash de la imagen resultante con certutil y compara ambos para confirmar copia byte-fiel.> dd if=<origen> of=<imagen>.dd bs=512k --progress
HASH_EVIDENCE.> ewfacquire -u -c none [-S 80000G] [-f encase7|smart] -t <destino> <origen>
-S 80000G) y formato (EnCase v6 .E01, EnCase v7 .Ex01 o SMART .S01). Incluye metadatos de caso embebidos en el contenedor.> ftkimager <origen> <destino> --e01|--s01 --case-number <caso> --evidence-number <evid> --examiner <nombre> --frag 2000M --compress 6
> certutil -hashfile <imagen>.dd SHA256
.log de dc3dd) contra el hash recalculado de la imagen; el resultado se documenta en <imagen>_VERIFICACION.txt.Adquisición Lógica · Archivos y Carpetas
Copia dirigida de archivos o carpetas específicas mediante un navegador interactivo del sistema de archivos, preservando metadatos NTFS completos (timestamps, ACLs, propietario).
> robocopy <origen> <destino> /E /COPYALL /NP /TEE /LOG:<log>
/COPYALL copia datos, atributos, timestamps, ACLs y propietario, el estándar para preservación forense. /TEE refleja el progreso en consola y en el log simultáneamente. Códigos 0-7 de robocopy son variantes de éxito; solo ≥8 se trata como fallo real.Máquinas Virtuales · VMware
Consolidación de discos .vmdk segmentados en un único archivo, y extracción de memoria (.vmem/.vmss/.vmsn) tras suspender la VM para evitar memory smearing.
> vmware-vdiskmanager -r <origen>.vmdk -t 0 <destino>.vmdk
-t 0 genera un disco monolítico sin dispersión (no segmentado), fusionando la cadena de descriptor + extents en un solo archivo apto para análisis.> vmrun suspend <maquina>.vmx
.vmem, evitando que la memoria cambie durante la copia.> robocopy <carpeta_vm> <destino> *.vmem *.vmss *.vmsn /J
/J usa I/O sin buffer, más eficiente para archivos del tamaño de la RAM asignada.> vmrun start <maquina>.vmx
Máquinas Virtuales · VirtualBox
Clonado de disco virtual con conversión de formato opcional, y volcado de memoria en caliente vía core dump del hipervisor. VBoxManage se resuelve en cascada: instalación embebida → Program Files\Oracle\VirtualBox → PATH del sistema.
> VBoxManage list vms > VBoxManage list runningvms > VBoxManage showvminfo <uuid> --machinereadable
ImageUUID o, si falla, por extensión de archivo (.vdi / .vmdk / .vhd).> VBoxManage clonemedium disk <uuid|ruta> <destino> --format VDI|VMDK|VHD|RAW
> VBoxManage debugvm <uuid> dumpvmcore --filename <destino>.elf
FORMAT_NOTE.txt junto a la evidencia, con la sintaxis de análisis en Volatility (vboxelf) y la ruta de conversión a RAW con objcopy.Máquinas Virtuales · Hyper-V
Adquisición de discos virtuales (.vhdx/.vhd/.avhdx) incluyendo la cadena completa de checkpoints, con consolidación opcional de snapshots diferenciales sobre una copia de trabajo, nunca sobre la evidencia original.
> Get-VM > Get-VMHardDiskDrive -VMName <vm> > Get-VMSnapshot -VMName <vm>
> copy /B /Y <disco>.vhdx <destino>\Disks\
/B modo binario (sin traducción EOF de texto), /Y sobrescribe sin confirmar. Se copian tanto el disco activo como todos los .avhdx de la cadena de checkpoints.> Get-VHD -Path <disco> > Set-VHD -Path <hijo> -ParentPath <padre> -IgnoreIdMismatch > Merge-VHD -Path <activo> -Force
Consolidation\Working): re-enlaza las rutas ParentPath hacia esa copia y fusiona la cadena diferencial, dejando los discos originales adquiridos intactos.Conversión de Disco Virtual · QEMU
Convierte cualquier disco virtual adquirido (.vmdk, .vhd, .vhdx, .vdi) a formato RAW plano, el estándar universal aceptado por Autopsy, Volatility, The Sleuth Kit, FTK y X-Ways.
> certutil -hashfile <origen> SHA256
> qemu-img convert -p -f <formato_origen> -O raw <origen> <destino>.raw
vmdk, vpc (.vhd), vhdx (incluye .avhdx) o vdi. -p muestra barra de progreso en tiempo real.> qemu-img info <archivo>
conversion_report.txt junto con los hashes de origen y destino.Docker
Cuatro vías de adquisición sobre un contenedor: exportación completa del filesystem, copia de volúmenes montados, y extracción lógica dirigida mediante un navegador interactivo que lista el árbol de archivos sin ejecutar código arbitrario dentro del contenedor.
> docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"{{.ID}}|{{.Names}} para poblar el selector de contenedores.> docker export <contenedor> -o <destino>.tar
> docker inspect <contenedor> | ConvertFrom-Json
Mounts[].Source/Destination/Type de forma segura, evitando el parseo frágil de texto plano.> robocopy <origen_volumen> <destino> /E /COPY:DAT /R:1 /W:1
> docker exec <contenedor> sh -c "ls -1pL <ruta>"
-1pL: una entrada por línea, sufijo / en directorios, y sigue symlinks, así /bin → /usr/bin se clasifica correctamente como carpeta en vez de archivo. Solo lectura: no altera el estado del contenedor.> docker cp <contenedor>:<ruta> <destino>
> 7zr.exe a -t7z <destino>.7z <artefacto>
.7z (formato soportado por la build reducida de 7-Zip incluida); el original sin comprimir se elimina tras el empaquetado exitoso.Dispositivos Android · ADB
Gestión de conexión (USB o red) y adquisición lógica de un dispositivo Android mediante el mismo patrón de navegador interactivo usado en Docker, adaptado al shell de Android.
> adb devices -ldevice (autorizado) de unauthorized (pendiente de confirmación en pantalla del móvil).> adb connect <ip>:<puerto>
> adb disconnect > adb kill-server
disconnect cierra solo las sesiones de red; kill-server detiene el demonio ADB por completo, liberando también las conexiones USB.> adb -s <serial> shell ls -1p <ruta> > adb -s <serial> shell test -d <ruta>
/sdcard/. Sin acceso root, la visibilidad queda limitada a rutas de almacenamiento externo legibles por el usuario shell.> adb -s <serial> pull -a <ruta_origen> <destino>
-a preserva timestamps del archivo original durante la copia. El resultado se empaqueta en .7z con el mismo flujo que la adquisición lógica de Docker.Write Blocker
Mitigación por software contra escritura accidental sobre un disco de evidencia, marcándolo como solo lectura a nivel de sistema operativo. No sustituye un write blocker físico y así se documenta explícitamente en cada operación.
> Get-Disk > Set-Disk -Number <n> -IsReadOnly $true|$false
Storage de PowerShell (Windows 8+); en Windows 7 el script lo detecta y ofrece la alternativa manual con diskpart > attributes disk set readonly.Verificación de Integridad
HASH_EVIDENCETras cada adquisición el operador decide si calcular hash y con qué algoritmo, nunca es automático ni obligatorio, evitando bloquear el flujo en evidencias muy grandes.
HashMyFiles (NirSoft)
Motor primario. Interfaz gráfica silenciosa que exporta un reporte de texto.
/enable_hash 1|2|8, MD5 / SHA1 / SHA256/fileo/folder ... /subfolders 1/stext <reporte>, salida a texto plano
certutil (fallback)
Si HashMyFiles no está presente, se usa el hasher nativo de Windows, sin dependencias externas.
certutil -hashfile <archivo> MD5|SHA1|SHA256- Para carpetas: itera con
for /rsobre cada archivo
Núcleo Anti-Interrupción
forensic_wrapper.ps1, envuelve toda operación marcada CANCELABLECada comando de adquisición se ejecuta en un proceso aislado (CREATE_NEW_PROCESS_GROUP) para interceptar CTRL+C antes de que llegue a la herramienta forense: en vez de terminarla en seco, el wrapper la suspende, muestra un diálogo de confirmación, y solo aborta si el operador lo confirma explícitamente.
Secuencia de intercepción
SetConsoleCtrlHandler, captura la señal antes que la herramienta hijaNtSuspendProcess, congela el proceso mientras se decide- Diálogo: Continuar (recomendado) o Abortar
NtResumeProcess/TerminateProcesssegún la decisión
Contrato de salida
El código 2 es la señal universal que usa todo el framework para devolver al operador al menú del módulo correspondiente, nunca lo deja caer fuera del script.