yellow.git


yellow

~ opinionated web scanning pipeline for pentesters in a hurry
git clone https://github.com/djnnvx/yellow.git
log | files | refs | archive | README | LICENSE

types.go (1972B)

      1 package cli
      2 
      3 import "time"
      4 
      5 type StandardOptions struct {
      6 
      7 	// Pentest target, will be the name of the directories created, for instance
      8 	// if no target file is specified for OSINT command, will use that instead.
      9 	// Can be Outfile or OutDir
     10 	OutName string
     11 
     12 	// Run a dry-run (test mode)
     13 	RunDry bool
     14 
     15 	// Proxy URL (used for the tools supporting it. Other will prompt a warning msg)
     16 	Proxy string
     17 
     18 	// Ignore SSL warnings and force http
     19 	UseHttpInsecure bool
     20 
     21 	// Requests rate-limit (used for the tools supporting it. Other will prompt a warning msg)
     22 	RateLimit int32
     23 
     24 	// Wordlist to use (if any)
     25 	WordlistPath string
     26 
     27 	// File containing list of targets (should be a list of IP Addresses or domains)
     28 	TargetFilePath string
     29 
     30 	// Run Gobuster directory bruteforce (opt-in)
     31 	Gobuster bool
     32 
     33 	// Run TCP port scan + service fingerprinting
     34 	PortScan bool
     35 
     36 	// Ports to scan (comma-separated or ranges, e.g. "22,80,443,8000-9000")
     37 	Ports string
     38 
     39 	// Run nuclei template-based vulnerability scanning (opt-in; downloads templates on first run)
     40 	Nuclei bool
     41 
     42 	// Disable the katana crawl (runs by default)
     43 	NoKatana bool
     44 
     45 	// Katana crawl depth
     46 	KatanaDepth int
     47 
     48 	// Katana crawl time budget per target
     49 	KatanaMaxTime time.Duration
     50 
     51 	// Cap on crawled URLs fed into nuclei/gobuster
     52 	KatanaMaxURLs int
     53 
     54 	// Disable gitleaks secret scanning of crawled responses (runs by default)
     55 	NoSecrets bool
     56 
     57 	// File containing list of emails for credential leak checking
     58 	EmailsFilePath string
     59 }
     60 
     61 func GetDefaultOptions() StandardOptions {
     62 	return StandardOptions{
     63 		KatanaDepth:   3,
     64 		KatanaMaxTime: 3 * time.Minute,
     65 		KatanaMaxURLs: 500,
     66 		WordlistPath:  "/usr/share/wordlists/seclists/Discovery/Web-Content/common.txt",
     67 		Ports:         "21,22,23,25,53,80,110,135,139,143,161,389,443,445,636,993,995,1099,1433,1521,1723,2375,2376,3000,3268,3269,3306,3389,5000,5432,5672,5900,5985,5986,6379,6443,8000,8080,8081,8111,8112,8443,8888,9000,9081,9090,9092,9200,9300,9443,10250,27017",
     68 	}
     69 }