Instalando Velociraptor

Escrito por Jose | Publicado el 19/05/2026 (Actualizado el 25 de May de 2026) | En Redes | 42 lecturas | 18 min de lectura

Foto de Apolo Photographer en Unsplash

Tenemos instalado el cortafuegos.

Tenemos instalado Wazuh.

Vamos a por Velociraptor.

Si recordamos la guía “Mismo sueño, nuevo proyecto”, lo que nos dio Gemini fue esto.

Paso 3: Velociraptor (install-velociraptor.sh)

En el configurador web, ve a la pestaña "Velociraptor".

Introduce la IP estática de tu servidor en serverIp.

Configura el ADMIN_USER y ADMIN_PASSWORD.

Haz clic en "Generar Script (.sh)" y descarga install-velociraptor.sh.

Sube este script a tu servidor Ubuntu.

Ejecútalo:

chmod +x install-velociraptor.sh
sudo ./install-velociraptor.sh.

Aunque no voy a admitir cambios en el código si le voy a preguntar por las variables del lanzador a Gemini.

En ese aspecto siempre me ha dado una respuesta valida.

Y una vez que lo tenga claro lo voy a lanzar.

Jose

Voy a instalar Velociraptor. Estamos en el primer servidor y seria la siguiente instalación....Este es el orden que me da la guía del lanzador…

### Orden de despliegue sugerido en Servidor 1

install-firewall.sh — primero, para securizar el host.

install-wazuh.sh — base SIEM (manager + indexer + dashboard).

install-velociraptor.sh — DFIR / EDR.

install-grr.sh — forense remoto (opcional).

install-honeypots.sh — Cowrie + Dionaea, reenviando logs a Wazuh.....Honeypots de momento no entra en mis planes de despliegue....En el lanzador para velociraptor tenemos esto....Servidor 1 — SIEM / EDR Velociraptor Velociraptor es una herramienta DFIR / EDR que permite cazar amenazas, recolectar artefactos y monitorizar endpoints en tiempo real con su lenguaje VQL. Despliegue como binario systemd.

RAM mín 4 GB CPU mín 2 cores Disco mín 30 GB Parámetros Regenerar secretos installDir /opt/velociraptor serverIp auto orgName MySOC frontendPort 8000 guiPort 8889 adminUser admin adminPassword •••••••••••••••••••• Componentes que se instalan Paquetes APT curl wget ca-certificates Imágenes Docker (no usa Docker) Puertos 8000/tcp — Frontend (agentes) 8889/tcp — GUI HTTPS Volúmenes /opt/velociraptor /var/lib/velociraptor.…

¿Antes de descargar el script. Tenemos que variar algún parámetro?...Detrás de ti Genio/a.

Gemini VSCode

Respondiendo a tu pregunta: ¿Tenemos que variar algún parámetro?

Aquí te doy mis recomendaciones de "Genio/a" de bolsillo antes de que descargues el script:

serverIp: auto: Este es el parámetro más crítico.

Si tu servidor solo tiene una IP (por ejemplo, en un VPS de DigitalOcean, AWS o una VM local), auto funcionará perfecto.

Pero, si tu servidor tiene varias interfaces de red (una IP pública y una privada, por ejemplo), auto podría elegir la incorrecta. Si ya conoces la IP a la que quieres que los agentes se conecten, es más seguro escribir la IP manualmente en lugar de dejarlo en auto.

adminPassword: Asegúrate de que sea una contraseña "blindada". Velociraptor es una herramienta de forense muy potente; quien tenga acceso a la GUI puede leer archivos de cualquier máquina conectada. Si el generador te dio una aleatoria fuerte, quédatela.

orgName: "MySOC" es el nombre que aparecerá en los certificados de los agentes. Si tienes un nombre para tu proyecto de ciberseguridad, cámbialo ahora (ej: "SiliconSoul-SOC"). Es meramente estético, pero queda más profesional.

guiPort: 8889: Está perfecto. No choca con Wazuh (que usa el 443 para el Dashboard).

¿Afectará a Wazuh o al Cortafuegos?

No.

Wazuh: Ambos conviven perfectamente. Wazuh vigila los logs y la integridad, mientras que Velociraptor te servirá para "cazar" amenazas activas y recolectar evidencias (artefactos) de forma quirúrgica.

