Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
log4j-log4shell-playground — Log4Shell (CVE-2021-44228) 취약점 완화 조치를 시험해볼 수 있는 놀이터 | Kitploit
도구/GitHubGitHub/rgl/log4j-log4shell-playground
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubrgl/log4j-log4shell-playground

log4j-log4shell-playground

Log4Shell (CVE-2021-44228) 취약점 완화 조치를 시험해볼 수 있는 놀이터

저장소 보기
14년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

소개

치명적인 log4j (일명 Log4Shell) (CVE-2021-44228) 취약점 완화 방안을 실험하기 위한 놀이터입니다.

이 특정 문제는 JndiLookup 기능과 log4j가 로깅 호출의 모든 인수를 해석하는 기능에 있습니다.

형식 메시지(로깅 호출의 첫 번째 인수), 예를 들어 log.info("Hello {}", "${jndi:ldap://127.0.0.1:8081}")에서 Hello {}만 해석할 것으로 예상했지만, 모든 인수를 해석합니다.

완화 방안은 log4j가 jndi 조회를 트리거하지 못하게 하지만, ${java:version}과 같은 다른 조회는 여전히 허용합니다.

참고: log4j 2.16.0 (LOG4J2-3211; diff)부터 형식 메시지는 더 이상 해석되지 않습니다.

이 취약점은 대상 애플리케이션이 사용자가 제공한 데이터를 로깅할 때 원격으로 트리거될 수 있습니다. 예를 들어, 다음과 같은 일반적인 HTTP 헤더에서 발생합니다:

  • Accept
  • Cookie
  • Location
  • Origin
  • Referer
  • User-Agent
  • X-Api-Version
  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Requested-With
  • 실행 (Ubuntu 20.04)

    빌드:

    root@kitploit:~
    sudo apt-get install -y openjdk-11-jdk-headless
    wget https://archive.apache.org/dist/logging/log4j/2.10.0/apache-log4j-2.10.0-bin.tar.gz
    wget https://archive.apache.org/dist/logging/log4j/2.16.0/apache-log4j-2.16.0-bin.tar.gz
    tar xf apache-log4j-2.10.0-bin.tar.gz
    tar xf apache-log4j-2.16.0-bin.tar.gz
    javac -Werror -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar Server.java
    

    취약한 log4j 버전 시도:

    root@kitploit:~
    java \
        -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar:apache-log4j-2.10.0-bin/log4j-core-2.10.0.jar:. \
        Server
    curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
    curl -H 'X-Api-Version:${java:version}' http://localhost:8080
    

    클래스패스에서 JndiLookup 클래스를 제거하는 완화 방법 시도:

    root@kitploit:~
    cp apache-log4j-2.10.0-bin/log4j-core-2.10.0.jar log4j-core-2.10.0-without-jndi-lookup.jar
    zip -q -d log4j-core-2.10.0-without-jndi-lookup.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
    java \
        -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar:log4j-core-2.10.0-without-jndi-lookup.jar:. \
        Server
    curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
    curl -H 'X-Api-Version:${java:version}' http://localhost:8080
    

    환경 변수 완화 방법 시도:

    참고 2021년 12월 15일 (약 log4j 2.16.0 / CVE-2021-45046 릴리스 날짜) 이후로 이 방법은 더 이상 권장되지 않습니다.

    root@kitploit:~
    LOG4J_FORMAT_MSG_NO_LOOKUPS=true \
        java \
        -cp apache-log4j-2.10.0-bin/log4j-api-2.10.0.jar:apache-log4j-2.10.0-bin/log4j-core-2.10.0.jar:. \
        Server
    curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
    curl -H 'X-Api-Version:${java:version}' http://localhost:8080
    

    취약하지 않은 log4j 버전 시도:

    root@kitploit:~
    java \
        -cp apache-log4j-2.16.0-bin/log4j-api-2.16.0.jar:apache-log4j-2.16.0-bin/log4j-core-2.16.0.jar:. \
        Server
    curl -H 'X-Api-Version:${jndi:ldap://127.0.0.1:8081}' http://localhost:8080
    curl -H 'X-Api-Version:${java:version}' http://localhost:8080
    

    grype를 사용하여 취약점을 탐지하는지 확인:

    root@kitploit:~
    wget https://github.com/anchore/grype/releases/download/v0.27.2/grype_0.27.2_linux_amd64.tar.gz
    tar xf grype_0.27.2_linux_amd64.tar.gz grype
    ./grype dir:.
    

    trivy를 사용하여 취약점을 탐지하는지 확인:

    root@kitploit:~
    wget https://github.com/aquasecurity/trivy/releases/download/v0.21.2/trivy_0.21.2_Linux-64bit.tar.gz
    tar xf trivy_0.21.2_Linux-64bit.tar.gz trivy
    ./trivy fs --security-checks vuln .
    

    참고 자료

    • https://www.lunasec.io/docs/blog/log4j-zero-day-mitigation-guide/
    • https://blog.cloudflare.com/inside-the-log4j2-vulnerability-cve-2021-44228/
    • https://logging.apache.org/log4j/2.x/security.html
    • https://logging.apache.org/log4j/2.x/manual/lookups.html#JndiLookup
    도구 다운로드