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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-44228 — https://github.com/kozmer/log4j-shell-poc에서 파생된 Log4Shell 개념 증명(Proof-Of-Concept) | Kitploit
도구/GitHubGitHub/phineas09/cve-2021-44228
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationLabs & Practice
GitHubphineas09/cve-2021-44228

CVE-2021-44228

https://github.com/kozmer/log4j-shell-poc에서 파생된 Log4Shell 개념 증명(Proof-Of-Concept)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Log4Shell 개념 증명

이 저장소는 CVE-2021-44228 취약점에 대한 개념 증명입니다.

이 저장소는 이 저장소에서 파생되었습니다.

이 저장소에서는 취약한 애플리케이션의 예와 이를 익스플로잇하는 방법에 대한 데모를 만들었습니다.

개념 증명 구성 요소

저는 이 취약점의 생성을 자동화하기 위해 상위 파이썬 스크립트를 수정했습니다.

이 저장소에는 쉽게 사용할 수 있도록 두 개의 Dockerfile이 있습니다.

Docker-Ldap

이 Docker 이미지에서는 제 구글 드라이브에서 자바 jdk-8u20을 다운로드합니다. 오라클 계정이 필요하기 때문입니다.

이를 신뢰하지 않는다면, Dockerfile에서 다운로드 파일을 수정하고 여기에서 jdk를 다운로드할 수 있습니다. (Linux용 Java SE Development Kit 8u20 버전을 다운로드해야 합니다.)

이 Docker 이미지는 kozmer가 제공한 스크립트의 수정된 버전을 실행하며 다음을 수행합니다.

  • 리버스 셸을 생성하는 자바 클래스(Exploit)를 생성하고 컴파일합니다. 이를 위해 jdk가 필요합니다.
  • 조회를 수행하고 요청을 페이로드가 위치할 서버로 매핑하는 JNDI LDAP 서버를 생성합니다.
  • JNDI 조회로 생성된 요청을 통해 파일을 제공할 수 있는 SimpleHttpServer를 엽니다.

기본적으로 사용되는 포트는 JNDI LDAP용 1389, SimpleHttpServer용 8000, 리버스 셸용 **9001**입니다.

이것을 컴파일하고 실행하려면 다음을 실행하세요:

root@kitploit:~
sudo docker build -t log4j-ldap . 
sudo docker run -d -p 8000:8000 -p 1389:1389 log4j-ldap

docker logs <containerID>를 사용하여 애플리케이션 로그를 확인하고 취약한 애플리케이션에 제공해야 하는 올바른 입력을 검색하세요.

이 PoC에서는 Docker에서 사용하는 기본 IP(172.17.0.1/24)를 고려했습니다. 시나리오에 맞게 ./Docker-Ldap/run.sh 스크립트에서 변경할 수 있습니다.

Docker-Vuln

이 Docker 이미지에서는 패치되지 않은 Log4J 2 버전을 사용하는 취약한 웹 애플리케이션을 실행하며, 이를 포트 8080에 노출합니다.

앱 소스는 ./Docker-Vuln에서도 확인할 수 있으며, kozmer의 크레딧입니다.

이것을 컴파일하고 실행하려면 다음을 실행하세요:

root@kitploit:~
sudo docker build -t log4j-ldap . 
sudo docker run -d -p 8000:8000 -p 1389:1389 log4j-ldap

사용자 이름이 주입 가능한 필드입니다!

Netcal 리스너

리버스 셸을 수신하려면 포트 **9001**에 대한 netcat 리스너를 생성해야 합니다.

root@kitploit:~
nc -lvnp 9001

사용 방법

저장소를 다운로드한 후, docker 엔진이 설치되어 있고 다른 docker 이미지가 실행 중이 아닌지 확인하세요.

  • 그런 다음 config.sh 스크립트를 실행하여 이미지를 빌드하고 시작하세요. (이 스크립트는 실행 시 root 권한을 사용하므로 필요에 따라 수정할 수 있습니다.)
  • 포트 **9001**에서 netcat 리스너를 엽니다.
  • 브라우저를 열고 localhost:8080으로 이동하세요.
  • log4j-ldap Docker 컨테이너 로그에서 페이로드를 추출하세요. (docker logs <containerID>)
  • 사용자 필드에 페이로드를 입력하고 임의의 비밀번호를 입력하세요.
  • 즐기세요!

유용한 리소스:

  • JNDI/LDAP 조작에서 원격 코드 실행 꿈의 땅으로의 여정
  • Apache Log4j 보안 취약점
  • CVE-2021-44228
  • CVE-2021-44228 상세 정보
  • Log4j 조회 심층 분석
  • Log4j 취약점
  • CVE-2021-44228 - Log4j - 마인크래프트 취약
  • Log4Shell: Log4j 2에서 발견된 RCE 0-day 익스플로잇
  • 라이브 패치를 통해 Log4Shell을 자동으로 완화하는 방법
  • 익스플로잇 및 라이브 패치를 통한 Log4Shell 이해
  • Log4Shell 취약점 탐지 및 완화 방법

취약점으로 이어진 타임라인 이벤트:

  • JNDI Lookup 플러그인 지원
  • (날짜) 조회를 완전히 비활성화하는 기능
  • 메시지 패턴 변환기 조회를 비활성화하는 속성 추가
도구 다운로드