
Laboratorio DFIR de Spring4Shell (CVE-2022-22965) con simulación de exploits, WAF en Python, detección basada en IOC y análisis de PCAP.
Un proyecto integral de Forense Digital y Respuesta a Incidentes (DFIR) que simula, detecta e investiga la vulnerabilidad crítica Spring4Shell (CVE-2022-22965). Este proyecto demuestra el ciclo de vida completo de la respuesta a incidentes, desde el compromiso inicial hasta la detección, la mitigación y el análisis forense.
Simulación de Ataque → Captura de Red → Análisis de Logs → Detección de IOC → Mitigación por Firewall → Investigación Forense
Creado como un proyecto de portafolio para blue team / analista de SOC que demuestra habilidades prácticas de seguridad defensiva.
Este entorno de laboratorio proporciona experiencia práctica con técnicas reales de respuesta a incidentes al recrear un escenario controlado de explotación de Spring4Shell. El proyecto abarca perspectivas tanto ofensivas como defensivas, lo que permite a los profesionales de seguridad comprender los vectores de ataque mientras implementan estrategias de detección y mitigación.
dfir-malware-investigation/
│
├── analysis/ # Detection scripts and PCAP analysis documentation
├── firewall/ # Custom WAF implementation and configuration
├── iocs/ # IOC definitions and threat intelligence profiles
├── tools/ # Attack simulator and vulnerable web application
├── screenshots/ # Visual demonstration and evidence
├── pcaps/ # Network traffic captures
├── logs/ # Application and firewall logs
└── memory/ # Memory forensics methodology and documentation
El simulador de ataques envía una solicitud HTTP POST especialmente diseñada que explota la vulnerabilidad de enlace de datos (data binding) de Spring Framework:
Payload: class.module.classLoader.resources.context.parent.pipeline.first
Target: /tomcatwar.jsp
Method: HTTP POST with malicious parameters
Esto imita los intentos de explotación del mundo real contra aplicaciones Spring vulnerables.
Un firewall de aplicaciones web (WAF) personalizado basado en Python intercepta y analiza las solicitudes HTTP entrantes:
HTTP 403 Forbidden para solicitudes bloqueadasEl sistema de detección basado en IOC analiza los logs utilizando inteligencia de amenazas estructurada:
Source: iocs/spring4shell.json
Cada detección incluye:
Flujo de trabajo de análisis de tráfico:
tcpdump durante la simulación de ataqueLos artefactos capturados incluyen:
Aunque los volcados de memoria no están incluidos en el repositorio, la documentación exhaustiva cubre:
Consulta memory/README.md para la metodología completa.
Evidencia visual del flujo completo de ataque y defensa:
El firewall basado en Python inicializado y a la escucha de solicitudes entrantes
Intercepción en tiempo real del intento de explotación de Spring4Shell
Registro detallado de la solicitud maliciosa con firmas de payload
Motor de detección basado en IOC que identifica el ataque Spring4Shell
Prueba a nivel de red del intento de explotación y la respuesta del firewall
| Componente | Tecnología |
|---|---|
| Lenguaje | Python 3.x |
| Captura de Red | tcpdump, Wireshark |
| Análisis de Memoria | Volatility3 (documentado) |
| Control de Versiones | Git |
| Plataforma | Linux (basado en Arch) |
| Framework Web | Servicio HTTP vulnerable simulado (comportamiento de Spring4Shell) |
Este proyecto demuestra competencia en:
Se proporcionan dos perfiles de IOC para diferentes casos de uso:
spring4shell.json (Ligero)Reglas de detección compactas optimizadas para el escaneo en tiempo real con mínimos falsos positivos.
spring4shell_full.json (Exhaustivo)Perfil de amenaza ampliado que incluye:
# Ensure tcpdump is available for network capture
sudo apt install tcpdump # Debian/Ubuntu
sudo pacman -S tcpdump # Arch Linux
# 1. Clone the repository
git clone https://github.com/suyash-R-K/dfir-malware-investigation.git
cd dfir-malware-investigation
# 2. Start the firewall
cd firewall
python firewall_rule.py
# 3. In another terminal, run the attack simulator
cd tools
python spring4shell_simulator.py
# 4. Analyze the results
cd ../analysis
python detect_spring4shell.py
Las instrucciones de configuración detalladas están disponibles en el subdirectorio de cada módulo.
Este proyecto es estrictamente con fines educativos y solo para investigación de seguridad autorizada.
Suyesh R K
Entusiasta de la Seguridad y DFIR
¡Las contribuciones son bienvenidas! No dudes en enviar issues o pull requests para:
Si encuentras útil este proyecto, ¡considera darle una estrella!