TECNOLOGÍAS INTELIGENTES · LAB
CASE FILE: TI-3301

Digital
Enigma

Una misión interactiva para descubrir cómo funciona Internet: datos, redes, criptografía, esteganografía, Tor y Python.

MISSION PROGRESS

1 / 15

Cada pista enseña una herramienta.

GUÍA RÁPIDA · LEÉ ESTO PRIMERO

¿Qué tenés que hacer?

  1. Explorá los módulos: leé y probá los botones disponibles. Algunas secciones explican conceptos y no tienen una respuesta para ingresar.
  2. Buscá evidencias, no una contraseña mágica: elegí la herramienta que te permita interpretar cada dato.
  3. Respondé el control: son cinco preguntas. Si fallás, volvé al módulo relacionado.
  4. Resolvé las cinco evidencias finales: cada campo pide un resultado diferente.
  5. Uní las piezas y explicá cómo llegaste a la clave.

¿Qué cuenta como prueba? El resultado correcto y poder explicar qué herramienta usaste y por qué. Si te trabás, preguntate: ¿qué dato tengo?, ¿qué herramienta lo interpreta?, ¿qué resultado obtuve?

01 · PRIMER DESAFÍO

Descifrá el mensaje

HEX → ASCII

Tu misión: transformar estos bytes hexadecimales en texto legible. No hace falta tocar todos los botones: en esta primera prueba vas a usar una sola herramienta.

48 65 6C 6C 6F 20 44 69 67 69 74 61 6C 20 45 6E 69 67 6D 61

El módulo siguiente se habilita cuando la respuesta es correcta. Primero interpretá el resultado; después avanzás.

02 · CRYPTO

El mensaje cifrado

CAESAR

Probá distintos desplazamientos. En esta herramienta, −1 mueve cada letra a la siguiente (A→B) y +1 a la anterior (B→A). ¿Qué texto aparece?

03 · NETWORK

La terminal

PING · DNS · TCP

Primero, una prueba real. El ping apunta exclusivamente a infraestructura de Tecnologías Inteligentes y envía un payload ICMP educativo de 32 bytes.

$ esperando comando...
La red todavía no habló.

Ahora convertí el HEX del ping a texto

Copiá los pares hexadecimales que aparecen en el resultado del ping y pegálos acá. También podés usar el HEX que se carga automáticamente al ejecutar el ping.

Cada par hexadecimal representa un byte. La conversión te permite leer el mensaje transportado por el ping.

04 · CRIPTOGRAFÍA

Dos claves, dos funciones

PÚBLICA · PRIVADA

Imaginá que Ana tiene dos claves relacionadas. Una puede compartirla con cualquiera; la otra debe guardarla en secreto.

🔓 Clave pública de Ana

Es como un candado abierto que Ana le da a cualquiera.

Se usa para cifrar un mensaje que solo Ana debe poder leer.

🔐 Clave privada de Ana

Es la única llave que abre ese candado.

Ana la usa para descifrar el mensaje. No la comparte.

El recorrido, paso a paso

1. Bruno quiere mandarle a Ana: NOS VEMOS.

2. Bruno busca la clave pública de Ana y la usa para cerrar el mensaje (cifrarlo).

3. Bruno envía el mensaje cifrado. Si alguien lo intercepta, verá texto ilegible.

4. Ana recibe el mensaje y usa su clave privada para abrirlo (descifrarlo).

Resultado: Ana vuelve a leer «NOS VEMOS».

Importante: las dos claves pertenecen a Ana. Bruno usa la pública de Ana; Ana usa su propia privada.

Ver el ejemplo de código (opcional)
from cryptography.hazmat.primitives.asymmetric import rsa

private_key = rsa.generate_private_key(
    public_exponent=65537,
    key_size=2048
)
public_key = private_key.public_key()

Este código crea una pareja de claves RSA. No cifra el mensaje todavía: solo crea las claves.

Ahora te toca a vos

Bruno quiere enviarle a Ana un mensaje secreto. Elegí las dos acciones correctas.

05 · HIDDEN DATA

Más allá de la imagen

EXIF · STEGANOGRAPHY

Un archivo puede mostrar una fotografía y, al mismo tiempo, contener metadatos. La esteganografía intenta ocultar un mensaje dentro del contenido; no es lo mismo que cifrarlo.

01 / INSPECCIÓN DE ARCHIVO

Elegí una imagen

Seleccioná la imagen que te dieron para investigar. Se mostrarán los metadatos que puedan leerse y una lectura de los píxeles para buscar una posible secuencia oculta. El resultado no garantiza que la imagen use esta técnica.

Esperando un archivo de imagen…

Privacidad: el archivo no se sube al servidor desde este control.

02 / HERRAMIENTA INDEPENDIENTE

Crear una imagen con mensaje oculto

Esta herramienta es opcional y está separada de la investigación. Elegí una imagen propia o descargada, escribí el mensaje y generá una copia PNG. Después podés usar ese PNG como evidencia para probar el inspector.

Todavía no elegiste una imagen para crear el archivo.
Seleccioná una imagen, ocultá un mensaje y volvé a subir el PNG descargado para recuperarlo.

