Digital
Enigma
Una misión interactiva para descubrir cómo funciona Internet: datos, redes, criptografía, esteganografía, Tor y Python.
1 / 15
Cada pista enseña una herramienta.
¿Qué tenés que hacer?
- Explorá los módulos: leé y probá los botones disponibles. Algunas secciones explican conceptos y no tienen una respuesta para ingresar.
- Buscá evidencias, no una contraseña mágica: elegí la herramienta que te permita interpretar cada dato.
- Respondé el control: son cinco preguntas. Si fallás, volvé al módulo relacionado.
- Resolvé las cinco evidencias finales: cada campo pide un resultado diferente.
- 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?
Descifrá el mensaje
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.
El módulo siguiente se habilita cuando la respuesta es correcta. Primero interpretá el resultado; después avanzás.
El mensaje cifrado
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?
La terminal
Primero, una prueba real. El ping apunta exclusivamente a infraestructura de Tecnologías Inteligentes y envía un payload ICMP educativo de 32 bytes.
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.
Dos claves, dos funciones
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.
Más allá de la imagen
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.
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.
Privacidad: el archivo no se sube al servidor desde este control.
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.
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.
¿Qué ve cada relé?
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.
Seleccioná un punto del circuito
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.
El protocolo HTTP
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.
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í.
Un puerto es una puerta
Un servicio escucha en un puerto. Probemos la idea sin atacar ningún sistema.
PORT: 443
PROTOCOLO: TCP
s = socket.socket()
s.connect((host, 443))
La pista pública
¿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:
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?
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.
Leer el sistema
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
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.
Firmar no es cifrar
Una firma digital permite comprobar autenticidad e integridad. En esta evidencia, el mensaje y la firma viajan separados: la firma no contiene el texto.
↓
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.
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.
Buscar un patrón
En una señal, mirar el tiempo puede no ser suficiente. El espectro permite observar qué frecuencias predominan.
SPECTRUM: ▁▁█▁▁▁██▁▁
100 200 300 400 Hz
Correlacionar
Una pista aislada puede no significar nada. Varias evidencias pueden confirmar una misma hipótesis.
33 → TXT
01 → HTTP
PYTHON → JOIN
BUSCÁ RELACIONES
Armar sin adivinar
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.
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.
Antes de salir al campo
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.
Ahora estás solo
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
- Paquete: usá HEX → ASCII y pegá el texto obtenido.
- Rotación: usá César. En esta herramienta, los valores negativos avanzan letras y los positivos retroceden.
- DNS: distinguí VALUE de TTL; ingresá el fragmento correcto.
- HTTP: buscá el valor de
X-TI-Fragment, no el código 200. - Python: calculá qué texto produce
joincon la lista dada.
Luego uní las piezas. Si una respuesta falla, revisá el dato y la herramienta: no hace falta adivinar.
El paquete
¿Qué representación es esta?
La rotación
Usá la regla que descubriste antes: con desplazamiento −3, cada letra avanza tres posiciones.
El registro
VALUE: 33
TTL: 3301
No todo número es la respuesta. ¿Qué pieza entrega?
El encabezado
X-TI-Fragment: 01
X-TI-Next: PYTHON
Una cabecera también puede transportar información.
La instrucción
print("".join(fragmentos))
¿Qué produce exactamente Python?
Reconstrucción
Reuní las piezas. El nombre del caso no es una pista de la respuesta.
La misión sale del laboratorio
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.
La señal codificada
Convertí estos bytes hexadecimales a caracteres usando la relación HEX → ASCII.