mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 14:06:44 +08:00
![]() 目录结构: - plugins/legacy/ - 存放已迁移到新架构的老版本插件 - adapters/legacy_plugins/ - 对应的适配器实现 - plugins/services/ - 新架构服务插件 已迁移的老版本插件: - MS17010.go, MS17010-Exp.go - MS17010漏洞检测 - SmbGhost.go - SMBGhost漏洞检测 - SMB.go, SMB2.go - SMB服务检测 - RDP.go - RDP服务检测 - NetBIOS.go - NetBIOS信息收集 - Elasticsearch.go - Elasticsearch服务检测 - Base.go - 工具函数模块 架构特点: - 老版本插件代码完全不变 - 通过适配器实现与新架构的桥接 - 清晰的职责分离和目录组织 - 为后续Web插件和本地插件整理预留空间 测试验证:✓ 所有功能正常 |
||
---|---|---|
.. | ||
elasticsearch | ||
ms17010 | ||
netbios | ||
rdp | ||
smb | ||
smb2 | ||
smbghost | ||
README.md |
Legacy Plugin Adapters
这个目录包含了老版本插件的适配器实现,使用适配器模式将老版本插件无缝接入新的插件架构。
架构设计
老版本插件函数 (plugins/*.go)
↓
LegacyPlugin适配器 (adapter/legacy_plugin.go)
↓
新插件系统 (base/*.go)
已适配插件列表
漏洞检测类插件
-
ms17010 - SMB远程代码执行漏洞检测 (EternalBlue)
- 端口: 445
- 功能: MS17010漏洞检测
- 原函数:
Plugins.MS17010
-
smbghost - CVE-2020-0796 远程代码执行漏洞检测
- 端口: 445
- 功能: SMBGhost漏洞检测
- 原函数:
Plugins.SmbGhost
服务检测类插件
-
smb - SMB服务弱密码检测和共享枚举
- 端口: 445, 139
- 功能: SMB弱密码检测、共享枚举
- 原函数:
Plugins.SmbScan
-
smb2 - SMB2服务弱密码检测 (支持NTLM哈希)
- 端口: 445
- 功能: SMB2弱密码检测、NTLM哈希支持
- 原函数:
Plugins.SmbScan2
-
rdp - RDP远程桌面服务弱密码检测
- 端口: 3389
- 功能: RDP弱密码检测
- 原函数:
Plugins.RdpScan
-
elasticsearch - Elasticsearch弱密码检测和未授权访问检测
- 端口: 9200, 9201, 9300
- 功能: 弱密码检测、未授权访问检测
- 原函数:
Plugins.ElasticScan
信息收集类插件
- netbios - NetBIOS信息收集和主机名解析
- 端口: 139, 445
- 功能: NetBIOS信息收集、主机名解析
- 原函数:
Plugins.NetBIOS
适配器特点
- 零侵入性 - 老版本插件代码完全不需要修改
- 完整兼容 - 实现完整的Plugin接口 (Scanner + Exploiter)
- 类型感知 - 根据插件类型自动配置能力和行为
- 统一管理 - 与新架构插件一起统一调度和管理
配置选项
每个适配器支持以下配置选项:
CheckBruteFlag
- 是否检查暴力破解开关IsVulnPlugin
- 是否为漏洞检测插件IsInfoPlugin
- 是否为信息收集插件CustomPorts
- 自定义端口列表
使用方式
适配器插件会自动注册到全局插件注册表,无需额外配置。通过标准的插件系统调用即可:
# 扫描特定端口
fscan -h target -p 445
# 使用特定插件
fscan -h target -m ms17010,smb2
未来扩展
如需添加更多老版本插件适配器,按以下步骤操作:
- 在此目录下创建新的插件目录
- 实现plugin.go文件,参考现有适配器
- 在core/Registry.go中添加import语句
- 更新此README文档