
🔒 Defensa de Firewall Spring4Shell — Simulación de Incidentes de Ciberseguridad Este proyecto forma parte de una simulación de trabajo en ciberseguridad que completé en agosto de 2025 a través de Forage. Se centra en detectar, analizar y mitigar un ciberataque simulado del mundo real que involucra la vulnerabilidad Spring4Shell (CVE-2022-22965).
🛡️ Defensa con Firewall contra Spring4Shell – Simulación de Incidente de Ciberseguridad Este proyecto forma parte de una simulación laboral de ciberseguridad que completé a través de Forage en agosto de 2025. Simula un incidente real que involucra la vulnerabilidad Spring4Shell (CVE-2022-22965) y demuestra cómo un firewall personalizado puede detectar y mitigar los intentos de explotación.
📌 Descripción General del Proyecto El objetivo de esta simulación era identificar y bloquear el tráfico malicioso dirigido a un endpoint de una aplicación web vulnerable. Desarrollé un firewall HTTP personalizado basado en Python que supervisa y filtra las solicitudes entrantes, detectando patrones de explotación conocidos y deteniéndolos en tiempo real.
🧰 Características Principales 🔍 Detección de Amenazas: Analiza los datos POST HTTP en busca de claves y payloads sospechosos.
🔐 Defensa con Firewall: Bloquea solicitudes maliciosas mediante reglas basadas en patrones.
💣 Prevención de Exploits: Detecta intentos de ejecución remota de código mediante Runtime.getRuntime() y firmas similares.
📈 Registro y Monitoreo: Muestra en la terminal los intentos bloqueados y los motivos del bloqueo.
🖼️ Demostración En la primera captura, una solicitud POST sospechosa intenta explotar la vulnerabilidad Spring4Shell inyectando un payload con Runtime.getRuntime(). El firewall personalizado detecta inmediatamente este patrón y bloquea la solicitud, devolviendo una respuesta 403 Forbidden — deteniendo eficazmente un posible intento de Ejecución Remota de Código (RCE).

En contraste, la segunda captura muestra una solicitud POST segura con datos inofensivos (username=test) enviada al servidor. El firewall la reconoce como segura y permite que pase, devolviendo una respuesta 200 OK estándar. Esto resalta la capacidad del firewall para distinguir con precisión entre actividad normal y maliciosa.

🧪 Tecnologías Utilizadas Python (implementación del firewall)
Módulo http.server para simular el servidor vulnerable
curl para simular solicitudes POST
Lógica personalizada de detección de firmas
📋 Qué Hice Analicé un ataque simulado de Spring4Shell dirigido a un endpoint JSP.
Identifiqué payloads sospechosos en los datos POST.
Escribí un firewall personalizado (firewall_server.py) para detectar y bloquear solicitudes maliciosas.
Validé el firewall simulando ataques (ver captura de pantalla).
Documenté el incidente con un análisis post-mortem detallado.