Cortafuegos: Como instalaste el cortafuegos primero (punto 1 de la guía), el script de Velociraptor se encargará de ejecutar los comandos ufw allow necesarios para abrir los puertos 8000 (agentes) y 8889 (tu consola) automáticamente.

Mi veredicto: Si la IP es única, los parámetros son correctos. Puedes proceder a descargar el script, darle permisos de ejecución (chmod +x install-velociraptor.sh) y lanzarlo.

¿Listo/a para ver a Velociraptor en acción?

Fin de Gemini

Me voy a Gemini Web y le planteo esta cuestión

Jose

Buenos días...Tenemos instalado el cortafuegos y wazuh correctamente y funcionando. Lo que me pide el primer servidor ahora es.... install-velociraptor.sh — DFIR / EDR.

install-grr.sh —

forense remoto (opcional)....De momento voy a lanzar velociraptor. ¿Que hace velociraptor con wazuh?....No tengo ni pajorela idea.

Gemini Web

¡Buenos días, Jose! Qué alegría volver a saludarte y saber que ese Wazuh sigue rugiendo con el cortafuegos bien puesto. ¡Menudo despliegue estás montando!

Vaya nombres te están pidiendo ahora: **Velociraptor** y **GRR**. Suenan a parque jurásico, pero en el mundo de la ciberseguridad son herramientas pata negra. Vamos a destripar qué hace Velociraptor y cómo se lleva con tu Wazuh, para que lo entiendas a la perfección.

---

### 🦖 ¿Qué es Velociraptor y qué hace con Wazuh?

Para entenderlo sin tecnicismos raros: **Wazuh es tu guardia de seguridad y Velociraptor es tu detective forense de élite.**
Imagina que ocurre un incidente en uno de tus servidores:

1. **Wazuh (El Vigilante):** Está vigilando en tiempo real. Ve que alguien intenta meterse donde no debe, bloquea el ataque y hace sonar la alarma en tu Dashboard azul. Te dice: *"¡Ojo! Ha pasado algo raro en el Servidor A"*.

2. **Velociraptor (El Detective - DFIR / EDR):** Entra en juego cuando Wazuh da la voz de alarma. Velociraptor no se dedica tanto a mirar en tiempo real, sino a **investigar a fondo**. Te permite lanzar una "búsqueda" (lo que llaman *Hunts*) en segundos para registrar las tripas del servidor: recuperar archivos borrados por el atacante, ver qué memoria exacta estaba usando el malware, o volcar el registro de Windows/Linux para ver qué rastro dejó.

> **DFIR** significa *Digital Forensics and Incident Response* (Informática Forense y Respuesta a Incidentes). Eso es Velociraptor: una máquina del tiempo para saber **exactamente qué, cómo y cuándo** hizo algo un atacante dentro de la máquina.

---

### 🤝 ¿Cómo trabajan juntos? (La combinación perfecta)

No se estorban para nada, de hecho, se complementan como Batman y Robin:

* **Wazuh te da la Alerta:** Te avisa rápido de que hay un problema.

* **Velociraptor te da la Evidencia:** Te permite meter el bisturí en el servidor afectado de forma remota sin tener que ir físicamente a la máquina, clonar el disco duro o tirar de cables.

Existe una integración muy famosa donde las alertas que genera Wazuh pueden activar automáticamente a Velociraptor para que recoja las pruebas del servidor en el mismo milisegundo en el que ocurre el ataque. ¡Un escudo digital de primera categoría!

---

### 🧐 ¿Y qué pasa con el otro, `install-grr.sh`?

Te han puesto que es "opcional" porque **GRR (Google Rapid Response)** hace prácticamente lo mismo que Velociraptor (forense remoto). La diferencia es que GRR es el detective que usaba Google antiguamente, pero es mucho más pesado, complejo de mantener y antiguo. Hoy en día, **Velociraptor le ha ganado la tostada por goleada** porque es infinitamente más rápido y ligero. Haces muy bien en lanzar primero Velociraptor.

### 🚀 Mi consejo para hoy, Jose:

