Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

PowerShell 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.

0 de 4 · 0%

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.

Conectando con la base…

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.

Conectando con la base…

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.

Conectando con la base…

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.

Conectando con la base…

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.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Conectando con la base…

SIEM · Delta Cargo — canal de PowerShell de del-ws-022
OpenSearch · consultas guardadas

Tablas

powershell

  • hora
  • event_id
  • cuenta
  • nivel
  • resumen_del_bloque
Ctrl + Enter
Consola de consultas v1.0 · build b677ef

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