Introducción a Velociraptor
Velociraptor es un proyecto de software libre creado por la empresa Velocidex, la cúal se basa en las herramientas GRR, OSQuery y Recall. Velociraptor permite recolectar evidencia forense, hacer monitoreo de artefactos, threat hunting y ejecución de procesos de triage remoto, todo esto gracias al motor VQL (Velociraptor Query Language)
En esta entrada veremos el proceso de instalación del servidor sobre Ubuntu Server 18.04, para hacerlo lo más real posible se ha realizado la instalación en un servidor en la nube, bajo el siguiente esquema.

Los agentes apuntarán al puerto TCP 8000, mientras que el investigador forense consultará la interfaz web al puerto 8889, una de las ventajas que tiene este esquema cloud es que si uno de los equipos sale de la oficina y opera desde casa podrá seguir reportando al servidor.
Preparación
Instalamos MySQL Server
apt install mysql-server
Ingresamos al monitor de MySQL
mysql -u root -p
Ingresamos la contraseña establecida durante la instalación
Creamos una base de datos
create database velociraptor;
creamos un usuario para evitar el uso de la cuenta root
CREATE USER ‘blue’@’localhost’ IDENTIFIED BY ‘str0ng P@ssw0rd’;
Asignamos permisos al usuario blue sobre la base de datos velociraptor
GRANT ALL PRIVILEGES ON velociraptor.* TO ‘blue’@’localhost’;
Salimos del monitor de MySQL con el comando bye.
Creación de Instaladores
Creamos dos carpetas en el sistema de archivos una para guardar los logs de velociraptor y otra para los archivos de configuración
mkdir /var/log/velociraptor && mkdir /etc/velociraptor
Damos permisos al usuario velociraptor que se creará automáticamente más adelante para que pueda escribir los logs.
chown -R velociraptor: /var/log/velociraptor/
Ingresamos al repositorio oficial https://github.com/velocidex/velociraptor/releases alli ubicamos el archivo el instalador para linux y copiamos el enlace de descarga en nuestro caso la versión para linux-amd64.

En el servidor ubuntu utilizamos wget y pasamos como parámetro la dirección del binario
wget https://github.com/Velocidex/velociraptor/releases/download/v0.4.4/velociraptor-v0.4.4-linux-amd64
Asignamos permisos de ejecución al binario
chmod u+x velociraptor-v0.4.4-linux-amd64
Ejecutamos el binario con los siguientes argumentos para realizar la configuración en modo interactivo
./velociraptor-v0.4.4-linux-amd64 config generate -i
Seleccionamos Linux como sistema operativo

Seleccionamos MySQL para la implementación del almacen de datos

Colocamos el usuario de la base de datos

Ingresamos la contraseña del usuario de la base de datos

Si la base de datos está en otro servidor, colocamos la dirección IP o el nombre del host, si está local simplemente lo dejamos como localhost

Si van a realizar la implementación del servidor para que sea disponible de forma pública utlilizamos la opción de aprovisionamiento de certificados con Lets Encrypt, si es un proyecto local pueden dejar la opción del certificado auto-firmado (Self Signed SSL), en mi caso procedo con Let’s Encrypt

colocamos en nombre del host, ej velociraptor.dvirus.training

Si utlilizamos DynDNS colocamos la letra y de lo contrario como en mi caso colocamos la N o simplemente presionamos enter.

Luego definimos el nombre para el acceso a la interfaz de velociraptor

Establecemos la ruta en la cual se guardarán los logs, colocamos la ruta creada previamente

Al igual que en el paso anterior usamos una de las rutas creadas al inicio para escribir los archivos de configuración del servidor y del cliente

Verificamos que los archivos de configuración se hayan generado de forma correcta uno para el servidor (server.config.yaml) y otro para los clientes (client.config.yaml)

Generamos el instalador para el servidor debian o derivados
./velociraptor-v0.4.4-linux-amd64 -c /etc/velociraptor/server.config.yaml debian server
y generamos el instalador para los clientes linux
./velociraptor-v0.4.4-linux-amd64 -c /etc/velociraptor/client.config.yaml debian client
Tendremos dos archivos .deb uno para el servidor y otro para los clientes linux basados en debian

