🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónReconstruir una sesión con el JSON de auditoría
5 tareas · 45 min · Principiante
Casi todo lo que se hace en una cuenta de AWS se hace con credenciales temporales: un rol asumido, una sesión con nombre, una llave que caduca. Por eso reconstruir lo que pasó es, casi siempre, reconstruir una sesión: de dónde salió, qué hizo, en qué regiones y desde cuántos sitios. En el registro de la cuenta de Curtiembre Arrayán hay trabajo normal mezclado con una sesión que el inventario no reconoce. Tienes los eventos de dos regiones, un evento por línea, y el inventario de identidades. Aquí sigues la sesión de principio a fin con un solo hilo, la llave temporal, sin depender de que alguien te diga dónde mirar.
Objetivo de la sala
Casi todo lo que se hace en una cuenta de AWS se hace con credenciales temporales: un rol asumido, una sesión con nombre, una llave que caduca. Por eso reconstruir lo que pasó es, casi siempre, reconstruir una sesión: de dónde salió, qué hizo, en qué regiones y desde cuántos sitios. En el registro de la cuenta de Curtiembre Arrayán hay trabajo normal mezclado con una sesión que el inventario no reconoce. Tienes los eventos de dos regiones, un evento por línea, y el inventario de identidades. Aquí sigues la sesión de principio a fin con un solo hilo, la llave temporal, sin depender de que alguien te diga dónde mirar.Cuando una identidad asume un rol, CloudTrail anota la llamada AssumeRole. En esa llamada el campo userIdentity dice quién pidió la sesión, requestParameters dice qué rol y qué nombre de sesión se pidieron, y responseElements entrega las credenciales temporales: un accessKeyId nuevo, que empieza por ASIA, y su caducidad.
Desde ese momento todo lo que haga la sesión lleva ese accessKeyId dentro de su propio userIdentity, y su sessionContext apunta al rol. Esa llave es el hilo. Se busca en todas las regiones, porque la sesión puede llamar donde quiera, y en todos los servicios. Nombre de sesión y rol sirven de apoyo, pero la llave es el identificador exacto.
Responde para continuar
Quieres reunir todo lo que hizo una sesión de rol asumido. ¿Cuál es el procedimiento más fiable?
Ver pista de ayuda
Una dirección puede cambiar y un rol lo usan muchas sesiones. ¿Qué identifica a una sola sesión?
El primer paso de la reconstrucción es sacar el hilo. Busca en los eventos la llamada AssumeRole que hace el inventario dudar: la que la identidad de servicio hizo desde una dirección que no es la de su servidor. Su respuesta trae las credenciales con el accessKeyId de la sesión, que es el dato con el que seguirás el resto.
Una buena práctica: anota la llave, la hora de la llamada y el nombre de sesión en la misma línea del informe, porque son los tres datos que se piden al equipo de identidad para revocarla.
Responde para continuar
Escribe el accessKeyId temporal que entregó la llamada AssumeRole en responseElements.
Ver pista de ayuda
Con la terminal, `grep AssumeRole cloudtrail-us-east-1.jsonl`. La llave está dentro de responseElements, en credentials.
Con la llave en la mano se busca en las dos regiones del extracto. Cada línea que la lleva en su propio userIdentity es una llamada hecha con esa sesión. Ojo con un detalle: la línea de la propia llamada AssumeRole también contiene la llave, pero dentro de la respuesta, porque ahí nace; esa llamada no la hizo la sesión, la hizo quien la pidió.
El conteo importa porque dimensiona la sesión: no es lo mismo una llamada suelta que una docena repartida en varias regiones. Cuenta solo las llamadas hechas con la llave, en las dos regiones, sin la que la creó.
Responde para continuar
¿Cuántos eventos de las dos regiones se hicieron con la llave temporal, sin contar la llamada AssumeRole que la creó? Escribe solo el número.
Ver pista de ayuda
Con la terminal, `grep ASIAV5K2MQRLTEXAMPLE cloudtrail-us-east-1.jsonl` y lo mismo con la otra región; descuenta la línea de AssumeRole.
Una sesión legítima suele llamar desde un solo lugar, el de quien la pidió. Si la misma llave temporal aparece usada desde dos direcciones distintas, hay dos posibilidades: la credencial se compartió o se copió, o alguien la reenvía a través de otro equipo. En cualquiera de los dos casos, el hecho que importa es que la dirección que la pidió no es la única que la usa.
Compara la dirección de la llamada AssumeRole con las direcciones de las llamadas que siguieron. Una de ellas, en la segunda mitad de la sesión, es distinta.
Responde para continuar
¿Qué dirección distinta a la de la llamada AssumeRole aparece usando la misma llave temporal?
Ver pista de ayuda
Con la terminal, `grep ASIAV5K2MQRLTEXAMPLE cloudtrail-us-east-1.jsonl` y mira sourceIPAddress de cada línea.
Una sesión no aparece de la nada: la pidió una identidad concreta, y esa identidad está en el userIdentity de la llamada AssumeRole. Esa es la pieza que conecta el registro con el inventario: si la identidad que pidió el rol tiene dueño y un lugar habitual de trabajo, se puede decir con precisión qué no encaja, y a quién preguntar.
Cruza la identidad de la llamada AssumeRole con el inventario de identidades de Arrayán. Después de esto el informe puede decir quién pidió la sesión, desde dónde la usó y qué hizo, con la hora de cada paso.
Responde para continuar
¿Qué identidad de IAM (userName) hizo la llamada AssumeRole? Escribe su nombre.
Ver pista de ayuda
Con la terminal, `grep AssumeRole cloudtrail-us-east-1.jsonl`. El nombre está en userIdentity, al inicio de la línea.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.