Writeup: cómo leer tu primer log y cazar una fuerza bruta
Cómo leer un auth.log y detectar una fuerza bruta por SSH, el primer reflejo de un analista de un SOC. El método completo, sin darte las respuestas.
Cómo leer un
auth.logy cazar una fuerza bruta por SSH, el primer reflejo de cualquier analista de un SOC. Aquí va el método completo. Las respuestas las capturas tú, en el lab gratis del final.
Qué es un auth.log y por qué te importa
Cuando alguien intenta entrar a un servidor Linux por SSH, el sistema lo apunta en un archivo de registro: el auth.log. Cada intento, acertado o fallido, deja una línea. Aprender a leer ese archivo es, literalmente, lo primero que hace un analista en su primer día. No hace falta ninguna herramienta cara: con el Bloc de notas y un poco de grep te sobra.
Anatomía de una línea
Una línea de acceso por SSH se lee así:
Jul 3 08:15:02 web-prod-1 sshd[1140]: Accepted password for ana from 10.0.2.14 port 55020 ssh2
fecha/hora host resultado usuario IP de origen
Dos palabras te dicen casi todo:
- Accepted: el login funcionó.
- Failed: el login falló.
Con eso ya puedes separar el ruido de lo que importa.
El patrón de una fuerza bruta
Un atacante que adivina contraseñas no es sutil: prueba una y otra vez. En el log eso se ve como muchas líneas Failed password seguidas, casi siempre contra la misma cuenta y desde la misma dirección IP. Es un rastro clarísimo cuando sabes qué buscar.
Para aislar solo los intentos fallidos:
grep "Failed password" auth.log
Fíjate en dos cosas mientras lees el resultado:
- La IP que se repite al final de las líneas. Las conexiones internas normales vienen de un rango conocido (por ejemplo
10.0.2.x). La que insiste desde fuera, machacando, es la sospechosa. - La cuenta que va después de
for. El atacante no prueba al azar: elige una cuenta con privilegios y se centra en ella.
El momento en que entró
Después de decenas de fallos, si la contraseña cae, aparece una línea distinta: un Accepted password para esa misma cuenta y desde esa misma IP. Ese es el instante de la brecha.
grep "Accepted password" auth.log
La clave del análisis es correlacionar: no te quedes con cualquier Accepted, busca el que coincide en cuenta y en IP con la fuerza bruta que ya identificaste. Las demás conexiones aceptadas son tráfico interno legítimo y te despistan si no las descartas.
Las tres preguntas del incidente
Cuando termines, tendrás que responder lo mismo que se responde en un parte real:
- Quién: la IP del atacante.
- A quién: la cuenta que intentaba comprometer.
- Cuándo: la hora exacta en que lo consiguió.
No te doy los valores a propósito. La gracia está en sacarlos tú: es la diferencia entre haber leído un walkthrough y saber hacerlo cuando lo pregunten en una entrevista.
Por qué esto es exactamente tu trabajo
Esa correlación que acabas de hacer a mano ("N fallos y luego un éxito desde la misma IP contra la misma cuenta") es una de las primeras reglas que se montan en un SIEM. Automatizarla es media carrera de un analista de detección. Empezaste por el sitio correcto.
Ahora hazlo tú
El log completo y las tres flags te esperan en el lab, gratis y sin instalar nada:
Primeros pasos #1: tu primer log
Es el primero de la ruta de iniciación en Blue Team. Cuando la completes entera, te llevas la credencial Blue Team Operator I para tu LinkedIn.