fscan/Plugins/legacy/smb/plugin.go
ZacharyZcR 99b0481616 refactor: 完成插件架构重构,移除冗余文件并统一legacy插件引用
- 移动adapters目录到plugins下统一管理
- 删除已迁移的老版本插件文件,避免代码重复
- 更新所有legacy适配器引用,统一使用legacy目录下的源文件
- 新增FindNet插件的legacy适配器,支持135端口RPC扫描
- 修复包导入路径,确保适配器正常工作
- 清理插件目录结构,分离新架构插件和legacy插件
2025-08-09 17:17:45 +08:00

54 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package smb
import (
"github.com/shadow1ng/fscan/plugins/adapters"
"github.com/shadow1ng/fscan/plugins/base"
LegacyPlugins "github.com/shadow1ng/fscan/plugins/legacy"
)
// NewSmbPlugin 创建SMB弱密码检测插件
func NewSmbPlugin() base.Plugin {
// 插件元数据
metadata := &base.PluginMetadata{
Name: "smb",
Version: "1.0.0",
Author: "fscan-team",
Description: "SMB服务弱密码检测和共享枚举",
Category: "service",
Ports: []int{445, 139}, // SMB端口
Protocols: []string{"tcp"},
Tags: []string{"smb", "weak-password", "service", "brute-force"},
}
// 适配器选项
options := &adapters.LegacyPluginOptions{
CheckBruteFlag: true, // SMB依赖暴力破解标志
IsVulnPlugin: false, // 这是服务检测插件,不是漏洞检测
IsInfoPlugin: true, // 包含信息收集功能
CustomPorts: []int{445, 139}, // SMB端口
}
// 创建适配器直接使用老版本的SmbScan函数
return adapters.NewLegacyPlugin(metadata, LegacyPlugins.SmbScan, options)
}
// init 自动注册SMB插件
func init() {
// 创建插件工厂
metadata := &base.PluginMetadata{
Name: "smb",
Version: "1.0.0",
Author: "fscan-team",
Description: "SMB服务弱密码检测和共享枚举",
Category: "service",
Ports: []int{445, 139},
Protocols: []string{"tcp"},
Tags: []string{"smb", "weak-password", "service", "brute-force"},
}
factory := base.NewSimplePluginFactory(metadata, func() base.Plugin {
return NewSmbPlugin()
})
base.GlobalPluginRegistry.Register("smb", factory)
}