HTTP Security Lab
Manual de Prácticas de Laboratorio
Nunca realizar estas prácticas contra sistemas de terceros.
01 Introducción y Objetivo
En esta práctica aprenderás por qué el protocolo HTTP es inseguro y por qué HTTPS es necesario para proteger las comunicaciones en internet. Utilizarás el HTTP Security Lab, una herramienta interactiva que simula la captura y análisis de tráfico de red en tiempo real.
¿Qué aprenderás?
- Visualizar cómo los datos viajan en texto plano a través de HTTP.
- Capturar e interpretar peticiones GET y POST simuladas.
- Identificar credenciales, mensajes y archivos expuestos en la red.
- Comprender la diferencia técnica entre HTTP y HTTPS/TLS.
- Reconstruir objetos (imágenes, archivos) desde tráfico HTTP capturado.
- Entender ataques reales: sniffing, MITM y session hijacking.
La herramienta
El laboratorio se ejecuta como un único archivo HTML que se abre directamente en cualquier navegador moderno (Chrome, Firefox, Edge). No requiere instalación, conexión a internet durante la práctica, ni permisos especiales.
1. Localiza el archivo HTTP_Security_Lab.html en tu escritorio o carpeta del curso.
2. Haz doble clic sobre él — se abre en tu navegador.
3. Verás la interfaz con el menú lateral izquierdo con 5 módulos.
4. ¡Ya estás listo para empezar!
Estructura de la herramienta
La aplicación tiene 5 módulos accesibles desde el menú lateral izquierdo:
| Módulo | Icono | ¿Qué hace? |
|---|---|---|
| Sniffer | 📡 | Lista todos los paquetes HTTP capturados con su detalle completo. |
| Laboratorio | 🧪 | 4 ejercicios interactivos: login, mensaje, imagen y upload. |
| HTTP vs HTTPS | ⚔️ | Comparativa visual del mismo tráfico cifrado vs no cifrado. |
| Reconstrucción | 🖼️ | Muestra archivos recuperados desde tráfico HTTP interceptado. |
| Teoría | 📚 | Base teórica: protocolos, ataques y buenas prácticas. |
02 Práctica 1 — El Sniffer HTTP
En el módulo Sniffer simularás la captura de tráfico de red como lo haría Wireshark, pero enfocado en tráfico HTTP educativo. Aprenderás a leer e interpretar los paquetes capturados.
Un sniffer es una herramienta que captura y analiza el tráfico de red. Wireshark es el sniffer más usado en ciberseguridad. Esta práctica reproduce su funcionamiento de forma visual y segura en un entorno local simulado.
2.1 — Iniciar la captura
📡 Sniffer en el menú lateral izquierdo.▶ Iniciar Captura en la barra superior derecha. El punto verde parpadeará indicando que la captura está activa.■ Detener cuando tengas suficientes paquetes (mínimo 6–8 recomendado).2.2 — Leer la tabla de paquetes
Cada fila representa un paquete HTTP capturado. Familiarízate con las columnas:
| Columna | Significado |
|---|---|
| # | Número de secuencia del paquete. |
| Tiempo | Hora exacta en que se capturó el paquete. |
| Origen | IP del dispositivo que envió el paquete (cliente). |
| Destino | IP del servidor que recibe el paquete. |
| Método | Operación HTTP: GET (pedir recurso) o POST (enviar datos). |
| URI / Info | Ruta del recurso solicitado, p.ej. /login o /image/foto.jpg |
| Tamaño | Cantidad de bytes del paquete completo. |
| ⚠ | Alerta roja si el paquete contiene datos sensibles en texto plano. |
2.3 — Analizar el detalle de un paquete
Haz clic sobre cualquier fila de la tabla. El panel derecho mostrará el contenido completo del paquete con sintaxis resaltada en colores.
POST /login. Observa el icono ⚠ rojo en la columna de alerta.POST /message y POST /api/card.username=admin aparece en texto plano, legible sin ninguna herramienta especial.
password=password123 es completamente visible para cualquier observador en la red.
En una red real, cualquier persona con Wireshark en la misma WiFi vería exactamente esto.
2.4 — Usar los filtros
La barra lateral izquierda contiene filtros para ver solo los paquetes que te interesan:
- ALL — Muestra todos los paquetes capturados.
- GET — Solo peticiones GET (descarga de recursos: páginas, imágenes…).
- POST — Solo peticiones POST (envío de datos: logins, formularios, uploads).
- IMG — Solo paquetes que contienen imágenes transferidas.
Cuando termines, pulsa 💾 Exportar en la barra superior. Se descargará un archivo JSON con todos los paquetes capturados.
1. ¿Cuántos paquetes con datos sensibles (⚠) has capturado? ¿Cuáles son?
2. ¿Qué diferencia hay entre un paquete GET y uno POST?
3. Si estuvieras en una cafetería usando la WiFi pública, ¿qué información podrían robar?
4. ¿En qué columna puedes ver la IP del ordenador que se ha conectado al servidor?
03 Práctica 2 — Laboratorio Interactivo
El módulo Laboratorio contiene 4 ejercicios que simulan situaciones reales de tráfico HTTP inseguro. En cada uno generarás un paquete y verás exactamente cómo aparecería en la red.
Ejercicio A — Login inseguro
Este ejercicio simula el envío de un formulario de inicio de sesión a través de HTTP. Es el escenario más habitual de robo de credenciales.
🧪 Laboratorio en el menú lateral.tu_nombre y contraseña_prueba.📤 Enviar POST /login.username=XXX&password=XXX completamente visible.POST /login con el icono ⚠. Haz clic en él para ver el detalle completo.Las credenciales no están cifradas. Un atacante con acceso a la red vería exactamente:
POST /login HTTP/1.1
username=tu_nombre&password=contraseña_prueba
Esto es exactamente lo que Wireshark muestra en un ataque de sniffing real.
Ejercicio B — Mensaje privado
Este ejercicio simula el envío de información personal o financiera a través de una aplicación web sin HTTPS.
📤 Enviar POST /message.Este patrón es exactamente lo que ocurría en aplicaciones bancarias y de mensajería que no usaban HTTPS. El ataque Firesheep permitía robar sesiones de Facebook, Twitter y muchas webs con un solo clic desde la misma red WiFi.
Ejercicio C — Transferencia de imagen
Las imágenes también viajan en claro cuando se sirven por HTTP, permitiendo recuperarlas íntegramente desde los paquetes.
http://127.0.0.1:8080/image/foto_dni.jpg.📤 GET /image.Content-Type: image/jpeg y Content-Length en bytes.FF D8 FF E0 son el inicio de todo archivo JPEG — un atacante los detecta para extraer la imagen del tráfico.🖼️ Reconstrucción para ver cómo quedaría el archivo recuperado.Ejercicio D — Upload de archivo
El envío de archivos por HTTP es especialmente peligroso porque el contenido completo del fichero viaja en el cuerpo de la petición.
datos_personales.txt📤 POST /upload.1. En el Ejercicio A, ¿dónde exactamente aparece la contraseña dentro del paquete HTTP?
2. ¿Qué significa Content-Type: multipart/form-data en el Ejercicio D?
3. ¿Qué datos de los ejercicios B y D serían especialmente valiosos para un atacante?
4. ¿Por qué los magic bytes son importantes para reconstruir archivos desde tráfico capturado?
04 Práctica 3 — HTTP vs HTTPS
En este módulo compararás visualmente el tráfico HTTP sin cifrar con el tráfico HTTPS cifrado, para entender qué protege realmente TLS.
⚔️ HTTP vs HTTPS en el menú lateral.POST /login en HTTP: ¿puedes ver las credenciales?4.1 — TLS Handshake (4 pasos)
4.2 — Tabla comparativa para completar
Rellena esta tabla usando la información del módulo HTTP vs HTTPS de la herramienta:
| Característica | HTTP | HTTPS | ¿Por qué importa? |
|---|---|---|---|
| Puerto por defecto | escribe aquí | escribe aquí | escribe aquí |
| Cifrado del body | escribe aquí | escribe aquí | escribe aquí |
| Credenciales visibles | escribe aquí | escribe aquí | escribe aquí |
| Capturable con Wireshark | escribe aquí | escribe aquí | escribe aquí |
| Vulnerable a MITM | escribe aquí | escribe aquí | escribe aquí |
1. ¿Qué significa ECDHE y por qué garantiza Perfect Forward Secrecy?
2. Si capturas tráfico HTTPS con Wireshark, ¿qué información SÍ puedes ver aunque no veas el contenido?
3. ¿Qué es un certificado X.509 y para qué lo usa TLS?
4. ¿En qué se diferencia TLS 1.3 de versiones anteriores como TLS 1.0?
05 Práctica 4 — Reconstrucción de Objetos
Este módulo muestra cómo un atacante puede recuperar archivos completos desde tráfico HTTP capturado. Es una de las técnicas más impactantes del análisis forense de red.
🖼️ Reconstrucción en el menú lateral.5.1 — Magic bytes: identificación de archivos
Los magic bytes son los primeros bytes de un archivo que identifican su tipo, independientemente de la extensión del nombre:
| Tipo | Magic bytes (hex) | ASCII | Uso en forense |
|---|---|---|---|
| JPEG | FF D8 FF E0 | ÿØÿà | Imágenes fotográficas — las más comunes en web. |
| PNG | 89 50 4E 47 | .PNG | Imágenes con transparencia — logos, iconos. |
| 25 50 44 46 | Documentos — muy frecuentes en uploads. | ||
| ZIP | 50 4B 03 04 | PK.. | Archivos comprimidos y documentos Office. |
| MP4 | 66 74 79 70 | ftyp | Vídeos — tamaño grande, fáciles de detectar. |
5.2 — Proceso de recuperación con Wireshark
http contains "image/jpeg" para aislar respuestas con imágenes.imagen.jpg. Al abrirlo verás la imagen recuperada.1. ¿Por qué el archivo backup_db.sql es el más peligroso de los recuperados?
2. ¿Qué son los magic bytes y para qué los usa un atacante al analizar tráfico de red?
3. ¿Cómo evitaría HTTPS que se recuperaran estas imágenes y archivos?
4. Describe en tus palabras los 4 pasos del proceso de recuperación.
06 Práctica 5 — Módulo de Teoría
El módulo Teoría consolida todos los conceptos del laboratorio. Léelo después de completar las prácticas anteriores para reforzar los fundamentos.
📚 Teoría en el menú lateral.Mapa de ataques — completa la tabla
| Tipo de ataque | ¿Qué roba/hace? | Dificultad | Herramienta real |
|---|---|---|---|
| Packet Sniffing | escribe aquí | escribe aquí | escribe aquí |
| ARP Spoofing + MITM | escribe aquí | escribe aquí | escribe aquí |
| Session Hijacking | escribe aquí | escribe aquí | escribe aquí |
| DNS Spoofing | escribe aquí | escribe aquí | escribe aquí |
07 Flujo Completo — 90 minutos
Este es el orden recomendado para completar toda la práctica de forma eficiente:
08 Entregables y Evaluación
Entregables obligatorios
- El archivo JSON exportado desde el Sniffer (botón 💾 Exportar), con al menos 6 paquetes capturados incluyendo al menos un POST con datos sensibles.
- El cuaderno o documento con todas las preguntas de reflexión respondidas (Prácticas 1, 2, 3 y 4).
- La tabla comparativa HTTP vs HTTPS completada (Sección 4.2 de este manual).
- El mapa de ataques completado (Sección 6 de este manual).
Rúbrica de evaluación
| Criterio | Puntos | Indicador |
|---|---|---|
| Captura correcta: JSON con ≥6 paquetes, al menos un POST con credenciales. | 2 pts | Entregable 1 |
| Preguntas de reflexión respondidas correctamente (mínimo 3 de cada práctica). | 4 pts | Entregable 2 |
| Tabla comparativa HTTP vs HTTPS completa y sin errores. | 2 pts | Entregable 3 |
| Mapa de ataques completo con herramientas correctas. | 2 pts | Entregable 4 |
Todo lo aprendido en este laboratorio debe aplicarse EXCLUSIVAMENTE en entornos con autorización explícita.
Realizar sniffing de red, ataques MITM o captura de tráfico en redes ajenas es ILEGAL en la mayoría de países y puede constituir un delito informático penado por el Código Penal.
El objetivo de esta práctica es entender los ataques para DEFENDERSE de ellos.