Herramienta

Velociraptor

Plataforma open source de threat hunting y forense digital a escala que permite recolectar artefactos, ejecutar consultas y responder a incidentes en miles de endpoints simultáneamente. Trabaja sobre todo bajo demanda, de modo que complementa a un EDR de detección continua en lugar de sustituirlo.

8 min de lectura

¿Qué es Velociraptor?

Velociraptor es una plataforma open source diseñada para respuesta a incidentes, threat hunting y forense digital a escala. La creó Mike Cohen, que fundó Velocidex tras ocho años en Google, y desde 2021 la mantiene Rapid7, que firma el binario incluido en el MSI oficial —el MSI reempaquetado hay que firmarlo aparte—. Permite a los equipos de seguridad y peritos forenses:

  • Recolectar artefactos de miles de endpoints simultáneamente
  • Ejecutar consultas en tiempo real sobre sistemas en vivo
  • Hunting de amenazas con lenguaje de consulta flexible (VQL)
  • Monitorizar eventos concretos de forma continua cuando se configura para ello
  • Automatizar respuesta a incidentes
El Nombre

El nombre “Velociraptor” evoca velocidad y precisión: la capacidad de cazar amenazas rápidamente a través de toda la infraestructura, como el dinosaurio cazador del que toma su nombre.

Arquitectura

Componentes Principales

ComponenteFunción
ServerServidor central que gestiona clientes y almacena datos
ClientAgente ligero desplegado en endpoints
GUIInterfaz web para análisis y hunting
VQLLenguaje de consulta para artefactos

Modelo de Despliegue

                    ┌─────────────┐
                    │   Server    │
                    │  (Central)  │
                    └──────┬──────┘

        ┌──────────────────┼──────────────────┐
        │                  │                  │
   ┌────▼────┐       ┌────▼────┐       ┌────▼────┐
   │ Client  │       │ Client  │       │ Client  │
   │ (Win)   │       │ (Linux) │       │ (Mac)   │
   └─────────┘       └─────────┘       └─────────┘

VQL: Velociraptor Query Language

VQL es el corazón de Velociraptor. Es un lenguaje de consulta similar a SQL pero diseñado para forense:

Ejemplos de Consultas

Listar procesos en ejecución:

SELECT Pid, Name, Exe, CommandLine 
FROM pslist()

Buscar archivos por hash:

SELECT OSPath, hash(path=OSPath).SHA256 AS SHA256
FROM glob(globs="C:/Users/*/Downloads/*")
WHERE SHA256 = "<huella SHA-256 completa, 64 caracteres hexadecimales>"
glob() no calcula huellas

glob() devuelve Name, OSPath, Mtime, Size y poco más: no emite una columna Hash. Filtrar por Hash.SHA256 no da error — devuelve null, la consulta no casa con nada y el hunt vuelve vacío, de modo que el analista concluye que no hay hallazgos. La huella se calcula con la función hash(), como arriba. Es la trampa más cara de VQL: una columna que no existe no falla, calla.

Buscar conexiones de red sospechosas:

SELECT Pid, Raddr.IP AS RemoteIP, Raddr.Port AS RemotePort, Status
FROM netstat()
WHERE Raddr.Port IN (4444, 5555, 6666)

Las columnas de netstat() son Fd, Family, Type, Laddr, Raddr, Status y Pid; la dirección remota viaja anidada en Raddr. Un WHERE RemotePort IN (…) sobre el nombre plano devuelve cero filas aunque el puerto esté abierto, por la misma razón que el ejemplo anterior.

Timeline de ejecución de programas (Prefetch):

SELECT Executable, LastRunTimes, RunCount
FROM Artifact.Windows.Forensics.Prefetch()
ORDER BY LastRunTimes DESC
Potencia de VQL

VQL permite combinar múltiples fuentes de datos, filtrar, transformar y correlacionar información de forma que sería imposible con herramientas tradicionales.

Artefactos Disponibles

Velociraptor incluye cientos de artefactos predefinidos:

Windows

CategoríaArtefactos
SistemaMFT, Registry, Event Logs, Prefetch
UsuarioShellbags, Recent Files, Jump Lists
RedNetstat, DNS Cache, ARP
MemoriaProcess List, Handles, DLLs
MalwareYARA scans, Autoruns, Services

