Skip to content

Esta herramienta no está afiliada a Amazon Web Services, Inc. ni a Amazon.com, Inc., ni cuenta con su respaldo o patrocinio. AWS, Amazon Web Services, CloudTrail y GuardDuty son marcas comerciales de Amazon.com, Inc. o de sus filiales. Los demás nombres son marcas comerciales de sus respectivos propietarios.

CloudTrail · VPC Flow Logs · S3 · GuardDuty · IAM

¿Se ha comprometido nuestra cuenta de AWS?

Suelta tus registros de CloudTrail (y también VPC Flow Logs, registros de acceso de S3, hallazgos de GuardDuty o el informe de credenciales de IAM) y obtén un veredicto, los hallazgos, una cronología del incidente y una lista de remediación. Todo se analiza en tu navegador con WebAssembly: no se sube nada.

Suelta aquí tus exportaciones de registros de AWS

Archivos .json.gz de CloudTrail o una carpeta AWSLogs/ completa, historial de eventos (JSON o CSV), CSV de CloudTrail Lake, VPC Flow Logs, registros de acceso al servidor de S3, hallazgos de GuardDuty en JSON, el informe de credenciales de IAM: sueltos, en carpetas o en un ZIP. Las exportaciones de varios GB se procesan en streaming.

Una exportación sintética de un incidente ficticio (clave de acceso filtrada → administrador de puerta trasera → GuardDuty desactivado → robo de datos de S3 → criptominería). Sin datos reales.

¿Aún no tienes registros? Cómo obtenerlos

100 % en el cliente: WebAssembly analiza los registros en tu navegador y nunca se suben.

Cómo obtener tus registros

Unos dos minutos con la AWS CLI. Recopila todo lo que puedas, lo antes posible: los atacantes eliminan trails y el historial de eventos solo conserva 90 días. Mantén los archivos tal cual (los .json.gz comprimidos sirven).

  1. 1. RecopilarUn solo comando, o una descarga desde la consola
  2. 2. SoltarLa carpeta aws-logs, sus archivos o un ZIP, aquí mismo
  3. 3. Todo en localSe analiza en tu navegador y nunca se sube

Trail de CloudTrail en S3: la mejor fuenteRecomendado

Requisitos: AWS CLI v2 con sesión iniciada y acceso de lectura al bucket de S3 del trail (basta con ReadOnlyAccess; más kms:Decrypt si el bucket usa SSE-KMS).

bash / zsh / CloudShell
B=$(aws cloudtrail describe-trails --query 'trailList[0].S3BucketName' --output text) && aws s3 sync "s3://$B" ./aws-logs/cloudtrail --exclude '*' --include "*/CloudTrail/*/$(date -u +%Y/%m)/*"

PowerShell
$b = aws cloudtrail describe-trails --query "trailList[0].S3BucketName" --output text; aws s3 sync "s3://$b" .\aws-logs\cloudtrail --exclude "*" --include "*/CloudTrail/*/$(Get-Date -UFormat '%Y/%m')/*"

Descarga los registros del mes actual del primer trail en aws-logs/cloudtrail: todas las regiones y todas las cuentas de un trail de organización. Para un mes anterior, sustituye la parte de la fecha, por ejemplo por 2026/08. ¿Varios trails? aws cloudtrail describe-trails muestra sus buckets.

¿Sin trail? Descarga el historial de eventos

Requisitos: Acceso a la consola con permiso para ver el historial de eventos de CloudTrail.

  1. Consola de CloudTrail → Event history (Historial de eventos).
  2. Quita el filtro «Read-only: false» para incluir los eventos de lectura (el reconocimiento del atacante) y elige el intervalo de tiempo.
  3. Download events → Download as JSON (CSV también funciona).
  4. Repite en cada región que uses: el historial es por región.

¿Sin la CLI instalada? Ejecuta los comandos en AWS CloudShell (barra de herramientas de la consola), comprime la carpeta y luego Actions → Download file:

bash / zsh / CloudShell
zip -r aws-logs.zip aws-logs

Trampas

  • El historial de eventos solo conserva 90 días de eventos de administración, por región y sin eventos de datos de S3: el bucket de un trail siempre es mejor.
  • Recopila antes de contener: los atacantes detienen los trails y desactivan GuardDuty, y el filtro predeterminado «Read-only: false» de la consola oculta su reconocimiento.
  • Incluye algunos días tranquilos antes del incidente: «nueva IP» y «nueva región» se comparan con el primer día de los registros. Las marcas de tiempo de AWS están en UTC.

¿Cómo saber si una cuenta de AWS se ha visto comprometida?

Casi todos los compromisos de AWS dejan rastro en CloudTrail: la llamada a la API que confirmó que una clave robada funciona, la ráfaga de llamadas List y Describe que mapea la cuenta, el usuario de IAM creado como puerta trasera, el detector de GuardDuty eliminado, las instancias GPU lanzadas en una región que nadie usa. Lo difícil es encontrar esos pocos eventos entre millones.

Esta herramienta lee tus exportaciones en el navegador, ejecuta un conjunto de detecciones escritas como reglas revisables (coincidencias de campos, umbrales, técnicas de MITRE ATT&CK) y emite un veredicto (Limpio, Sospechoso o Comprometido) con las filas de evidencia que respaldan cada hallazgo, una cronología del incidente, un pivote sobre cada principal, clave, IP y recurso, y una lista de remediación.

