# 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` ## 适配器特点 1. **零侵入性** - 老版本插件代码完全不需要修改 2. **完整兼容** - 实现完整的Plugin接口 (Scanner + Exploiter) 3. **类型感知** - 根据插件类型自动配置能力和行为 4. **统一管理** - 与新架构插件一起统一调度和管理 ## 配置选项 每个适配器支持以下配置选项: - `CheckBruteFlag` - 是否检查暴力破解开关 - `IsVulnPlugin` - 是否为漏洞检测插件 - `IsInfoPlugin` - 是否为信息收集插件 - `CustomPorts` - 自定义端口列表 ## 使用方式 适配器插件会自动注册到全局插件注册表,无需额外配置。通过标准的插件系统调用即可: ```bash # 扫描特定端口 fscan -h target -p 445 # 使用特定插件 fscan -h target -m ms17010,smb2 ``` ## 未来扩展 如需添加更多老版本插件适配器,按以下步骤操作: 1. 在此目录下创建新的插件目录 2. 实现plugin.go文件,参考现有适配器 3. 在core/Registry.go中添加import语句 4. 更新此README文档