Linux

CategoríaArtefactos
Sistema/var/log/*, crontabs, services
Usuariobash_history, SSH keys, home dirs
RedLinux.Network.Netstat, Linux.Network.NetstatEnriched
ContenedoresLinux.Applications.Docker.Info, Linux.Applications.Docker.Version

macOS

CategoríaArtefactos
SistemaMacOS.System.Plist, MacOS.Detection.Autoruns
UsuarioMacOS.Applications.Chrome.History
AplicacionesMacOS.System.QuarantineEvents, MacOS.Forensics.FSEvents
Lo que el catálogo embebido no trae

En el catálogo embebido de 0.77.2 no hay artefactos nombrados para Unified Logs, historial de Safari ni Keychain. Launch Agents sí está cubierto: MacOS.Detection.Autoruns —el que aparece en la tabla de arriba— recorre LaunchAgents y LaunchDaemons.

Sobre el recuento: el árbol del tag v0.77.2 contiene 421 definiciones YAML. La cifra de 440 que suele citarse procede de velociraptor artifacts list sobre el binario, que cuenta también los alias; son dos formas distintas de contar y conviene decir cuál se usa.

En cualquier caso, antes de planificar una recolección hay que listar lo que realmente trae la versión instalada —velociraptor artifacts list— en lugar de dar por supuesto un nombre: un artefacto inexistente no aborta el hunt, lo deja sin resultados.

Casos de Uso Forense

Investigación de Ransomware a Escala

  1. Obtener autorización por escrito y documentar el impacto previsto. Va primero, no al final: el agente ejecuta código en el endpoint con privilegios de sistema. Sin ese paso, todo lo que sigue es intervención no autorizada sobre equipos ajenos.

  2. Desplegar el agente en el alcance autorizado (si no está ya).

  3. Hunt inicial con reglas YARA sobre las rutas donde el cifrador suele dejar rastro:

    SELECT * FROM Artifact.Windows.Detection.Yara.Glob(
      PathGlob="C:/Users/*/AppData/Local/Temp/*",
      YaraUrl="https://<servidor-interno>/reglas/ransomware.yar"
    )
  4. Recolectar artefactos de los sistemas afectados. Aquí hay una trampa que conviene conocer antes de escribir el hunt: Windows.KapeFiles.Targets y Windows.Triage.Targets —los colectores que suelen citarse— no están en el catálogo embebido de 0.77.2, y sus páginas de referencia responden 404. Y Windows.KapeFiles.Extract, que es lo que aparece en su lugar en muchos recetarios, no recolecta nada: es un artefacto de tipo SERVER que desempaqueta en el servidor un ZIP ya recogido. Lanzarlo contra el endpoint no devuelve error, devuelve vacío.

    Hasta importar el pack de triaje desde el repositorio de artefactos, hay que recolectar con los artefactos que sí trae el binario, comprobados con velociraptor artifacts list.

  5. Buscar IOCs en memoria en el alcance autorizado:

    SELECT * FROM Artifact.Windows.Detection.Yara.Process(
      YaraUrl="https://<servidor-interno>/reglas/ransomware.yar"
    )
  6. Timeline de la propagación, recortando por el parámetro del propio artefacto:

    SELECT * FROM Artifact.Windows.Timeline.MFT(DateAfter="2026-01-15T00:00:00Z")

Hunting de Persistencia

Buscar mecanismos de persistencia en todos los endpoints:

-- Tareas programadas sospechosas
SELECT * FROM Artifact.Windows.System.TaskScheduler()
WHERE Command =~ "powershell|cmd|wscript"

-- Servicios anómalos
SELECT * FROM Artifact.Windows.System.Services()
WHERE PathName =~ "temp|appdata|public"

-- Autoruns sin editor identificado
SELECT * FROM Artifact.Windows.Sysinternals.Autoruns()
WHERE Publisher = NULL OR Publisher = ""
Un filtro sobre una columna inexistente lo marca TODO

La columna que saca autorunsc es Publisher. Escribir WHERE NOT Signer sobre una columna que el artefacto no emite no devuelve cero filas: devuelve todas, porque en VQL una columna ausente vale null y NOT null se evalúa como cierto. Es el error inverso al de glob() y el más peligroso de los dos en un hunt de persistencia: entrega un listado completo del arranque de cada máquina disfrazado de hallazgos.

Investigación de Insider Threat

-- Rastro de actividad en el perfil del usuario.
-- Ojo: Windows.Registry.NTUser parsea NTUSER.DAT (por defecto, ComDlg32),
-- que es el hive del USUARIO. NO sirve para USBSTOR, que vive en
-- HKLM\SYSTEM y necesita otro artefacto.
SELECT * FROM Artifact.Windows.Registry.NTUser()

-- Cloud storage sincronizado
SELECT * FROM glob(globs=[
  "C:/Users/*/Dropbox/**",
  "C:/Users/*/OneDrive/**",
  "C:/Users/*/Google Drive/**"
])

Ventajas sobre Herramientas Tradicionales

AspectoVelociraptorHerramientas Tradicionales
EscalaMiles de endpointsUn sistema a la vez
VelocidadConsultas concurrentes en el alcance desplegadoUn sistema cada vez
FlexibilidadVQL personalizableArtefactos fijos
CosteLicencia AGPL-3.0, sin coste de adquisiciónLicencia comercial según fabricante
IntegraciónAPI, exportaciónSegún producto
Huella en el equipoEjecuta código en el endpointLa imagen forense es pasiva

Integración con Otras Herramientas

HerramientaIntegración
KAPEReutiliza los targets .tkape del repositorio comunitario KapeFiles, no el binario kape.exe
YARAEscaneos YARA en memoria y disco
SigmaReglas Sigma para detección
TheHiveGestión de casos
Elastic/SplunkExportación de resultados

Consideraciones Forenses

Validez Judicial

Ninguna herramienta trae la validez judicial incorporada, y Velociraptor tampoco. El art. 348 LEC somete el dictamen pericial a la sana crítica del tribunal, y el art. 741 LECrim reserva al órgano judicial la apreciación de la prueba en el proceso penal. Lo que se valora, con la herramienta que sea, es si el método empleado es reproducible y verificable por un tercero, y si el perito puede explicarlo y sostenerlo en la ratificación en juicio.

Lo que sí está en manos del perito es no perder por el camino lo que la herramienta sí puede sostener:

  1. Autorización previa y documentada del titular o del órgano judicial. Es la primera, no la última: Velociraptor ejecuta código en equipos ajenos.
  2. La consulta exacta ejecutada, transcrita literalmente, no descrita. Es lo que permite repetirla.
  3. La cadena de custodia de lo recolectado, desde la extracción hasta la entrega.
  4. Las huellas SHA-256 de cada fichero extraído, calculadas en el momento de la adquisición.
  5. El servidor, endurecido y con su propio registro de acceso: quien lo administra puede alterar lo que guarda, y esa es la primera pregunta de un contraperito.

Documentación recomendada del hunt

Lo que sigue es la plantilla de lo que conviene dejar registrado por cada hunt, no el registro de una actuación concreta. Los corchetes se rellenan con los valores reales en el momento de ejecutarla:

DOCUMENTACIÓN DE HUNTING VELOCIRAPTOR

Caso: [identificador interno del expediente]
Fecha: [ISO 8601 en UTC con offset]
Analista: [nombre y apellidos de quien ejecuta]
Autorización: [órgano o titular que la concede, y fecha]

Hunt ID: [el que asigna el servidor]
Descripción: [objetivo del hunt, en una línea]

Consulta VQL (transcrita literalmente, no descrita):
SELECT * FROM Artifact.Windows.Detection.Yara.Glob(
  PathGlob="C:/Windows/Temp/*",
  YaraUrl="https://<servidor-interno>/reglas/lockbit.yar"
)

Endpoints consultados: [total del alcance autorizado]
Endpoints con hallazgos: [total]
Resultados exportados: [nombre del fichero]
Hash resultados: SHA-256 [64 caracteres hexadecimales, completos]
Impacto en Sistemas

A diferencia de una imagen forense pasiva, Velociraptor ejecuta código en los endpoints. Documenta siempre el impacto potencial y obtén autorización antes de ejecutar artefactos que modifiquen estado.

Despliegue Básico

Instalación del Server

## Descargar binario. El nombre del activo lleva la versión dentro
## (velociraptor-vX.Y.Z-linux-amd64), así que no existe una ruta fija
## /latest/download/: hay que resolver la última publicación.
curl -s https://api.github.com/repos/Velocidex/velociraptor/releases/latest \
  | grep -oE 'https://[^"]+linux-amd64' | head -1 | xargs curl -LO

## El fichero descargado conserva el nombre del activo (velociraptor-vX.Y.Z-linux-amd64)
## y llega sin bit de ejecución, porque HTTP no transporta permisos.
mv velociraptor-v*-linux-amd64 velociraptor && chmod +x velociraptor

## Generar configuración
./velociraptor config generate -i

## Iniciar server
./velociraptor --config server.config.yaml frontend

Crear Instalador de Cliente

## Windows: --msi NO es un interruptor, sino la ruta al MSI oficial
## que se usa de plantilla para incrustar la configuración del cliente.
./velociraptor config repack --msi velociraptor-windows.msi \
  client.config.yaml velociraptor-windows-repacked.msi

## Linux: el paquete Debian NO se hace con repack, sino con su propio subcomando.
./velociraptor debian client --config client.config.yaml
`config repack` no empaqueta para Debian

config repack acepta --exe, --msi y --binaries, y no tiene --deb: el comando rechaza ese flag como desconocido. El paquete de Linux lo construye velociraptor debian client, documentado en el despliegue de clientes de Velociraptor. Y --msi espera un fichero MSI: pasarle el YAML hace que el comando tome la configuración por plantilla y falle con no such file or directory.

Recursos y Comunidad

Conclusión

Velociraptor cambió la escala del forense de respuesta: donde antes había que ir equipo por equipo, permite lanzar la misma pregunta sobre todo el parque desplegado y recoger las respuestas en un único sitio. Esa es su ventaja real, y tiene una contrapartida que conviene tener presente en sede judicial: a diferencia de una imagen forense, Velociraptor no es pasivo — ejecuta código en el equipo investigado. Por eso la autorización y el registro de cada consulta no son burocracia, son lo que permite sostener después el trabajo ante un tribunal.

Si necesitas una recolección a escala documentada para aportarla a un procedimiento, puedes consultar el caso o revisar cómo se prepara un informe pericial informático. Quién firma y con qué método, en sobre mí.

¿Necesitas una recolección a escala que aguante en el juzgado?

Un hunt mal documentado se impugna igual que una captura de pantalla. Cuéntame el alcance y te digo qué se puede sostener y qué no.

Última actualización: 27 de agosto de 2026 Categoría: Herramienta Código: VEL-001

Preguntas Frecuentes

¿Qué es Velociraptor?

Velociraptor es una plataforma open source para recolección forense y threat hunting sobre parques de equipos, con visibilidad continua opcional. No es un EDR ni lo sustituye: no bloquea ni responde por sí solo, complementa a uno. Permite ejecutar consultas y recolectar artefactos en miles de sistemas simultáneamente.

¿Velociraptor es gratuito?

Sí: el código está bajo licencia AGPL-3.0 y el binario se descarga sin coste. Lo creó Mike Cohen, que fundó Velocidex tras ocho años en Google, y desde 2021 el proyecto lo mantiene Rapid7. Un matiz que importa al desplegar: lo que Rapid7 firma es el binario que va dentro del MSI oficial; si se reempaqueta el MSI, la firma del paquete corre a cargo del operador.

¿Cuál es la diferencia entre Velociraptor y un EDR?

Velociraptor se centra en hunting y forense bajo demanda, mientras que los EDR tradicionales se enfocan en detección continua. Velociraptor es más flexible para investigaciones profundas y recolección de artefactos específicos.

¿Necesitas un peritaje forense?

Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.

Solicitar Consulta Gratuita
Jonathan Izquierdo

Jonathan Izquierdo · Perito Forense

+15 años experiencia · AWS Certified

WhatsApp