IRIS como herramienta Open Source para la respuesta de incidentes en ciberseguridad
Published: 2023-02-14 02:41:21

**IRIS** es una herramienta de código abierto para la respuesta de incidentes. La respuesta de incidentes consta de una serie de pasos y conceptos que llevan al manejo o, como bien dice el nombre a la gestión, de los incidentes ocurridos dentro de una empresa en el ambito de la ciberseguridad, como una mala configuración o una fuga de datos. La respuesta de incidentes consta de pasos tales como:

• Preparación
• Detección y análisis
• Contención, erradicación y recuperación
• Actividades post-incidente

Cada proceso va de la mano con el equipo de respuesta de incidentes o CSIRT y las herramientas, en este caso IRIS.

Para el lector de este blog:
El objetivo de este blog es dar a comprender el paso a paso de la instalación de la herramienta de IRIS. De igual forma demostrar que las herramientas open source son de gran utilidad a la hora de realizar pruebas o laboratorios.

#Recursos
Los recursos para este experimento fueron desplegados en la nube de Azure.
• 1 máquina que actúa como atacante con la herramienta de Infection Monkey con el puerto 5000 habilitado. (Opcional, en proximos articulos estare usando esta u otra herramienta tipo "Breach and Security Simulation" para emulación de adversarios)

• 1 máquina que actúa como vı́ctima con algunas malas configuraciones como credenciales cortas para el login por SSH para el usuario por defecto.

• 1 máquina con IRIS para analizar cualquier elemento dado.
Se utilizó Docker y Docker Compose para el despliegue de IRIS habilitándose el puerto 4433 a tráves de la interfaz de Azure.

#Metodologı́a 
El laboratorio inicia con la creación de las 3 máquinas, para efectos de este blog, solo se presentara la instalacion de IRIS.
La instalación de la herramienta para emulación de adversarios queda a la disposición y
preferencia del lector a la hora de realizar su propio laboratorio.

#Instalación
Actualizando e instalando las actualizaciones de los repositorios
```
sudo apt update -y && sudo apt upgrade -y
```
Instalamos docker

```
sudo apt install docker.io
```
curl para traer docker compose

```
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
Comprobamos la instalación de docker compose
```
docker-compose --version
```


#Instalando IRIS
Los comandos de instalación de IRIS en Docker, están detallados en el repositorio de ellos mismos. Al copiar y pegar se estan colocando todos los comandos y la shell los
ejecuta uno por uno, saltando los comentarios que se sabe que el interprete de shell los toma con el signo de numeral.

Clonamos el repositorio a nuestra ubicación actual

```
git clone https://github.com/dfir-iris/iris-web.git
```
Nos movemos al directorio de iris-web, el cual fue traido desde Github
```
cd iris-web
```
 Nos movemos la versión 1.4.5
```
git checkout v1.4.5
```
Copiamos el contenido del archivo ".env.model" al ".env"

```
cp .env.model .env
```
Antes de ingresar el docker compose build, nos aseguramos de que exista un fichero YAML, para que docker crea las imágenes a partir de dicho documento en donde se detallan los servicios.
```
docker-compose build 
```
Desplegamos los contenedores.
```
docker-compose up -d
```


Por defecto las credenciales son administrator y la contraseña se encuentra ejecutando el comando docker logs containerID –follow


Enlistamos los contenedores esten activos y en buen estado
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/chh63h6uz57aeoxpbq6u.png)

Verificamos a nivel de host que puertos se estan utilizando.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rpo11pqtl4bt2nuufub1.png)
netstat es una utilidad para verificar que puertos se estan utilizando de manera local , el que nos interesa el el primero , cuyo puerto es el 4433 y muestra **LISTEN** 

**Accediendo a IRIS**
Acceso al login de IRIS por medio de un navegador web


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/87l5eegnkagfhuao68ct.png)
Un error 400 se refiere que hubo un error en la petición por parte del cliente, en caso tal de que aparezca este mensaje la solución es colocar https antes de la dirección ip y el
puerto.
Luego de eso nos aparece por pantalla el mensaje de advertencia de certificado es inválido, le damos ”Advanced” y deberiamos poder acceder.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hgvv4ygbtv8jy081ds8r.png)

**Pantalla de login de IRIS**
Las credenciales se obtienen a traves de los logs del contenedor con el siguiente comando:

```
docker logs <containerID> --follow
```
Obteniendo el resultado 
Cabe destacar que en el archivo .env se pueden gestionar temas como la contraseña.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u35astsjy2puusr5ax86.png)
Pantalla de Login de IRIS
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/szfweqf3b0638w2zkjdg.png)
Asi se ve el dashboard de IRIS con todas sus funcionalidades

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5fa7psi9b7m172b9xw6a.png)


#Conclusión
Hoy en dia tenemos a disposicion diferentes soluciones tecnologicas para atender nuestras necesidades, ya sea como usuario o como una pequeña o mediana empresa, el papel de la ciberseguridad es transversal y debe ser tomado en cuenta desde la concepcion del proyecto hasta la conclusión. Tenemos a IRIS, una herramienta open source mantenida por una comunidad con el fin de brindar una solucion robusta y compacta con otras ya existentes.


#Recomendaciones
Tengo pensado profundizar el uso de infection monkey o alguna otra herramienta de emulación de adversarios con el fin de montar un escenario mas realista.

#Referencias
Página oficial de la herramienta:https://dfir-iris.org/
Repositorio de Github: https://github.com/dfir-iris