El procesamiento se realiza en tu navegador. La extracción es real para imágenes PNG codificadas con este método; no es una herramienta universal para detectar cualquier esteganografía.

06 · ONION ROUTING

¿Qué ve cada relé?

TOR · MULTI-HOP

En una conexión Tor, el cliente construye un circuito con relés. Cada salto tiene una función diferente: ningún relé individual conoce por sí solo todo el recorrido.

CIRCUITO SIMULADO
↓ capa cifrada ↓
↓ capa cifrada ↓
↓ capa cifrada ↓
↓
OBSERVACIÓN DEL NODO

Seleccioná un punto del circuito

Tocá los nodos para examinar qué información conoce cada uno y qué no puede ver.

Modelo conceptual: no es una conexión Tor activa ni muestra tráfico real.

Un servicio .onion es accesible mediante Tor y no se resuelve usando el DNS público convencional. Para esta actividad no necesitás visitar ningún servicio real.

07 · WEB

El protocolo HTTP

REQUEST · RESPONSE · HEADERS

El navegador envía una solicitud; el servidor responde con un código de estado, cabeceras y, a menudo, un cuerpo. Elegí una petición para ver cómo cambia el intercambio.

La respuesta es una simulación educativa; no envía datos ni modifica el servidor.

REQUEST / RESPONSE
Elegí un método y un recurso; después enviá la solicitud.
Esperando solicitud…

Observá la diferencia entre el código de estado (200, 404), las cabeceras y el contenido. Una cabecera como Content-Type describe el tipo de respuesta; no es el contenido en sí.

08 · SOCKETS

Un puerto es una puerta

TCP · PORTS · PYTHON

Un servicio escucha en un puerto. Probemos la idea sin atacar ningún sistema.

HOST: v2.tecnologiasinteligentes.io
PORT: 443
PROTOCOLO: TCP
import socket

s = socket.socket()
s.connect((host, 443))
09 · OSINT

La pista pública

BUSCAR · COMPARAR · JUSTIFICAR

¿Qué significa OSINT?

OSINT significa Inteligencia de Fuentes Abiertas. Es investigar usando información que cualquiera puede consultar: páginas web, documentos publicados, registros públicos o los datos de un archivo.

¿Para qué sirve? Para averiguar si varias pistas están relacionadas. Un dato solo puede no decir mucho; si aparece también en otra fuente independiente, tenemos un motivo para investigar esa relación.

Ejemplo guiado

Imaginá que te entregan una imagen y encontrás estos datos en sus metadatos:

ARCHIVO: evidencia.png
AUTOR: TI-LAB
COMENTARIO: 33-01
DOMINIO: v2.tecnologiasinteligentes.io

Estos datos no prueban por sí solos que haya un mensaje secreto. Te dan preguntas para investigar: ¿qué es ese dominio?, ¿hay una página pública relacionada?, ¿aparece allí el identificador 33-01?, ¿otra evidencia confirma la conexión?

TU TAREA · NO ADIVINES

1. ¿Qué dato conviene usar como término de búsqueda para comprobar si las pistas se relacionan?

2. ¿Qué conclusión sería razonable si encontrás el mismo identificador en una página pública del dominio?

Lo que esperamos: que expliques qué dato comparaste, dónde lo encontraste y qué permite concluir. No alcanza con juntar “33-01”: hay que justificar por qué ese dato conecta las evidencias. Un resultado coincidente es una pista, no una prueba definitiva.

10 · LINUX

Leer el sistema

FILE · SHA-256 · COMPARAR

Contexto: recibiste un archivo como evidencia. Antes de sacar conclusiones, necesitás identificar qué tipo de archivo es y registrar su huella digital. En Linux se usarían file y sha256sum; acá vas a analizar archivos reales desde el navegador.

1 · Examinar una evidencia

Todavía no hay ningún archivo analizado.

El tipo se estima a partir de su contenido y firma inicial cuando es posible; no se confía solamente en el nombre o la extensión.

2 · Comparar con otra copia

Si alguien te entrega una segunda copia, calculá su SHA-256 y comparalo con el de la primera. Si los hashes coinciden, los contenidos coinciden con altísima probabilidad.

Qué esperamos: que registres el nombre, el tipo y el SHA-256 de cada archivo, y expliques si coinciden. Un hash permite comprobar integridad entre copias; por sí solo no demuestra quién creó un archivo ni que lo que dice sea verdadero. Todo el cálculo se realiza localmente en tu navegador.

11 · AUTENTICIDAD

Firmar no es cifrar

PGP · DETACHED SIGNATURE

Una firma digital permite comprobar autenticidad e integridad. En esta evidencia, el mensaje y la firma viajan separados: la firma no contiene el texto.

MENSAJE → HASH → FIRMA CON CLAVE PRIVADA
↓
FIRMA + MENSAJE → VERIFICAR CON CLAVE PÚBLICA

Algo no cierra: la identidad parece casi correcta, pero hay una letra que no pertenece ahí.

No cambies la firma. Primero intentá verificar este mensaje.

VER CLAVE PÚBLICA TI 3301 →

