*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。
概述
在近期的一次内部渗透测试中,我们需要利用一个Java两级反序列化漏洞。在这篇文章中,我们将告诉大家如何改造Nessus插件,因为该插件原本只能利用一个现有的RCE漏洞,但我们将教会大家如何通过该插件来利用这个漏洞,并在我们的攻击服务器上获取到反向shell。
可能很多同学都知道Java反序列化漏洞,但是两级反序列化漏洞却是近期才提出来的,而且跟Java反序列化漏洞有一些细微的差别。网上有很多关于Java反序列化漏洞的资源,所以我们就不再重复造轮子了,我们待会只介绍这两种漏洞之间的区别。
本文的主要目的是要告诉大家如何武器化Nessus插件,不过别担心,这里不需要涉及到逆向工程方面的知识。
我们所要利用的漏洞存在于一个Adobe ColdFusion Flex BlazeDS实例中,Flex使用了AMF((Action Message Format),它是Flash与服务端通信的一种常见的二进制编码模式,而这个实例使用了AMF3,这种格式不仅提供了很多新的功能,而且还包含了很多安全漏洞。
Nessus
在Nessus的一份报告中,我们找到了如下所示的漏洞: