Respuesta a un incidente
Ortofrutta Rossi, esta noche: alguien ha entrado en el servidor de gestión. No basta entender qué ha pasado, hace falta una intervención en cuatro tiempos. Detecta el ataque en los registros, identifica quién entró de verdad y con qué cuenta, encuentra lo que el intruso dejó para volver y documenta todo en el informe correcto.
Laboratorio 6 de 6 de la ruta Blue Team / Defensa. Si te atascas tienes 3 pistas, de la más vaga a la más precisa: cuestan 0, 60 y 150 XP.
Qué aprendes
Los objetivos se completan solos mientras trabajas en el terminal; cada uno vale puntos de experiencia:
- DETECTAR: localizar los intentos fallidos en el registro (grep Failed) (150 XP)
- CONTENER: encontrar el acceso correcto desde fuera (200 XP)
- LIMPIAR: listar los programas SUID (find -perm -4000) (200 XP)
- DOCUMENTAR: decodificar el informe con los tres datos correctos (150 XP)
Temas: defense, incident-response, log, suid.
Los comandos que usarás
El terminal es simulado y entiende unos cuarenta comandos de Linux. En este laboratorio te servirán sobre todo estos:
cat: muestra el contenido de un archivo: la forma más directa de leer configuraciones, notas y registros.grep: busca las líneas que contienen una palabra, incluso en carpetas enteras con -r. Es la herramienta principal para analizar texto y registros.cut: extrae una columna de cada línea eligiendo el separador, para aislar un campo concreto de un registro.sort: ordena las líneas, también en orden numérico (-n) o al revés (-r).uniq: quita las líneas repetidas seguidas y con -c las cuenta: junto con sort crea clasificaciones, como la de las direcciones más insistentes.head: muestra solo las primeras líneas de un archivo, útil para entender el formato de un registro sin leerlo entero.tail: muestra las últimas líneas de un archivo, es decir, los eventos más recientes de un registro.find: busca archivos por nombre, tipo o permisos en todo un árbol de carpetas; en una auditoría encuentra claves, copias olvidadas y programas con permisos peligrosos.ls: lista los archivos de una carpeta; con -l muestra permisos y propietarios, con -a también los archivos ocultos. Es el primer comando en cualquier máquina.base64: codifica y decodifica Base64, el formato que convierte bytes en texto. No protege nada: se deshace sin clave.|: la barra vertical | encadena comandos: la salida del primero se convierte en la entrada del siguiente, y así pequeñas herramientas forman un análisis completo.
El entorno simulado
Trabajas en una shell de Linux simulada, en la carpeta personal del usuario runner: archivos y carpetas inventados, ningún objetivo en red.
Además de la carpeta personal hay un sistema simulado completo, con archivos de configuración, registros, usuarios y permisos que examinar.
La lección de defensa
Con el laboratorio resuelto, el informe explica qué falló y cómo protegerse:
Un incidente se gestiona en cuatro tiempos: detectar (los registros muestran el ataque), contener (quién entró de verdad, con qué cuenta: no siempre es quien más insiste), limpiar (programas SUID de más, tareas programadas, claves y cuentas nuevas: lo que permite al intruso volver) y documentar (qué pasó, qué se tocó, qué se hizo). Las causas de fondo son dos: una contraseña débil en una cuenta de servicio y un sudo demasiado amplio. Defensa: claves en lugar de contraseñas, privilegios mínimos para las cuentas de servicio, segmentación de la red (el backup no debe llegar a todas partes), revisiones periódicas de SUID y cron, registros enviados a un servidor aparte.
Antes y después de este laboratorio
Para abrirlo debes haber resuelto:
- Cronología de un incidente (Blue Team / Defensa, medio)
- Cerrar los puertos innecesarios (Blue Team / Defensa, medio)
- Ejecutables con el bit SUID (Privilege Escalation, medio)
Es uno de los laboratorios finales: ningún otro laboratorio lo requiere.
La ruta Blue Team / Defensa
Blue Team / Defensa es la ruta de quien protege. Lees los registros de acceso, cuentas los intentos fallidos para descubrir quién está forzando un inicio de sesión, reconstruyes la cronología de un incidente, comparas una configuración SSH con la recomendada, cierras los servicios inútiles y gestionas una respuesta a incidentes en cuatro tiempos: detectar, contener, limpiar, documentar. Los comandos son los mismos de las otras rutas, pero usados con los ojos de quien debe entender qué pasó e impedir que vuelva a pasar.