🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPowerShell deja rastro — el registro de bloques de script
4 tareas · 35 min · Principiante
PowerShell es la herramienta favorita de quien administra Windows, y por la misma razón la de quien entra sin permiso: ya está instalada, es potente y puede trabajar sin escribir nada en disco. La buena noticia para la defensa es que, bien configurado, PowerShell anota lo que ejecuta ya decodificado. Aquí aprendes qué registros encender, dónde leerlos y por qué el Base64 no esconde nada a quien tiene el 4104.
Objetivo de la sala
PowerShell es la herramienta favorita de quien administra Windows, y por la misma razón la de quien entra sin permiso: ya está instalada, es potente y puede trabajar sin escribir nada en disco. La buena noticia para la defensa es que, bien configurado, PowerShell anota lo que ejecuta ya decodificado. Aquí aprendes qué registros encender, dónde leerlos y por qué el Base64 no esconde nada a quien tiene el 4104.PowerShell tiene su propio canal, Microsoft-Windows-PowerShell/Operational, y tres tipos de registro que se activan por directiva. El registro de módulos (evento 4103) anota las órdenes ejecutadas y sus parámetros. El registro de bloques de script (evento 4104) guarda el código que se ejecutó, tal como lo recibió el intérprete. La transcripción escribe a un archivo todo lo que entró y salió de la consola.
Para un SOC el más valioso es el 4104, porque registra el código después de que PowerShell lo haya decodificado y reconstruido. Además, incluso con la directiva apagada, Windows anota por su cuenta como «aviso» los bloques que contienen patrones conocidos de abuso, así que a veces hay rastro aunque nadie lo haya pedido.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Por qué el evento 4104 es el que más le sirve al analista para entender un PowerShell sospechoso?
Ver pista de ayuda
El 4104 no impide nada: registra lo que el intérprete recibió, después de deshacer la codificación.
El argumento -EncodedCommand pasa el código en Base64. Base64 no es cifrado: es una forma de escribir bytes con letras, y cualquiera lo revierte sin clave. Quien lo usa no busca seguridad, busca que una regla que busca palabras concretas en la línea de comandos no las encuentre, y que un humano que mira el 4688 no entienda nada a primera vista.
Por eso un 4688 con -EncodedCommand y un 4104 del mismo minuto, en el mismo equipo, son la misma historia contada dos veces: la primera ilegible y la segunda en claro. El analista correlaciona los dos por equipo y hora; no necesita decodificar a mano, y nunca ejecuta el comando para ver qué hace.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué consigue realmente quien lanza PowerShell con -EncodedCommand?
Ver pista de ayuda
Base64 es una representación, no un candado: se revierte sin clave.
Leer un 4104 no exige ser programador. Hay preguntas sencillas que ordenan la lectura: ¿el bloque descarga algo de una dirección externa? ¿Lo ejecuta en memoria en vez de guardarlo? ¿Intenta desactivar una protección o borrar un registro? ¿Hace todo eso en una sola línea larga, sin saltos, con nombres de variables sin sentido? Cada sí suma; los cuatro juntos son un incidente.
El dato más útil para el resto del turno suele ser la dirección a la que el bloque se conecta: es el indicador que se busca en el resto del parque, el que se bloquea en el perímetro y el que entra en el reporte. El código en sí lo analiza después quien hace respuesta a incidentes, en un entorno aislado.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
En un 4104 sospechoso, ¿qué dato extraes primero para el resto del turno?
Ver pista de ayuda
Lo que te sirve fuera de ese equipo es el indicador: hacia dónde habla el bloque.
En la consola tienes el canal de PowerShell de del-ws-022 de la mañana del 30 de septiembre, la misma en que la hoja de cálculo lanzó un intérprete oculto. El 4104 de ese minuto guarda el bloque ya decodificado. Encuentra la dirección externa desde la que el bloque descarga su segunda parte.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Escribe la dirección IP externa que aparece en el bloque de script registrado por el 4104 sospechoso.
Ver pista de ayuda
Ejecuta `SELECT * FROM powershell WHERE event_id = '4104'` y lee la columna «resumen_del_bloque» de la fila de las 09:41.
Conectando con la base…
Tablas
powershell
- hora
- event_id
- cuenta
- nivel
- resumen_del_bloque
El resultado aparece aquí.
fila(s)
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.