Análisis de Registros de Auditoría de Kubernetes
Cuándo Usarlo
- Al investigar incidentes de seguridad que requieran analizar registros de auditoría de Kubernetes
- Al construir reglas de detección o consultas de búsqueda de amenazas para este dominio
- Cuando los analistas de SOC necesiten procedimientos estructurados para este tipo de análisis
- Al validar la cobertura de monitoreo de seguridad para técnicas de ataque relacionadas
Prerrequisitos
- Familiaridad con conceptos y herramientas de seguridad de contenedores
- Acceso a un entorno de prueba o laboratorio para ejecución segura
- Python 3.8+ con las dependencias requeridas instaladas
- Autorización apropiada para cualquier actividad de prueba
Instrucciones
Analiza archivos de registro de auditoría de Kubernetes (formato JSON lines) para detectar eventos relevantes para la seguridad, incluyendo accesos no autorizados, escalada de privilegios y exfiltración de datos.
import json
with open("/var/log/kubernetes/audit.log") as f:
for line in f:
event = json.loads(line)
verb = event.get("verb")
resource = event.get("objectRef", {}).get("resource")
user = event.get("user", {}).get("username")
if verb == "create" and resource == "pods/exec":
print(f"Pod exec por {user}")
Eventos clave a detectar:
- pods/exec y pods/attach (shell dentro de contenedores)
- Acceso a secrets (get/list/watch)
- Creación de clusterrolebindings (escalada RBAC)
- Creación de pods privilegiados
- Acceso anónimo o system:unauthenticated
Ejemplos
# Detectar enumeración de secrets
if verb in ("get", "list") and resource == "secrets":
print(f"Acceso a secreto: {user} -> {event['objectRef'].get('name')}")