Velociraptor. Parte 3: Funciones principales

por Alberto Jódar
0 comentario 13 minutos lectura
Artículos de la serie
Velociraptor
  1. Velociraptor. Parte 1: Servidor
  2. Velociraptor. Parte 2: Clientes
  3. Velociraptor. Parte 3: Funciones principales

En las entradas previas usamos Velociraptor y creamos un servidor y unimos los clientes por varios métodos. Ya aprovechamos el laboratorio que hemos estado montando en esta serie. Así que en este momento tenemos:

En esta entrada vamos a comenzar a ver funcionalidades de Velociraptor y como podemos gestionar desde el servidor los clientes conectados.

Inspeccionando clientes en Velociraptor

Ya vimos en la entrada anterior que podemos ver el listado de clientes conectados si usamos el buscador de la barra superior. Si dejamos el texto en blanco y usamos la lupa para buscar, veremos el listado completo de todos los clientes.

Para ir a la vista de cliente solo debemos pulsar sobre Client ID.

Filtros

Podemos usar varios filtros muy útiles cuando tenemos un listado grande de clientes. Para ello tenemos que usar palabras clave en el cuadro de búsqueda. Estas son:

  • all: Muestra todos los clientes
  • label: Busca todos los clientes que tengan una label concreta
  • host: Busca por hostname. Importante: podemos usar wildcards
  • ip: Busca en base a la IP de la máquina
  • mac: Busca en base a la MAC de la máquina
  • recent: Muestra un listado de clientes con los que hemos interactuado recientemente
Uso de wildcard para buscar todas las máquinas cuyo hostname termine en «01»

A la derecha de la lupa del cuadro de búsqueda tenemos un desplegable que nos ayuda con una serie de búsquedas pre configuradas:

Poner un host en cuarentena

En un incidente de seguridad podemos querer aislar un equipo de forma temporal (o definitiva). Velociraptor nos provee esta capacidad, reconfigurando la pila de red de una máquina para que solo tenga conexión con el servidor y nada más. Esto se hace desde la vista del endpoint. Solo debemos pulsar el botón “Quarantine host

Una vez aplicado vemos que se la añade la label «Quarantine«:

Y ya dejamos a la máquina sin conectividad de red. Solo permite salir el tráfico hacia el puerto 8000 del servidor de Velociraptor, que es lo que se usa para poder administrar la máquina. Nada más. Si hacemos un ping, como vemos en la imagen de abajo, ni siquiera llegamos a la máquina servidor.

VQL Drilldown

En la sección VQL Drilldown vamos a tener una información básica de la máquina. Esto se fundamenta en queries VQL, pero no es momento que abramos ese melón. Vamos a quedarnos solo con que en esta vista se ejecutan una serie de queries que devuelven los datos en formato tabla.

Esto es personalizable. Pero lo abordaremos cuando comprendamos VQL.

Ejecución remota de comandos

Velociraptor nos permite ejecutar comandos en las máquinas controladas y obtener el resultado de forma remota. En la vista del cliente disponemos de la sección «Shell«

Simplemente elegimos el intérprete y lanzamos el comando:

Una vez se ejecuta el comando nos indica el timestamp de cuando ese comando se ha ejecutado. Para ver el resultado pulsamos sobre el botón con forma de ojo que dice «Load output«.

Importante: Esta no es la manera principal de recolectar datos de los clientes. Para eso tenemos los artefactos que veremos más adelante. Pero con esta capacidad nos permite extracciones puntuales o ejecuciones para ejecutar acciones que no podamos realizar de otra forma.

Importante 2: Solo se va a permitir ejecutar comandos a usuarios con el rol «administrator«. Aún no hemos entrado en como se organizan los usuarios en Velociraptor, pero merece la pena tenerlo en cuenta.

Sistema de ficheros (VFS)

Podemos acceder al sistema de ficheros de la máquina a través de la sección «VFS«.

En el panel izquierdo vamos a tener el acceso en modo jerárquico a los ficheros del sistema de ficheros de la máquina controlada. Como estamos en una máquina Windows, el sistema de ficheros es NTFS. Podemos acceder también al registro (registry) o a los discos individualmente (auto).

Si seleccionamos «ntfs» no nos muestra nada. Los datos no están cargados. Tenemos que hacer una petición de refresco para traernos estos datos de la máquina. Para ello:

Por orden:

  • Cargamos/indexamos el contenido de este directorio, pero sin entrar en las caretas que tiene dentro
  • Cargamos/indexamos el contenido de este directorio y de todos los directorios que están por debajo de forma recursiva
  • Descargamos el contenido de este directorio completo

Con la barra superior podemos aplicar filtros. Podemos seleccionar un archivo y descargarlo.

Como descargar un pack de ficheros así es un poco meh… podemos seleccionar «Prepare Download» para elegir un criterio y descargar todos los ficheros que lo cumplan en un zip.

Una vez descargamos un archivo, podemos ver algunos detalles antes de abrirlo en nuestra máquina. Velociraptor nos ofrece un resumen de datos y una previsualización:

Podemos usar regex dentro del fichero o usar una búsqueda por strings:

Aunque esta no es la mejor forma de buscar ficheros e investigarlos. Para ello Velociraptor dispone de lo que denomina «Artifacts«. Cuestión que veremos con mucha más profundidad en el próximo artículo.

Conclusiones

Ya tenemos un resumen de algunas funcionalidades de Velociraptor en la gestión de máquinas conectadas. Esto nos permite buscar cuestiones concretas, descargar ficheros, aislar la máquina… pero aquí no está la potencia de Velociraptor. Esto lo vamos a ver en más profundidad en el siguiente capítulo, entrando en los artefactos y las capacidades de hunting.

Hasta la próxima.

Artículos relacionados

Deja un comentario

* Al utilizar este formulario usted acepta el almacenamiento y tratamiento de sus datos por parte de este sitio web.

Este sitio web utiliza cookies para mejorar su experiencia Aceptar Leer más