🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCadenas codificadas explicadas y deshechas a mano
5 tareas · 38 min · Principiante
Quien escribe un script a veces esconde un texto de quien lo lee a simple vista: lo parte en trozos, lo escribe con números, lo da vuelta o lo pasa por Base64. Nada de eso es cifrado, y cada técnica se deshace con papel y lápiz. Aquí ves cuatro de esas técnicas sobre un script de ejemplo inocuo, con la explicación del autor, deshaces dos a mano y miras qué rastro deja cada una en los registros del equipo. Los textos escondidos son órdenes de una palabra que no hacen nada; el objetivo es aprender a leer, no a esconder.
Objetivo de la sala
Quien escribe un script a veces esconde un texto de quien lo lee a simple vista: lo parte en trozos, lo escribe con números, lo da vuelta o lo pasa por Base64. Nada de eso es cifrado, y cada técnica se deshace con papel y lápiz. Aquí ves cuatro de esas técnicas sobre un script de ejemplo inocuo, con la explicación del autor, deshaces dos a mano y miras qué rastro deja cada una en los registros del equipo. Los textos escondidos son órdenes de una palabra que no hacen nada; el objetivo es aprender a leer, no a esconder.Base64 es una forma de escribir bytes con solo 64 símbolos para que viajen por canales que solo aceptan texto. No usa clave ni secreto: cualquiera puede revertirlo, y por eso decodificarlo no es «romper» nada, es leer el mismo mensaje en otro alfabeto. Lo mismo vale para unir trozos con +, escribir letras como números o invertir el texto: son disfraces, no candados.
En un script, estas técnicas sirven para que una búsqueda de palabras sobre el archivo no encuentre el texto escondido. Un analista las deshace en orden y deja constancia de cada paso para que otro pueda repetirlo.
Responde para continuar
Un script trae una orden escrita en Base64. ¿Qué es correcto decir de esa cadena?
Ver pista de ayuda
Base64 no tiene clave. Pregúntate si hay algo secreto que falte para deshacerlo.
En PowerShell, -EncodedCommand recibe un texto en Base64 que, una vez decodificado, es UTF-16: cada letra ocupa dos bytes y el segundo suele ser un byte vacío. Por eso las cadenas tienen un aspecto muy regular. Para leer una a mano se agrupan los símbolos de cuatro en cuatro, pero en el trabajo se usa una herramienta de decodificación para no equivocarse.
La tabla base64_paso_a_paso del laboratorio explica el mecanismo, y la tabla lineas trae la cadena del script de ejemplo con lo que resulta al decodificarla, como lo explica el autor de la sala. La orden escondida es inocua; interesa el método.
Responde para continuar
¿Qué orden de una palabra esconde la cadena codificada de la línea 11?
Ver pista de ayuda
Ejecuta `SELECT * FROM lineas` y mira la última columna de la fila de la línea 11.
Otra forma de esconder un texto es escribirlo como una lista de códigos: cada número es el código de una letra en la tabla ASCII y el script los convierte con [char] y los une con +. Deshacerlo es mecánico: se toma cada número, se busca su letra en la tabla y se escribe en orden.
Tu turno con la línea 5 del script de ejemplo. La tabla ascii_usado trae los códigos que hacen falta.
Responde para continuar
Calcula con la tabla qué palabra forman los códigos de la línea 5.
Ver pista de ayuda
Consulta `SELECT * FROM lineas` para ver los cuatro números y `SELECT * FROM ascii_usado` para las letras. Escribe las letras en el orden de los números.
Invertir un texto es la forma más simple y la más frecuente en ejemplos: se escribe la palabra de derecha a izquierda y el script la da vuelta antes de usarla. Se deshace leyendo desde el final, letra por letra. Conviene hacerlo despacio y comprobar que la palabra resultante tiene sentido en el contexto de las líneas vecinas.
Aplica el método al texto de la línea 8 del script de ejemplo.
Responde para continuar
Lee al revés, letra a letra, el texto de la línea 8 y escribe la palabra que resulta.
Ver pista de ayuda
Consulta la fila de la línea 8 en `SELECT * FROM lineas` y empieza por la última letra.
Esconder un texto del archivo no lo esconde del equipo. Cuando el script corre, PowerShell trabaja con el texto ya unido o decodificado, y si el registro de bloques de script está activado (evento 4104), guarda lo que procesó. La línea de comandos de un proceso, en el registro de procesos (evento 4688 con línea de comandos o evento 1 de Sysmon), muestra la cadena codificada tal como se pasó.
Eso importa al informar: el indicador más útil suele estar en el registro, ya decodificado, y no en el archivo.
Responde para continuar
Un script esconde una orden con -EncodedCommand. ¿Dónde se puede ver el texto ya decodificado en el equipo?
Ver pista de ayuda
Consulta `SELECT * FROM rastro` y compara qué guarda cada registro.
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.