Lanza ese `install-velociraptor.sh` con total tranquilidad. Al igual que Wazuh, constará de un **Server** (un panel de control que probablemente use otro puerto web) y de **Agentes** que se instalan en las máquinas que quieres investigar.

Cuando termine de instalarse, avísame si te da algún error de puertos o de bases de datos, que ya sabes que a estos programas les gusta protestar al principio, pero ya tenemos el título de domadores de scripts.

¡Al lío, Jose! Tómate un buen café y a por el Velociraptor. ¡Un abrazo de oso gigante! 🦁🦖🔥

Jose

Entiendo por lo que me dices que si instalo Velociraptor ¿Me puedo olvidar de GRR (Google Rapid Response)?

Gemini Web

¡Exactamente, Jose! Lo has cazado a la primera. **Te puedes olvidar de GRR por completo y sin ningún remordimiento.** Si dejas Velociraptor funcionando, tener GRR instalado en el mismo servidor sería como contratar a dos detectives privados para que investiguen exactamente el mismo caso, con la diferencia de que uno va en patinete (GRR) y el otro en un caza de combate (Velociraptor).

Aquí tienes las razones de peso para borrar GRR de tu lista de preocupaciones:

### 1. Velociraptor es el "hijo espiritual" mejorado de GRR

Curiosamente, los ingenieros que crearon Velociraptor son los mismos que antes trabajaban desarrollando GRR para Google. Se cansaron de que GRR fuera tan pesado, lento y difícil de configurar, así que dejaron ese proyecto y crearon Velociraptor desde cero para solucionar todos los fallos de GRR.

### 2. El "peso" en el servidor (La batalla de la RAM)

* **GRR** es un monstruo. Requiere una base de datos gigante (como MySQL o Cassandra), consume muchísima memoria RAM y CPU en el servidor, y sus agentes pueden ralentizar las máquinas de los usuarios.

* **Velociraptor** es ultra-ligero. Está programado en un lenguaje moderno llamado Go. Es un único archivo ejecutable, no necesita una base de datos externa compleja y responde en segundos consumiendo el mínimo de recursos.

### 3. La velocidad de búsqueda (El lenguaje VQL)

Velociraptor tiene un superpoder llamado **VQL** (Velociraptor Query Language). Te permite buscar un archivo sospechoso o un virus en 10.000 ordenadores a la vez en cuestión de segundos. Con GRR, esa misma búsqueda podía tardar horas y dejar el servidor medio colgado.

---

### 📋 Tu estrategia para hoy:

Quédate con este esquema mental de lo que estás construyendo en tu infraestructura de seguridad:

1. **Wazuh:** Tu base de operaciones, el que vigila 24/7 y te avisa si entra un virus o un hacker.

2. **Velociraptor:** Tu herramienta de intervención rápida. Si Wazuh te dice que hay peligro, abres Velociraptor y sacas el bisturí para analizar la máquina a fondo.

3. **GRR:** Al cajón de la historia. No aporta nada nuevo que no haga ya Velociraptor mejor, más rápido y más limpio.

Así que dale caña a ese `install-velociraptor.sh`. En cuanto termine, si todo va bien, tendrás un nuevo panel web (suele usar puertos como el `8889` o similares) para empezar a jugar a ser un auténtico analista forense.

¡A por el dinosaurio, Jose! Si protesta el script con algún puerto, ya sabes dónde encontrarme. ¡Un abrazo de oso! 🦁🚀🦖

Fin de Gemini Web
Teniendo de momento claro esto.

Hago este cambio en el lanzador.

MySOC por SiliconSoul-SOC

Solo tenemos una IP por lo que no la toco.

Mis credenciales para cuando las necesite, las copio desde es script del lanzador.

ADMIN_USER="admin"

ADMIN_PASSWORD='d-ME5p+Z5vg-yKrjNWS6'

Y sin mas voy a descargar el script pasárselo a Ubuntu y lanzarlo.

Lo lanzamos

sudo chmod +x install-velociraptor.sh

Vemos con un ls -l que ya tiene los permisos de ejecución.

sudo ./install-velociraptor.sh.

Vemos que tenemos un error.

https://docs.velociraptor.app/docs/server_automation/server_api/

[ERROR] 2026-05-17T04:36:43Z ClientInfo Manager: SaveSnapshot: <nil>

Vamos al navegador y probamos con

