Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Ofuscación común, reconocida al leer

5 tareas · 40 min · Principiante

Un script ofuscado está escrito para que una persona no lo lea: nombres sin sentido, direcciones partidas en trozos, números en lugar de letras, un bloque codificado que se decodifica y se ejecuta. Aquí no se aprende a ofuscar nada. Se aprende a reconocer esas formas al leer, a entender por qué una búsqueda sobre el texto del archivo falla y a ir a donde la evidencia sí está: lo que el motor de scripts registró al ejecutar en un entorno aislado. Lees un script que llegó por correo a Secadora Curiango, el registro de sus bloques y un script de la empresa para comparar.

0 de 5 · 0%

Objetivo de la sala

Un script ofuscado está escrito para que una persona no lo lea: nombres sin sentido, direcciones partidas en trozos, números en lugar de letras, un bloque codificado que se decodifica y se ejecuta. Aquí no se aprende a ofuscar nada. Se aprende a reconocer esas formas al leer, a entender por qué una búsqueda sobre el texto del archivo falla y a ir a donde la evidencia sí está: lo que el motor de scripts registró al ejecutar en un entorno aislado. Lees un script que llegó por correo a Secadora Curiango, el registro de sus bloques y un script de la empresa para comparar.

Hay formas que se reconocen a simple vista, sin descifrar nada. Nombres de variable sin significado frente a los nombres claros del script de la empresa. Textos partidos en trozos que se unen con signos de suma. Letras escritas como números de código de carácter. Una cadena larga de aspecto aleatorio que luego se convierte en texto. Y al final, una línea que construye un bloque de texto y lo ejecuta.

Ninguna es maligna por sí sola: hay programadores que ofuscan por proteger su propiedad intelectual. Pero un script que llega por correo, sin firma, y reúne varias a la vez, merece más análisis. Lo importante es la lógica: para ejecutarse, el script tiene que producir el texto final, y ese texto es donde está la evidencia.

Responde para continuar

Un script recibido por correo reúne texto partido en trozos, códigos de carácter y un bloque codificado que se decodifica y se ejecuta. ¿Qué tiene que ocurrir para que funcione?

Ver pista de ayuda

Pregúntate qué recibe el motor de scripts cuando llega a la última línea.

En el script recibido el destino de la descarga no aparece escrito completo en ningún sitio: está en trozos que se unen al correr. Leer el trozo y unirlo a mano funciona en un script corto; pero un buscador de texto sobre el archivo nunca lo encontrará, y por eso un indicador basado en el texto del archivo se escapa.

En el registro de bloques, en cambio, el motor guardó el texto ya unido. Ese es el dato que va al informe, con la nota de dónde se obtuvo.

Responde para continuar

Escribe el dominio de descarga que el script de S-0627 construye uniendo trozos.

Ver pista de ayuda

Une los trozos de la primera línea de `script-recibido.txt` y compruébalo en el primer bloque de `bloques-registrados.txt`.

Un script puede decodificar un bloque, que contiene otro bloque codificado, y así varias veces. Cada decodificación es un nivel. Cuantos más niveles, más esfuerzo se dedicó a que no se leyera; pero el número de niveles no dice nada sobre la intención por sí solo. El registro numera los bloques, así que la cuenta está a la vista.

Responde para continuar

¿Cuántos niveles de bloque registró el entorno al ejecutar S-0627?

Ver pista de ayuda

Cuenta los bloques de `bloques-registrados.txt` y mira el último número de «bloque N de M».

El último bloque muestra el efecto concreto: qué hizo con lo que recibió. Registrar ese efecto es lo útil: un archivo que aparece en la carpeta temporal con ese nombre es un indicador de host que otro equipo puede buscar. Fíjate en lo que el registro dice y en lo que no: el entorno vio que el bloque guarda el archivo, y que no lo ejecutó dentro de la ventana de análisis. Qué haría después no consta.

Responde para continuar

Escribe el nombre del archivo en el que el último bloque guarda lo que recibe.

Ver pista de ayuda

Lee el bloque 3 de `bloques-registrados.txt`; el nombre va tras la carpeta temporal.

Un colega propone una regla que busque en los archivos de la empresa el dominio de descarga tal como aparece en el registro. Probada contra el script recibido, no lo encuentra.

El problema es de la fuente: la regla busca un texto que el archivo nunca contiene entero. Una detección útil mira otro sitio: el registro de bloques de script de los equipos, las consultas de nombres de la red, o la forma de armado del texto, que sí está en el archivo.

Responde para continuar

La regla de texto no encuentra el dominio en S-0627. ¿Por qué falla y qué se hace?

Ver pista de ayuda

Compara el texto del archivo con el texto que registró el motor.

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

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