Documentation ¶
Index ¶
- Variables
- func BinaryLocations(binaryName ...string) []string
- func FetchCurrentNucleiTemplates(defaultDirs ...string) ([]*templateDesc, error)
- func HandleNucleiResultFromFile(ctx context.Context, fileName string) (chan *PocVul, error)
- func HandleNucleiResultFromReader(i io.Reader) chan *PocVul
- func HandleXrayResultChan(r io.Reader) chan *PocVul
- func LoadYamlPoCDatabase(nucleiDir ...string) error
- func PocVulToRisk(p *PocVul) *yakit.Risk
- func PullTemplatesFromGithub(giturl string, proxy ...string) (string, error)
- func RemovePoCDatabase() error
- func ResourceLocations(resResources ...string) []string
- type PocInvoker
- type PocVul
- type SubFinderInstance
Constants ¶
This section is empty.
Variables ¶
View Source
var BruterExports = map[string]interface{}{ "GetAvailableBruteTypes": func() []string { return bruteutils.GetBuildinAvailableBruteType() }, "GetUsernameListFromBruteType": bruteutils.GetUsernameListFromBruteType, "GetPasswordListFromBruteType": bruteutils.GetPasswordListFromBruteType, "New": _yakitBruterNew, "concurrentTarget": yakBruteOpt_ConcurrentTarget, "debug": yakBruteOpt_Debug, "userList": yakBruteOpt_userlist, "passList": yakBruteOpt_passlist, "concurrent": yakBruteOpt_concurrent, "minDelay": yakBruteOpt_minDelay, "maxDelay": yakBruteOpt_maxDelay, "bruteHandler": yakBruteOpt_coreHandler, "okToStop": yakBruteOpt_OkToStop, "finishingThreshold": yakBruteOpt_FinishingThreshold, }
View Source
var BuildinNucleiYakScriptParam = []*ypb.YakScriptParam{ { Field: "target", DefaultValue: "", TypeVerbose: "string", Required: true, FieldVerbose: "扫描目标", Help: "扫描目标可接受:主机名 / 主机名:端口 / IP段 / URL 等多种格式", }, { Field: "reverse-url", DefaultValue: "", TypeVerbose: "string", FieldVerbose: "反连 URL", Help: "可使用 InteractshURL 也可使用 Yakit Reverse URL", }, { Field: "debug", DefaultValue: "", TypeVerbose: "boolean", FieldVerbose: "设置调试模式", Help: "开启调试模式,调试模式将输出尽量多的调试信息", }, { Field: "proxy", DefaultValue: "", TypeVerbose: "proxy", FieldVerbose: "HTTP 代理", Help: "设置 HTTP 代理", }, }
View Source
var Exports = map[string]interface{}{ "NewPocInvoker": func() (*PocInvoker, error) { return NewPocInvoker() }, "NewBruteUtil": func(t string) (*bruteutils.BruteUtil, error) { res, err := bruteutils.GetBruteFuncByType(t) if err != nil { return nil, err } ut, err := bruteutils.NewMultiTargetBruteUtil(256, 1, 5, res) if err != nil { return nil, utils.Errorf("create brute utils failed: %s", err) } return ut, nil }, }
View Source
var FinPortScanExports = map[string]interface{}{ "Scan": func(target string, port string, opts ...finScanOpt) (chan *finscan.FinScanResult, error) { config := &_yakFinPortScanConfig{ waiting: 10 * time.Second, rateLimitDelayMs: 1, rateLimitDelayGap: 5, } for _, opt := range opts { opt(config) } return _finscanDo(hostsToChan(target), port, config) }, "excludePorts": _finScanOptExcludePorts, "excludeHosts": _finScanOptExcludeHosts, "wait": _finScanOptWaiting, "outputFile": _finScanOptOpenPortResult, "outputPrefix": _finScanOptOpenPortResultPrefix, "initHostFilter": _finScanOptOpenPortInitHostFilter, "initPortFilter": _finScanOptOpenPortInitPortFilter, "rateLimit": _finScanOptRateLimit, "concurrent": _finScanOptConcurrent, }
FinPortScanExports 为了防止网卡过载,5个是上限
- waiting 实现
- timeout
View Source
var FingerprintScanExports = map[string]interface{}{ "Scan": scanFingerprint, "ScanOne": scanOneFingerprint, "ScanFromSynResult": _scanFromTargetStream, "ScanFromSpaceEngine": _scanFromTargetStream, "ScanFromPing": _scanFromPingUtils, "proto": func(proto ...interface{}) fp.ConfigOption { return fp.WithTransportProtos(fp.ParseStringToProto(proto...)...) }, "concurrent": fp.WithPoolSize, "excludePorts": fp.WithExcludePorts, "excludeHosts": fp.WithExcludeHosts, "probeTimeout": fp.WithProbeTimeoutHumanRead, "proxy": fp.WithProxy, "cache": fp.WithCache, "databaseCache": fp.WithDatabaseCache, "webRule": fp.WithWebFingerprintRule, "nmapRule": fp.WithNmapRule, "nmapRarityMax": fp.WithRarityMax, "active": fp.WithActiveMode, "maxProbes": fp.WithProbesMax, "maxProbesConcurrent": fp.WithProbesConcurrentMax, "web": func() fp.ConfigOption { return func(config *fp.Config) { config.OnlyEnableWebFingerprint = true } }, "service": func() fp.ConfigOption { return func(config *fp.Config) { config.DisableWebFingerprint = true } }, "all": func() fp.ConfigOption { return func(config *fp.Config) { config.ForceEnableWebFingerprint = true } }, }
View Source
var NucleiOperationsExports = map[string]interface{}{ "PullDatabase": PullTemplatesFromGithub, "UpdateDatabase": LoadYamlPoCDatabase, "RemoveDatabase": RemovePoCDatabase, "AllPoC": FetchCurrentNucleiTemplates, "PocVulToRisk": PocVulToRisk, "GetPoCDir": consts.GetNucleiTemplatesDir, }
View Source
var SubDomainExports = map[string]interface{}{ "Scan": _subdomainScan, "wildcardToStop": subdomain.WithWildCardToStop, "recursive": subdomain.WithAllowToRecursive, "workerConcurrent": subdomain.WithWorkerCount, "dnsServer": subdomain.WithDNSServers, "maxDepth": subdomain.WithMaxDepth, "targetConcurrent": subdomain.WithParallelismTasksCount, "targetTimeout": func(i float64) subdomain.ConfigOption { return subdomain.WithTimeoutForEachTarget(utils.FloatSecondDuration(i)) }, "eachQueryTimeout": func(i float64) subdomain.ConfigOption { return subdomain.WithTimeoutForEachQuery(utils.FloatSecondDuration(i)) }, "eachSearchTimeout": func(i float64) subdomain.ConfigOption { return subdomain.WithTimeoutForEachHTTPSearch(utils.FloatSecondDuration(i)) }, "mainDict": func(i interface{}) subdomain.ConfigOption { return subdomain.WithMainDictionary(utils.StringAsFileParams(i)) }, "recursiveDict": func(i interface{}) subdomain.ConfigOption { return subdomain.WithSubDictionary(utils.StringAsFileParams(i)) }, }
View Source
var SynPortScanExports = map[string]interface{}{ "FixPermission": pcapfix.Fix, "Scan": func(target string, port string, opts ...scanOpt) (chan *synscan.SynScanResult, error) { config := &_yakPortScanConfig{ waiting: 5 * time.Second, rateLimitDelayMs: 1, rateLimitDelayGap: 5, } for _, opt := range opts { opt(config) } return _synScanDo(hostsToChan(target), port, config) }, "ScanFromPing": _synscanFromPingUtils, "callback": _scanOptCallback, "submitTaskCallback": _scanOptSubmitTaskCallback, "excludePorts": _scanOptExcludePorts, "excludeHosts": _scanOptExcludeHosts, "wait": _scanOptWaiting, "outputFile": _scanOptOpenPortResult, "outputPrefix": _scanOptOpenPortResultPrefix, "initHostFilter": _scanOptOpenPortInitHostFilter, "initPortFilter": _scanOptOpenPortInitPortFilter, "rateLimit": _scanOptRateLimit, "concurrent": _scanOptSYNConcurrent, }
为了防止网卡过载,5个是上限
- waiting 实现
- timeout
Functions ¶
func BinaryLocations ¶
func HandleXrayResultChan ¶
func LoadYamlPoCDatabase ¶
func PocVulToRisk ¶
func PullTemplatesFromGithub ¶
func RemovePoCDatabase ¶
func RemovePoCDatabase() error
func ResourceLocations ¶
Types ¶
type PocInvoker ¶
type PocInvoker struct {
// contains filtered or unexported fields
}
func NewPocInvoker ¶
func NewPocInvoker() (*PocInvoker, error)
type PocVul ¶
type PocVul struct { Source string PocName string MatchedAt string Target string IP string Port int Timestamp int64 Payload string Severity string RawJson string Tags string TitleName string Details map[string]interface{} }
func HandleNucleiResult ¶
type SubFinderInstance ¶
type SubFinderInstance struct {
// contains filtered or unexported fields
}
func NewSubFinderInstance ¶
func NewSubFinderInstance() (*SubFinderInstance, error)
func (*SubFinderInstance) Exec ¶
func (s *SubFinderInstance) Exec(domain string, nsServers ...string) ([]*subdomain.SubdomainResult, error)
func (*SubFinderInstance) SetTimeout ¶
func (s *SubFinderInstance) SetTimeout(ts string)
func (*SubFinderInstance) SetTimeoutRaw ¶
func (s *SubFinderInstance) SetTimeoutRaw(t time.Duration)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.