Qué detecta

  • Acceso inicial: claves de acceso de larga duración usadas de repente desde una IP nueva, uso de la cuenta raíz, inicios de sesión en la consola sin MFA, ráfagas de inicios de sesión fallidos.
  • Reconocimiento: GetCallerIdentity con una clave de larga duración, ráfagas de enumeración (decenas de llamadas List/Describe/Get distintas en minutos), avalanchas de AccessDenied, agentes de usuario de Kali / Pacu / CloudFox.
  • Persistencia y escalada de privilegios: CreateUser, claves de acceso creadas para otro usuario, políticas AdministratorAccess o *:*, contraseñas de consola, cambios en la confianza de roles, nuevos proveedores SAML / OIDC, funciones Lambda públicas, datos de usuario y pares de claves de EC2.
  • Evasión de defensas: CloudTrail detenido o eliminado, GuardDuty, Config o Security Hub desactivados, registro de acceso de S3 y VPC Flow Logs eliminados, grupos de seguridad abiertos a internet.
  • Robo de datos: buckets hechos públicos, instantáneas compartidas con otras cuentas, descargas masivas de S3 (eventos de datos de CloudTrail o registros de acceso de S3), grandes transferencias salientes en VPC Flow Logs, lectura masiva de secretos.
  • Impacto y abuso de costes: instancias GPU lanzadas, solicitudes de aumento de cuota, actividad en regiones no utilizadas antes, conexiones a pools de minería, eliminaciones masivas, claves de KMS programadas para eliminación.

Limitaciones

  • Las detecciones señalan, no demuestran: cada hallazgo muestra sus evidencias para que puedas confirmarlo. La administración legítima puede parecer un ataque, y un atacante cuidadoso puede mantenerse por debajo de los umbrales.
  • Sin eventos de datos de S3 ni registros de acceso de S3, la lectura de datos de los buckets es invisible; sin VPC Flow Logs, también lo es la exfiltración por red.
  • Las detecciones de «IP nueva» y «región nueva» comparan con el primer día de los registros aportados: incluye algunos días tranquilos anteriores al incidente.
  • Sin geolocalización de IP ni consulta de ASN (requeriría una base de datos o un servicio en línea): todavía no se detectan países nuevos.
  • Los registros de ALB, CloudFront y Parquet se reconocen, pero aún no se analizan.

Preguntas frecuentes

¿Se suben mis registros a algún sitio?

No. El analizador está escrito en Rust compilado a WebAssembly y se ejecuta en un Web Worker en tu navegador. Los archivos se leen en streaming desde tu disco y se descomprimen localmente; no existe ningún endpoint de subida.

¿Cómo investigo una clave de acceso de AWS filtrada?

Primero desactiva la clave y después suelta los registros de CloudTrail que cubren toda su vida útil. Pivota sobre la clave en la pestaña Entidades: la herramienta marca el primer uso desde una IP nueva, las llamadas realizadas desde ella (reconocimiento, cambios en IAM, acceso a datos) y todo lo que la clave creó (usuarios, claves, instancias), para que puedas limpiarlo todo y no solo la clave.

¿Puede procesar una exportación de CloudTrail de varios gigabytes?

Sí. Los archivos se leen por bloques y el gzip se descomprime en streaming, de modo que el uso de memoria se mantiene acotado. Todos los registros pasan por las detecciones; en entradas muy voluminosas, el explorador de eventos conserva los eventos relevantes y todas las evidencias.

¿Qué reglas utiliza?

Unas cincuenta detecciones escritas como datos (coincidencias de campos, umbrales de ventana deslizante, agregaciones) con identificadores de técnicas de MITRE ATT&CK, en la línea de las reglas Sigma. Pueden revisarse en el archivo de reglas de código abierto y cubren las vías de ataque habituales en AWS: claves filtradas, persistencia en IAM, evasión de defensas, robo de datos y criptominería.

El veredicto dice «comprometido»: ¿y ahora qué?

Primero, contén: desactiva las claves filtradas, elimina los usuarios y claves de puerta trasera y detén las instancias del atacante; la lista de remediación los enumera a partir de los hallazgos. Conserva los registros antes de cambiar nada más y después determina el alcance del incidente. La guía AWS Security Incident Response Guide describe el proceso completo.

¿Es un producto de Amazon?

No. Es una herramienta independiente, no afiliada a Amazon Web Services ni respaldada o patrocinada por esta.

Qué hacer a continuación

Usa la lista de remediación que la herramienta genera a partir de los hallazgos (primero la contención), guarda una copia de los registros originales y sigue después la documentación oficial de AWS sobre respuesta a incidentes:

Lo que CloudTrail, VPC Flow Logs y los registros de acceso de S3 no guardan, dónde fallan las líneas base y cómo redactar conclusiones honestas sin evidencias.
Incidente ficticio en AWS investigado con sus registros: clave filtrada, reconocimiento, administrador oculto, GuardDuty borrado, 320 objetos de S3 y minería.
Cómo leer VPC Flow Logs en una investigación: campos clave, volumen saliente por destino, puertos de pools de minería, lo que nunca registran y sus trampas.

Esta herramienta no está afiliada a Amazon Web Services, Inc. ni a Amazon.com, Inc., ni cuenta con su respaldo o patrocinio. AWS, Amazon Web Services, CloudTrail y GuardDuty son marcas comerciales de Amazon.com, Inc. o de sus filiales. Los demás nombres son marcas comerciales de sus respectivos propietarios.