FINGERPRINT TI 3301
BAC EDBD 12BE 2262 6179 F1DF A536 E205 AB1E 7566

Pista inicial: una B puede parecer otra cosa cuando estás mirando rápido. Si falla, buscá una letra. B de burro.

12 · SIGNALS

Buscar un patrón

SPECTRUM · FREQUENCY

En una señal, mirar el tiempo puede no ser suficiente. El espectro permite observar qué frecuencias predominan.

TIME: ▁▂▁▃▁▂▁▁▃▁
SPECTRUM: ▁▁█▁▁▁██▁▁
100 200 300 400 Hz
13 · RECON

Correlacionar

EVIDENCE · CORRELATION

Una pista aislada puede no significar nada. Varias evidencias pueden confirmar una misma hipótesis.

PING → DNS
33 → TXT
01 → HTTP
PYTHON → JOIN
NO BUSQUES UNA RESPUESTA
BUSCÁ RELACIONES
14 · ASSEMBLY

Armar sin adivinar

INTEGRACIÓN FINAL

Esta actividad integra pistas de los módulos anteriores; no es solamente sobre las dos claves. Pero tampoco tenés que ordenar todos los módulos del laboratorio. Tenés que ordenar las tres herramientas que intervienen en la reconstrucción final.

Tu tarea: ordená DNS, HTTP y PYTHON según la cadena de evidencias: primero se consulta un dato en DNS, después se obtiene el fragmento de HTTP y, al final, Python une las piezas.

[ 01 ] [ DNS ] [ PYTHON ] [ TI ] [ 33 ] [ HTTP ]

No escribas los fragmentos TI, 33 y 01 en este campo: acá solo se ordenan las herramientas. Los fragmentos se unen después en la reconstrucción final.

CHECKPOINT · FORMACIÓN

Antes de salir al campo

TEORÍA + PRÁCTICA

Ya recorriste los módulos. Antes de habilitar la reconstrucción final, demostrá que comprendés las herramientas. Respondé individualmente o como equipo y justificá oralmente las decisiones.

La validación no reemplaza la explicación: el equipo debe poder justificar sus respuestas con ejemplos del laboratorio.

FINAL · RECONSTRUCTION

Ahora estás solo

RECON · LOGIC · PYTHON

No hay un botón de “descifrar”. Tenés que decidir qué herramienta aplicar a cada evidencia. Algunas pistas indican datos; otras indican qué hacer después.

Cómo resolver las pruebas

  1. Paquete: usá HEX → ASCII y pegá el texto obtenido.
  2. Rotación: usá César. En esta herramienta, los valores negativos avanzan letras y los positivos retroceden.
  3. DNS: distinguí VALUE de TTL; ingresá el fragmento correcto.
  4. HTTP: buscá el valor de X-TI-Fragment, no el código 200.
  5. Python: calculá qué texto produce join con la lista dada.

Luego uní las piezas. Si una respuesta falla, revisá el dato y la herramienta: no hace falta adivinar.

EVIDENCE 01

El paquete

54 49 33 33 30 31 2D 44 4E 53

¿Qué representación es esta?

PENDIENTE DE VALIDACIÓNConvertí los bytes HEX a ASCII y escribí el resultado completo. Después de validar, acá vas a ver si la respuesta es correcta y por qué.
EVIDENCE 02

La rotación

QF

Usá la regla que descubriste antes: con desplazamiento −3, cada letra avanza tres posiciones.

PENDIENTE DE VALIDACIÓNAplicá el desplazamiento indicado a las dos letras. Después de validar, acá vas a ver si la respuesta es correcta y cómo comprobarla.
EVIDENCE 03

El registro

TYPE: TXT
VALUE: 33
TTL: 3301

No todo número es la respuesta. ¿Qué pieza entrega?

bloqueado
EVIDENCE 04

El encabezado

HTTP/1.1 200 OK
X-TI-Fragment: 01
X-TI-Next: PYTHON

Una cabecera también puede transportar información.

bloqueado
EVIDENCE 05

La instrucción

fragmentos = ["TI", "33", "01"]
print("".join(fragmentos))

¿Qué produce exactamente Python?

bloqueado
FINAL

Reconstrucción

PIEZA A + PIEZA B + PIEZA C

Reuní las piezas. El nombre del caso no es una pista de la respuesta.

La misión sigue abierta.
FIELD OPERATION · TI-3301

La misión sale del laboratorio

TRABAJO DE CAMPO

Reconstrucción digital aceptada. Ahora comienza la investigación presencial. Trabajá con tu equipo, registrá cada decisión y no muevas ni abras objetos que no estén señalizados por el docente.

PROTOCOLO DE MISIÓN 1. Resolver la señal inicial. 2. Seguir la ubicación indicada. 3. Encontrar la tarjeta o QR oficial de la estación. 4. Interpretar la evidencia y registrar el razonamiento. 5. No correr, no entrar en zonas restringidas y no divulgar claves a otros equipos.
ESTACIÓN 1 · SALA DE INFORMÁTICA

La señal codificada

Convertí estos bytes hexadecimales a caracteres usando la relación HEX → ASCII.

42 49 42 4C 49 4F 54 45 43 41