engine

package
v0.0.0-nightly.20260628 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2026 License: AGPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const GogoTempLogFile = ".sock.lock"

Variables

View Source
var ErrNoNeutronTemplates = errors.New("no neutron templates selected")

Functions

func ApplyNeutronProxy

func ApplyNeutronProxy(proxyURL string)

ApplyNeutronProxy sets neutron DefaultOption/DefaultTransport proxy. The published neutron SDK does not yet support per-Config proxy, so we set the process-wide defaults. Each neutron execution creates its own transport clone, making this safe for concurrent use. Pass an empty string to clear.

func CleanupGogoTempFiles

func CleanupGogoTempFiles()

func FingerAllowedIDs

func FingerAllowedIDs(index *association.Index, fingers []string, maxPerFinger int) map[string]struct{}

FingerAllowedIDs builds the set of template IDs allowed by the given fingerprints and index. This is shared between the scan pipeline and the standalone neutron command.

func GogoScanStream

func GogoScanStream(ctx context.Context, eng *gogo.Engine, opts GogoScanOptions) (<-chan *parsers.GOGOResult, error)

func NeutronExecuteStream

func NeutronExecuteStream(ctx context.Context, eng *neutron.Engine, index *association.Index, opts NeutronExecuteOptions) (<-chan *neutron.ExecuteResult, error)

func SelectNeutronTemplates

func SelectNeutronTemplates(eng *neutron.Engine, index *association.Index, opts NeutronExecuteOptions) ([]*templates.Template, bool)

func SprayCheckStream

func SprayCheckStream(ctx context.Context, eng *spray.Engine, opts SprayCheckOptions) (<-chan *parsers.SprayResult, error)

func ZombieWeakpassStream

func ZombieWeakpassStream(ctx context.Context, eng *sdkzombie.Engine, opts ZombieWeakpassOptions) (<-chan *parsers.ZombieResult, error)

Types

type CapacityConfig

type CapacityConfig struct {
	Gogo    int // total concurrent scan threads (default: 5000)
	Spray   int // total concurrent HTTP threads (default: 200)
	Zombie  int // total concurrent auth threads (default: 500)
	Neutron int // total concurrent template executions (default: 10)
}

CapacityConfig holds per-engine capacity limits. Zero means unlimited.

type GogoScanOptions

type GogoScanOptions struct {
	Target       string
	Ports        string
	Threads      int
	Timeout      int
	VersionLevel int
	Exploit      string
	Proxy        string
	Debug        bool
	OnStats      func(sdktypes.Stats)
}

type NeutronExecuteOptions

type NeutronExecuteOptions struct {
	Target       string
	Fingers      []string
	MaxPerFinger int
	Broad        bool
	Debug        bool
}

type ReconOptions

type ReconOptions struct {
	FofaEmail    string
	FofaKey      string
	HunterToken  string // 极少用 — 抓包出来的 web 登录 cookie/JWT, Python 原版 token 模式
	HunterAPIKey string // 华顺信安后台 API 管理生成的 api-key (推荐, 64 位 hex)
	Limit        int
	IngressProxy string // 给 uncover 的全局出站代理 (http://, https://, socks5://, socks5h://)
}

ReconOptions 提供 uncover 资产测绘引擎所需的凭证与默认行为。

type Set

type Set struct {
	Fingers   *sdkfingers.Engine
	Gogo      *gogo.Engine
	Spray     *spray.Engine
	Neutron   *neutron.Engine
	Zombie    *sdkzombie.Engine
	Uncover   *UncoverEngine
	Index     *association.Index
	Resources *resources.Set
	Capacity  CapacityConfig
	Recon     ReconOptions
}

func InitWithOptions

func InitWithOptions(ctx context.Context, opts resources.Options, logger telemetry.Logger) (*Set, error)

func (*Set) Close

func (e *Set) Close()

func (*Set) SetupUncover

func (e *Set) SetupUncover(_ ReconOptions, _ telemetry.Logger)

type SprayCheckOptions

type SprayCheckOptions struct {
	URLs          []string
	Host          string
	Dictionaries  []string
	Rules         []string
	Word          string
	Scope         []string
	DefaultDict   bool
	Advance       bool
	Crawl         bool
	Finger        bool
	ActivePlugin  bool
	ReconPlugin   bool
	BakPlugin     bool
	FuzzuliPlugin bool
	CommonPlugin  bool
	CrawlDepth    int
	Threads       int
	Timeout       int
	MaxDuration   time.Duration
	Proxy         string
	Debug         bool
	OnStats       func(sdktypes.Stats)
}

type UncoverEngine

type UncoverEngine struct{}

func (*UncoverEngine) Close

func (e *UncoverEngine) Close() error

func (*UncoverEngine) Sources

func (e *UncoverEngine) Sources() []string

type ZombieWeakpassOptions

type ZombieWeakpassOptions struct {
	Targets   []sdkzombie.Target
	Users     []string
	Passwords []string
	Threads   int
	Timeout   int
	Top       int
	Proxy     string
	Debug     bool
	OnStats   func(sdktypes.Stats)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL