我正在尝试理解/再现Log4shell漏洞,使用此poc以及来自马歇尔塞特的信息。
为此,我下载了Ghidra v10.0.4,据说(在Ghidra下载页面上)易受log4shell攻击。将其安装在ubuntu上,以及java1.8(如Poc中所述),并加载Poc+封送组快照。
试图启动Ghidra时,它说java 11是必需的,所以尽管我已经安装了java1.8,但我仍然下载了java 11,当您启动ghidra时,它说安装的版本还不够好,并询问java11版本的路径;所以我只给了他指向jdk11目录的路径,它似乎对此很满意。吉德拉开始的很好。
然后设置我的侦听器并启动poc,获得要在ghidra中复制/粘贴的有效负载字符串,并在ldap侦听器中得到一个响应,表示它将将其发送到HTTP。但仅此而已。结束了。
由于HTTP服务器是由同一个POC设置的,所以我想我可能看不到重定向,所以我自己启动了http服务器,自己用封送组启动了ldap服务器,并重新尝试了(确切的命令/输出请参见下面的图片)。
设置http服务器:

设置侦听器:

设置LDAP服务器:

在Ghidra中发送有效负载字符串(在帮助/搜索部分,如kozmer POC中所示);立即得到答案:

我仍然在LDAP侦听器上收到响应(事实上,这看起来很奇怪),但HTTP上没有响应。开发类从来没有在ghidra中加载(它直接发送给我一个弹出消息,它说没有找到搜索,我认为它应该等待服务器回答来完成吗?),而我的侦听器中什么也得不到。
请注意,我并不真正理解Marshalsec/LDAP,所以我不知道这里发生了什么。如果有人有时间解释的话,那就太好了。我读过很多关于秃鹫的内容,但很少深入细节(大多数细节都是这样的:有效负载字符串向LDAP服务器发送请求,后者将重定向到HTTP服务器,后者将在易受攻击的应用程序上上传利用类并给您一个shell)。
注意:我已经检查过了,http服务器已经启动并可访问,Exploit.class文件在这里,可以下载。
发布于 2022-06-24 13:13:42
解决了。
要使log4shell正常工作,您需要一个易受攻击的应用程序和一个易受攻击的Java版本;我以为我有,但没有。我有Java 11.0.15,并且需要Java 11 (Ghidra需要Java 11的最小值,只有脆弱版本的Java 11是第一个版本)。
下载并安装Java 11,POC运行良好。
https://stackoverflow.com/questions/72719288
复制相似问题