BT-01 — Triage de Brute Force


En muchas ocasiones un analista SOC no comienza una investigación desde un SIEM: “Comienza desde un archivo de logs”, ese fue precisamente el escenario planteado en este laboratorio.

A partir de un registro de autenticación de Linux debía determinar qué dirección IP había realizado un ataque de fuerza bruta y cuál había sido la cuenta finalmente comprometida.

Aunque se trata de un reto introductorio, reproduce un flujo de análisis muy similar al que seguiría un analista Blue Team durante un proceso de triage.


El escenario

Al acceder al laboratorio únicamente se obtiene una pequeña respuesta JSON.

No existe una aplicación web, ni un panel de administración.

Simplemente una pista que indica dónde comenzar la investigación.

Respuesta inicial del laboratorio
{
    "data":"/logs/auth.log",
    "scenario":"Investigate the SSH brute-force. Identify the attacker IP and the compromised account.",
    "submit":"POST /submit {attacker_ip, compromised_user}"
}

Desde ese momento queda claro que toda la evidencia se encuentra dentro del archivo auth.log.


Explorando los registros

El primer paso consiste en localizar los accesos SSH exitosos.

Analizando auth.logzsh / user
grep "Accepted password" auth.log

Los registros muestran diferentes autenticaciones realizadas por múltiples usuarios, por lo que todavía no es posible determinar cuál corresponde al incidente.

Era necesario cambiar de estrategia.


Buscando actividad anómala

Los ataques de fuerza bruta suelen dejar una gran cantidad de intentos fallidos.

Por ese motivo decidí contabilizar las direcciones IP presentes en todos los eventos Failed password.

Agrupando intentos fallidoszsh / user
grep "Failed password" auth.log | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort | uniq -c | sort -nr

El resultado permitió identificar rápidamente una dirección IP con un comportamiento completamente diferente al resto, mientras las demás únicamente acumulaban unos pocos intentos, una de ellas concentraba cientos de autenticaciones fallidas.


Correlacionando la evidencia

Una vez identificada la dirección IP sospechosa, el siguiente paso consistió en revisar únicamente los eventos relacionados con ella.

Filtrando la IP sospechosazsh / user
grep "<IP_SOSPECHOSA>" auth.log

La secuencia era clara, primero aparecían numerosos intentos fallidos contra distintos usuarios, finalmente, uno de esos intentos terminaba con una autenticación exitosa.

Con esa correlación fue posible determinar tanto el origen del ataque como la cuenta comprometida.


Un pequeño susto

Cuando todo parecía resuelto, llegó el momento de enviar la respuesta al laboratorio, sin embargo, en lugar de recibir la validación apareció el siguiente mensaje:

Enviando la respuestazsh / user
curl -X POST http://<LAB>/submit ...

curl: (7) Failed to connect...

Durante unos segundos pensé que había perdido todo el progreso, afortunadamente el problema no estaba relacionado con el análisis. La instancia del laboratorio había expirado después de varios minutos de inactividad.

Bastó con reiniciarla, repetir la petición y la validación se realizó correctamente.


Aprendizaje

Aunque BT-01 es un laboratorio introductorio, resume muy bien el flujo básico de trabajo de un analista SOC.

Durante la investigación fue necesario:

  • Analizar registros del sistema.
  • Identificar patrones anómalos.
  • Correlacionar eventos.
  • Validar la evidencia encontrada.
  • Automatizar parte del análisis utilizando herramientas nativas de Linux.

Más allá de resolver el reto, el verdadero aprendizaje consiste en desarrollar una metodología de investigación que pueda aplicarse posteriormente a escenarios reales.


Conclusión

BT-01 fue una excelente introducción a la ruta de Blue Team de Tribu Cibernética, aunque el reto puede resolverse con unas pocas herramientas de Linux, obliga a seguir un proceso ordenado de observación, análisis y correlación de evidencias, exactamente el tipo de habilidades que un analista SOC utiliza durante un proceso de triage.