fscan/plugins/legacy/smbghost/plugin.go
ZacharyZcR 4a3f281b6b refactor: 统一Plugins目录大小写为小写
- 将所有Plugins路径重命名为plugins
- 修复Git索引与实际文件系统大小写不一致问题
- 确保跨平台兼容性和路径一致性
2025-08-12 13:08:06 +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 smbghost
import (
"github.com/shadow1ng/fscan/plugins/adapters"
"github.com/shadow1ng/fscan/plugins/base"
LegacyPlugins "github.com/shadow1ng/fscan/plugins/legacy"
)
// NewSmbGhostPlugin 创建SMBGhost漏洞检测插件
func NewSmbGhostPlugin() base.Plugin {
// 插件元数据
metadata := &base.PluginMetadata{
Name: "smbghost",
Version: "1.0.0",
Author: "fscan-team",
Description: "SMBGhost (CVE-2020-0796) 远程代码执行漏洞检测",
Category: "service",
Ports: []int{445}, // SMB端口
Protocols: []string{"tcp"},
Tags: []string{"smb", "smbghost", "cve-2020-0796", "vulnerability"},
}
// 适配器选项
options := &adapters.LegacyPluginOptions{
CheckBruteFlag: false, // SMBGhost不依赖暴力破解标志
IsVulnPlugin: true, // 这是漏洞检测插件
IsInfoPlugin: false,
CustomPorts: []int{445}, // 固定使用SMB端口
}
// 创建适配器直接使用老版本的SmbGhost函数
return adapters.NewLegacyPlugin(metadata, LegacyPlugins.SmbGhost, options)
}
// init 自动注册SmbGhost插件
func init() {
// 创建插件工厂
metadata := &base.PluginMetadata{
Name: "smbghost",
Version: "1.0.0",
Author: "fscan-team",
Description: "SMBGhost (CVE-2020-0796) 远程代码执行漏洞检测",
Category: "service",
Ports: []int{445},
Protocols: []string{"tcp"},
Tags: []string{"smb", "smbghost", "cve-2020-0796", "vulnerability"},
}
factory := base.NewSimplePluginFactory(metadata, func() base.Plugin {
return NewSmbGhostPlugin()
})
base.GlobalPluginRegistry.Register("smbghost", factory)
}