fscan/adapters/legacy_plugins
ZacharyZcR b2b2c4a215 refactor: 统一插件分类系统,修复FindNet执行问题
- 修复FindNet插件分类从information改为service,解决不在服务扫描阶段执行的问题
- 统一所有插件分类为标准的三种类型:service、web、local
- 将vulnerability类型插件(smbghost、ms17010)重分类为service
- 将information类型插件(netbios、findnet)重分类为service
- 确保所有网络服务端口扫描插件都在服务扫描阶段正确执行
- 保持插件功能不变,仅调整分类以符合新架构要求

测试验证:FindNet现已能正确在135端口扫描时显示网络接口信息
2025-08-09 17:31:40 +08:00
..
elasticsearch refactor: 最终整理插件目录结构,分离已迁移的老版本插件 2025-08-09 16:29:21 +08:00
ms17010 refactor: 统一插件分类系统,修复FindNet执行问题 2025-08-09 17:31:40 +08:00
netbios refactor: 统一插件分类系统,修复FindNet执行问题 2025-08-09 17:31:40 +08:00
rdp refactor: 最终整理插件目录结构,分离已迁移的老版本插件 2025-08-09 16:29:21 +08:00
smb refactor: 最终整理插件目录结构,分离已迁移的老版本插件 2025-08-09 16:29:21 +08:00
smb2 refactor: 最终整理插件目录结构,分离已迁移的老版本插件 2025-08-09 16:29:21 +08:00
smbghost refactor: 统一插件分类系统,修复FindNet执行问题 2025-08-09 17:31:40 +08:00
README.md refactor: 重新组织插件架构,分离老版本插件和适配器 2025-08-09 16:24:26 +08:00

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 - 自定义端口列表

使用方式

适配器插件会自动注册到全局插件注册表,无需额外配置。通过标准的插件系统调用即可:

# 扫描特定端口
fscan -h target -p 445

# 使用特定插件
fscan -h target -m ms17010,smb2

未来扩展

如需添加更多老版本插件适配器,按以下步骤操作:

  1. 在此目录下创建新的插件目录
  2. 实现plugin.go文件参考现有适配器
  3. 在core/Registry.go中添加import语句
  4. 更新此README文档