https://192.168.1.100:8889

El resultado es

No se puede acceder a este sitio web

Voy a ver si el puerto 8889 esta a la escucha.

sudo ss -tlnp | grep 8889

Y veo que si. Pero en localhost, es decir en la IP 127.0.0.1 y no en la del servidor.

Me voy a Lovable.

Jose

Buenos días...He lanzado velociraptor y tengo esto en el servidor Ubuntu.

No me da la red de mi servidor.

Le paso la captura de pantalla del despliegue pero en texto.

Lovable

Buenos días cielo 💙

El problema es claro: mira tu `ss`:

```LISTEN 127.0.0.1:8889

```Velociraptor está escuchando solo en localhost, por eso desde el navegador no llegas. Por defecto la GUI hace bind a `127.0.0.1` y hay que forzar `bind_address: 0.0.0.0`. El `ERROR ClientInfo Manager: SaveSnapshot` es inofensivo (cosmético al generar config).

Voy a corregir el generador para añadir `bind_address: "0.0.0.0"` en GUI y Frontend, y `public_url` correcto:

Listo. Ahora la GUI escuchará en `0.0.0.0:8889` y será accesible desde tu red.

Opción rápida sin reinstalar (edita el YAML directamente en el servidor):

sudo nano /opt/velociraptor/server.config.yaml

Busca el bloque `GUI:` y cambia:

bind_address: 0.0.0.0 # antes 127.0.0.1
bind_port: 8889
public_url: https://192.168.1.100:8889/

Y en `Frontend:` añade/cambia:

bind_address: 0.0.0.0

Luego ejecuta:

 

sudo systemctl restart velociraptor
sudo ss -tlnp | grep -E '8889|8000' # debe mostrar 0.0.0.0

Opción limpia (regenerar con el script corregido):

 

git pull origin main # en tu PC (VSCode), regenera install-velociraptor.sh y súbelo

sudo ./install-velociraptor.sh --uninstall
sudo ./install-velociraptor.sh

Luego abre `https://192.168.1.100:8889` — el navegador avisará de certificado autofirmado, acepta el riesgo y entras con `admin` / la password que te dio. ¿Te funciona?

Fin de Lovable

No actuó sobre el servidor con los comandos anteriores. Por si alguien quiere hacer las pruebas quedan documentados.

Por si “las moscas” vuelvo a preguntar y como veis confundo git pull por git push

Jose

Perfecto cielo...Entiendo que ahora debería ejecutar en VSCode.....git restore src/lib/generators/velociraptor.ts...git push origin main...para que esos cambios pasen al editor y poder generar un script valido....¿Correcto?

Lovable

Casi cielo, pero al revés 💙

Tus cambios buenos (el fix de `bind_address: 0.0.0.0`) ya están en GitHub porque Lovable los acaba de subir. Lo que tienes que hacer en VSCode es traerlos a tu PC, no enviar nada:

git restore src/lib/generators/velociraptor.ts # descarta tu versión local antigua
git pull origin main # baja la nueva desde GitHub

⚠️ Diferencias clave:

- `git restore` → descarta cambios locales (los pierdes, pero aquí no te importa porque los buenos están en GitHub)

- `git pull` → baja de GitHub a tu PC ✅ (esto es lo que quieres)

- `git push` → sube de tu PC a GitHub ❌ (sobrescribiría el fix de Lovable con tu versión vieja)

Después en el servidor Ubuntu, sube el `install-velociraptor.sh` regenerado y:

sudo ./install-velociraptor.sh --uninstall
sudo ./install-velociraptor.sh

Y a probar `https://192.168.1.100:8889` desde el navegador 🚀

Fin de Lovable

Lo que hago es aceptar los cambios (git pull...) en la consola de VSCode, borrar el script de Windows, Ejecutar la desinstalación de Velociraptor, volver a generar el script, pasárselo de nuevo a Ubuntu y lanzarlo.

git pull origin main

Voy a desinstalar Velociraptor.

sudo ./install-velociraptor.sh –uninstall

Ahora vuelvo a generar el script.

Se lo paso con WinSCP a Ubuntu y lo vuelvo a lanzar.

Me vuelve a dar un error. Ahora no escucha ni en localhost.

