Java-RMI漏洞利用

文章介绍了JavaRMI(远程方法调用)的基本概念,以及由于RMIRegistry和RMIActivationService的默认配置导致的安全漏洞。通过nmap扫描发现了靶机上开放的RMI服务,并利用MSF(Metasploit框架)的exploit模块对靶机进行攻击。文章还提到了RMI协议依赖的对象序列化和HTTP协议。最终,展示了如何利用这些工具和知识获取靶机系统信息。
摘要由CSDN通过智能技术生成

RMI(Remote Method Invocation)为远程方法调用,是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。 这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中。

Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。

漏洞源于RMI Registry和RMI Activation Service(RMI激活服务)的默认配置,允许从远程URL中加载类。

RMI协议使用两种其他协议来实现其on-the-wire格式,即Java对象序列化和HTTP协议:对象序列化协议用来编组调用和返回数据。HTTP协议用于POST远程方法调用,并在情况允许时获取返回数据。

第一步

漏洞发现

使用nmap进行目标扫描端口探测:nmap -sS -Pn -A 192.168.1.151

192.168.73.130是我们的靶机(metasploitable2),靶机上安装了Java RMI服务(rmiregistry),运行在1099端口上,你也可以通过nmap扫描结果来看这个端口是开放的

在我们的攻击机上使用MSF,搜索java_rmi

 

选择攻击模块 exploit/multi/misc/java_rmi_server或者use 1

 

使用show options查看需要设置的参数

由上图可知,我们需要设置RHOSTS(靶机ip),使用set RHOSTS 192.168.1.151

 

接下来就是run/exploit

 

输入命令sysinfo查看系统信息

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值