Documentation ¶
Index ¶
- Variables
- func CheckMaxPages(config *BaseSearchConfiguration) bool
- func CheckMaxSubdomains(config *BaseSearchConfiguration) bool
- func CheckWildcardSubdomain(state *State, domain string, words <-chan string, wg *sync.WaitGroup)
- func GetHTTPCookieResponse(urls string, cookies []*http.Cookie, timeout int) (resp *http.Response, cookie []*http.Cookie, err error)
- func GetHTTPResponse(url string, timeout int) (resp *http.Response, err error)
- func InitializeWildcardDNS(state *State) bool
- func NewUUID() (string, error)
- func RemoveWildcardSubdomains(state *State, subdomains []string) []string
- func Unique(elements []string) []string
- func Validate(state *State, strslice []string) (subdomains []string)
- type BaseSearchConfiguration
- type BruteforceResult
- type Config
- type Result
- type State
- type StringSet
Constants ¶
This section is empty.
Variables ¶
var ( Red = "\033[31;1;4m" // red color Cyan = "\033[36;6;2m" // cyan color Green = "\033[32;6;3m" // Green color Reset = "\033[0m" // reset for default color Info = "\033[33;1;1m" Que = "\033[34;1;1m" Bad = "\033[31;1;1m" Good = "\033[32;1;1m" Run = "\033[97;1;1m" )
Use like this
fmt.Printf("[%sCRTSH%s] %s", r, rs, subdomain)
Functions ¶
func CheckMaxPages ¶
func CheckMaxPages(config *BaseSearchConfiguration) bool
CheckMaxPages checks if maximum number of pages per service was found.
func CheckMaxSubdomains ¶
func CheckMaxSubdomains(config *BaseSearchConfiguration) bool
CheckMaxSubdomains checks if maximum number of domains was found.
func CheckWildcardSubdomain ¶
Checks if a given subdomain is a wildcard subdomain It takes Current application state, Domain to find subdomains for
func GetHTTPCookieResponse ¶
func GetHTTPCookieResponse(urls string, cookies []*http.Cookie, timeout int) (resp *http.Response, cookie []*http.Cookie, err error)
GetHTTPResponse : Returns a HTTP Response object It needs URL To Visit and a cookie array to send with request. Note, It needs full url with scheme and a timeout value. It returns a HTTP Response object with a cookie array.
func GetHTTPResponse ¶
GetHTTPResponse : Returns a HTTP Response object It needs URL To Visit. Note, It needs full url with scheme and a timeout value. It returns a HTTP Response object
func InitializeWildcardDNS ¶
Method to eliminate Wildcard Is based on OJ Reeves Work on Gobuster Project github.com/oj/gobuster :-)
func NewUUID ¶
NewUUID generates a random UUID according to RFC 4122 Taken from : https://play.golang.org/p/4FkNSiUDMg
Used for bruteforcing and detection of Wildcard Subdomains :-)
func RemoveWildcardSubdomains ¶
Removes bad wildcard subdomains from list of subdomains.
func Unique ¶
Returns unique items in a slice Adapted from http://www.golangprograms.com/remove-duplicate-values-from-slice.html
Types ¶
type BaseSearchConfiguration ¶
type BaseSearchConfiguration struct { MaxDomains int // Max subdomains per page MaxPages int // Max pages we should query CurrentPageNo int // Current page we are checking CurrentRetries int // Retries we have already made PrevLinksFound []string // Links we have previously found CurrentSubdomains []string // Subdomains we have already found on a page AllSubdomains []string // All Subdomains found so far }
Configuration Structure which contains configuration for each search engine.
type BruteforceResult ¶
Current Bruteforce structure
type Config ¶
type Config struct { VirustotalAPIKey string `json:"virustotalApikey"` // Virustotal API Key PassivetotalUsername string `json:"passivetotalUsername"` // PassiveTotal Username (Email Address) PassivetotalKey string `json:"passivetotalKey"` // PassiveTotal api key SecurityTrailsKey string `json:"securitytrailsKey"` // SecurityTrails api key }
func ReadConfigFile ¶
Reads a config file from disk and returns Configuration structure
type Result ¶
type Result struct { Subdomains []string // Subdomains found Error error // Any error that has occured }
Current result structure
type State ¶
type State struct { Color bool // Whether to use color or not Threads int // Number of threads to use Timeout int // Timeout for requests to different passive sources Verbose bool // Show verbose information Domain string // Domain name to find subdomains for Recursive bool // Whether perform recursive subdomain discovery or not Output string // Name of output file Alive bool // Get only alive subdomains (x - no wildcards :-)) IsJSON bool // Provide JSON output file Wordlist string // Wordlist file for subdomains bruteforcing Bruteforce bool // Flag to decide whether to bruteforce or not WildcardIPs StringSet // Wildcard IP Structure IsWildcard bool // Does the host has wildcard subdomains, if yes parse them carefully WildcardForced bool // Force processing of wildcard DNS Responses Sources string // Comma separated list of sources to use Silent bool // Show only silent output or not FinalResults []string // Contains final bruteforcing results ConfigState Config // Current configuration file state }
Holds the State read in from the CLI