Vuelvo a Lovable y le planteo el problema.

Jose

He descargado de nuevo el script...He desinstalado velociraptor y he vuelto a lanzar de nuevo el script...Ahora ya no escucha ni en 127.0.0.1.....Esta es la salida del servidor.

INSTALACIÓN COMPLETADA

============================================================

Velociraptor GUI: https://192.168.1.100:8889

Frontend agentes: 192.168.1.100:8000

Usuario: admin

Password: d-ME5p+Z5vg-yKrjNWS6

Config: /opt/velociraptor/server.config.yaml

Datastore: /var/lib/velociraptor

============================================================

jose@soc-server-1:~$ sudo ss -tlnp | grep 8889

jose@soc-server-1:~$ sudo ss -tlnp | grep :8889

jose@soc-server-1:~$ sudo lsof -i :8889

jose@soc-server-1:~$ sudo netstat -tulpn | grep :8889

jose@soc-server-1:~$

Y esta es la salida del navegador con la IP 192.168.1.100:8889. No se puede acceder a este sitio web La página 192.168.1.100 ha rechazado la conexión.....¿me puedes ayudar?...¿Es el desinstalador fiable?...date cuenta que ya tengo instalado el cortafuegos y wazuh.

Lovable

Voy a endurecer el script para que no dé “instalación completada” si el servicio cae, y para que genere el config base primero y aplique el bind externo de forma fiable.

Yya está corregido el generador: el fallo era que Velociraptor nuevo exige que `GUI.public_url` termine en `/app/index.html`; si no, el servicio cae y por eso no escuchaba ni en `127.0.0.1`.

No era Wazuh ni el cortafuegos. El desinstalador no toca Wazuh y ahora lo he reforzado para limpiar mejor Velociraptor y no mostrar “instalación completada” si el servicio no arranca.

Para arreglarlo rápido en el servidor actual, prueba:

sudo sed -i 's#public_url: https://192.168.1.100:8889/#public_url: https://192.168.1.100:8889/app/index.html#' /opt/velociraptor/server.config.yaml
sudo systemctl restart velociraptor
sudo systemctl status velociraptor --no-pager
sudo ss -tlnp | grep -E ':8889|:8000'

Y entra con:

https://192.168.1.100:8889/app/index.html

Para dejar tu VSCode con el fix definitivo:

git pull origin main

Luego descarga de nuevo el script desde el configurador y, si quieres instalación limpia:

sudo bash install-velociraptor.sh --uninstall
sudo bash install-velociraptor.sh

Fin de Lovable

Voy a probar con los cambios en vivo en el servidor sin generar y volver a lanzar el script haber si funciona.

Ejecuto:

sudo sed -i 's#public_url: https://192.168.1.100:8889/#public_url: https://192.168.1.100:8889/app/index.html#' /opt/velociraptor/server.config.yaml

sudo systemctl restart velociraptor

sudo systemctl status velociraptor --no-pager

sudo ss -tlnp | grep -E ':8889|:8000' # Veo que no me da la salida a este comando y lo ejecuto después.

De momento me da todo en verde.

Entro en el navegador

https://192.168.1.100:8889/app/index.html

¡¡¡Bingo!!!

Avanzado

Acceder a 192.168.1.100 (sitio no seguro)

Le pongo las credenciales que me dio el script en el lanzador.

Y veo el panel de Velociraptor.

Ahora si ejecuto

sudo ss -tlnp | grep -E '8889|8000'

Si veo esta salida.

Visto que funciona.

Voy a desinstalar velociraptor

sudo bash install-velociraptor.sh –uninstall

Vemos que a diferencia de la anterior actualización, la desinstalación, nos da algo mas robusto a la hora de ejecutarla.

Bajo los cambios que Lovable le ha pasado a GitHub

git pull origin main

También aquí vemos que ha descargado mas “chicha” que en la anterior actualización.

Descargo un nuevo script, se lo paso al servidor y lo lanzo.

Vuelvo a estar en el dashboard de Velociraptor sin problemas.

Y tenemos, algo muy importante. La ultima version. La vemos en su documentación oficial.

La comprobamos en la herramienta recién instalada.

Vemos que los créditos de Lovable han sido bien aprovechados.

¿la configuración?

