En este artículo presento AuthLog Auto Reporter, una herramienta en Python pensada para ayudar a un Blue Team o a un analista SOC a revisar de forma rápida los registros de autenticación de sistemas Linux.
La idea es evitar tener que usar siempre comandos manuales (como grep, awk, zgrep, etc.) y disponer de un informe repetible, con secciones claras, que se pueda adjuntar a un ticket o compartir con el equipo.
🎯 Objetivo del proyecto
En muchos ejercicios de laboratorio y en máquinas de práctica me encontraba siempre con el mismo problema:
- Tardaba tiempo en localizar de un vistazo los intentos fallidos de login.
- No tenía un resumen claro de IPs más activas, usuarios más atacados o comandos
sudoejecutados. - Cuando quería documentar lo que había encontrado, tenía que copiar y pegar a mano salidas de comandos.
El objetivo de este proyecto fue crear un flujo semi-automatizado que:
- Lea el fichero
auth.log(o sus rotaciones). - Extraiga la información más interesante para un analista SOC.
- Genere un informe en Markdown listo para pegar en un ticket (Jira, GitHub, Redmine, etc.).
📊 Qué información extrae
El script está pensado para generar, como mínimo, estas secciones:
-
Top IPs con intentos de login fallidos
Direcciones IP con más eventosFailed passwordo similares. -
Usuarios más atacados
Cuentas que han recibido más intentos de autenticación fallidos. -
Logins aceptados
Conexiones exitosas (por ejemploAccepted password,publickey, etc.), útiles para comprobar accesos legítimos. -
Uso de sudo / escaladas
Comandos ejecutados consudo, quién los ha lanzado y desde qué terminal/host. -
Eventos sospechosos adicionales
- Intentos desde IPs externas inusuales.
- Accesos fuera de horario.
- Usuarios de sistema que no deberían iniciar sesión.
Cada sección se genera en formato Markdown para que sea fácil de leer y de pegar en un ticket.
⚙️ Flujo de trabajo
El flujo típico sería:
- Copiar el fichero
auth.log(oauth.log.1, archivos rotados, etc.) a una carpeta de trabajo. - Ejecutar el script de Python indicando la ruta del log de entrada y la ruta del informe de salida.
- Revisar el informe generado, añadir comentarios manuales si hace falta y adjuntarlo al ticket del SOC.
🧪 Ejemplo de uso
Un ejemplo de ejecución podría ser:
python3 authlog_auto_reporter.py \
--log /var/log/auth.log \
--output informes/2025-02-06-authlog-auto.md