Instalación Servidor
Instalamos el paquete server en nuestro servidor
dpkg -i velociraptor_0.4.4_server.deb

Una vez finalizada la instalación verificamos el servicio, deberían subir servicios en los puertos 8000 (frontend), 8001,8003 y 8889 (GUI)

Si observamos la anterior gráfica, el acceso al frontend, está restringido a través del bind_address 127.0.0.1, en este caso vamos a reconfigurar para que sea accesible desde cualquier dirección IP y restringimos el acceso a través de reglas de firewall. O simplemente dejamos la restricción y hacemos un tunel SSH para administrar la plataforma.
Detenemos los servicios de velociraptor
killall velociraptor
Editamos el archivo /etc/velociraptor/server.config.yaml
En la sección GUI: cambiamos el bind_address de 127.0.0.1 por 0.0.0.0

Guardamos la configuración y generamos nuevamente el instalador.
./velociraptor-v0.4.4-linux-amd64 -c /etc/velociraptor/server.config.yaml debian server
Instalamos nuevamente velociraptor
dpkg -i velociraptor_0.4.4_server.deb

Nota: Importante restringir el acceso para que solo accedan direcciones ip de confianza, no se debe dejar expuesto el servicio en internet.
Ingresamos al navegador https://ip_servidor:8889 o https://nombre_servidor:8889
Alli ingresamos las credenciales

Y listo, estaremos dentro del panel administrativo de velociraptor.

Instalación de Agente Windows
Del repositorio ofical descargamos el archivo .msi para windows

Ejecutamos el instalador, si nos aparece un mensaje como el que sale en la siguiente imagen damos clic en run anyway.

En la ruta de la instalación la cuál se muestra en la siguiente imagen, colocamos el archivo de configuración de cliente creado durante el proceso de instalación del servidor.

Renombramos el archivo client.config.yaml por velociraptor.config.yaml

Ejecutamos nuevamente el instalador, si el proceso es correcto aparecerá un nuevo archivo

Si durante este proceso no aparece el archivo velociraptor.writeback.yaml, se debe intentar con la versión 0.4.2 del MSI.
Importante que las maquinas en las que se instala el agente puedan resolver el nombre del servidor
Después de unos segundos el equipo se registrará contra el servidor y podremos observarlo en el GUI.
En la vista de Sever status podemos visualizar una línea de tiempo que muestra el número de clientes conectados.

Si presionamos el botón de búsqueda, aparecerán todos los equipos instalados.

Instalación de agente Linux
En linux la instalación es más sencilla, simplemente descargamos el instalador para cliente generado durante la configuración inicial del servidor

Instalamos el agente con el comando
sudo dpkg -i velociraptor_0.4.2_client.deb
Después de unos segundos aparecerá registrado en la consola de velociraptor.

Para aprender más sobre velociraptor los invito a revisar la documentación oficial https://www.velocidex.com/docs/ allí encontrarán muy buenos recursos incluyendo varios videos presentados en diferentes eventos.
Instalación de agente en instancias de EC2
Para la instalación de agentes en instancias de EC2 de AWS las cuales no tengan sistema operativo debian, se debe convertir el paquete .deb a rpm.
En el servidor de velociraptor (ubuntu) instalar alien
sudo apt install alien
Ejecutar alien (se requieren privilegios)
sudo alien -r velociraptor_0.4.2_client.deb
–scripts
Nos retornará el siguiente mensaje

Cargamos el RPM a la instancia de EC2 y ejecutamos
sudo rpm -ivh velociraptor-client-0.4.2-2.x86_64.rpm

Verificamos que el servicio se encuentre en ejecución
service velociraptor_client status

Verificamos el registro en la consola de Velociraptor

Hola Daniel, si no estoy mal creo que dijste que tenias algun video sobre esta instalacion, si por favor lo puedes compartir gracias !
Hola Esteban, el video está disponible en uno de los capítulos del programa de mentoría, en un par de semanas llegarán a ese contenido.
[…] la entrada anterior hablamos del proceso de instalación de velociraptor en sistemas windows y linux, en esta entrada veremos como crear un archivo .msi para realizar un despliegue más […]
[…] la entrada anterior hablamos del proceso de instalación de velociraptor en sistemas windows y linux, en esta entrada veremos como crear un archivo .msi para realizar un despliegue más […]