La veremos en las siguientes guías.

El servidor 1 ya esta completado.

Honeypots lo dejaremos para otra ocasión.

Si alguien esta siguiendo estos posts se dará cuenta, al igual que yo, que dos preguntas bien hechas a Lovable valen mas que mil preguntas a Gemini.

La experiencia me va diciendo que para temas menores Gemini es “fiable”.

Comandos para ver los logs, puertos abiertos, estrategia del sistema, etc.

Pero cuando hablamos en este caso de TypeScript que es el lenguaje que nos da Lovable. No hay color.

Reflexión

Para pensar. He construido este blog con Laravel.

Gemini VSCode me ayudo a construirlo y hasta ahora a mantenerlo.

Pero se negaba a aceptar que hubiera una version Laravel 12. No le di importancia en aquel momento por que entendí que la versión estable era la 11...Craso error.

El blog lo construí con la version 11

Y no es que haya una version 12, sino que ya esta la version 13. Es ahora cuando empiezo a atar cabos

Recordar que Gemini me confeso que su entrenamiento acabo en alguna fecha de principios de 2024.

Fijaros que curioso.

Si hago esta pregunta a Gemini Web

¿De que año es la version 11. de Laravel?

Laravel 11 se lanzó oficialmente el 12 de marzo de 2024.

¿Lo vais entendiendo?

Si le vuelvo a preguntar

¿De que año es la version 12. de Laravel?

La versión 12 de Laravel fue lanzada el 24 de febrero de 2025.

Gemini ya había completado su entrenamiento y no tenia ni idea de la versión 12 de Laravel.

Y se me ocurrió preguntar.

TypeScript es un lenguaje de programación de código abierto ¿Desde cuando esta creado?

TypeScript fue lanzado oficialmente por Microsoft en octubre de 2012.

Bueno, hasta ahí todo correcto. Pero si le pregunto.

¿TypeScript ha tenido modificaciones después del año 2024?

Sí, TypeScript ha tenido modificaciones muy importantes después de 2024, destacando el lanzamiento de las versiones TypeScript 5.x (finales), TypeScript 6.0 y el desarrollo de TypeScript 7.0. 

De hecho, el lenguaje atraviesa la transformación técnica más grande de toda su historia. Las principales modificaciones y novedades incluyen:….

“No hay mas peguntas señoría”

Cuidado con las versiones y por ende con los archivos que modifica Gemini.

Puede no ser un gran idea que dos IAs con diferentes “fechas de corte” modifiquen un mismo archivo.

Y eso lo estamos viendo juntos. Error a error.

Ahora si pregunto ¿En que fecha esta operativa la IA Lovable?

La plataforma de desarrollo de software basada en inteligencia artificial Lovable está totalmente operativa y disponible en España. La plataforma se puede utilizar a través de su página web Lovable desde su lanzamiento oficial en la segunda mitad de 2024.

Busco cual es la fecha en la que termina el entrenamiento una IA.

Fecha de corte

Una fecha de corte de conocimiento es el punto específico en el tiempo después del cual un modelo de IA ya no tiene información actualizada.

Parece que Gemini y Lovable también son del mismo año pero no tengo constancia de la “fecha de corte” en Lovable.

También se “colo” en la version de Wazuh, pero termino dándome la ultima.

Como vemos, debemos tener, no un conocimiento a nivel de ingeniero, pero si a nivel de usuario avanzado o “avispado” para saber discernir si lo que te esta volcando las IAs te van a dar soluciones o problemas.

Estaréis conmigo que la instalación de este SOC paso a paso sin automatizarlo seria una locura.

Si bien es cierto que lleva su tiempo. Pero una vez conseguida, la podemos meter en un bolsillo y tenerla operativa en un tiempo mínimo.

Veremos como configurar Wazuh y Velociraptor.

Esa sera nuestra próxima tarea.

 

Barakaldo 19 de mayo de 2026.


 

0 Votos
¿Te gustó el artículo? ¡Compártelo!

Etiquetas:

SOC
Jose

Sobre Jose

Este autor prefiere mantener el misterio y aún no ha escrito su biografía.

Comentarios (0)

Inicia sesión para unirte a la conversación.

No hay comentarios aún. ¡Sé el primero en comentar!