recon

package
v2.5.1 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2023 License: MIT Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigureCommand

func ConfigureCommand(cmd *cobra.Command) error

func GenerateURLs

func GenerateURLs(scope *NGScope, h *Hosts, subs []string) ([]string, error)

GenerateURLs creates a slice of http and https urls from recon-ng results scope.

func WriteHttpxURLsToFile

func WriteHttpxURLsToFile(csvFilePath, outputDir string) (string, error)

WriteHttpxURLsToFile writes the httpx responsive urls to a file.

Types

type ASNData

type ASNData struct {
	AsnHandle  int      `json:"asnHandle,omitempty"`
	AsnName    string   `json:"asnName,omitempty"`
	OrgID      string   `json:"orgID,omitempty"`
	OrgName    string   `json:"orgName,omitempty"`
	OrgCountry string   `json:"orgCountry,omitempty"`
	Ipv4Prefix []string `json:"ipv4_prefix,omitempty"`
	Ipv6Prefix []string `json:"ipv6_prefix,omitempty"`
}

type ASNMapDomainQueryCSV

type ASNMapDomainQueryCSV struct {
	Timestamp string `csv:"timestamp,omitempty"`
	Input     string `csv:"input,omitempty"`
	AsNumber  string `csv:"as_number,omitempty"`
	AsName    string `csv:"as_name,omitempty"`
	AsCountry string `csv:"as_country,omitempty"`
	AsRange   string `csv:"as_range,omitempty"`
}

type ASNMapScope

type ASNMapScope struct {
	DomainASN []ASNMapDomainQueryCSV
}

type Addresses

type Addresses struct {
	IP   string `json:"ip,omitempty"`
	Cidr string `json:"cidr,omitempty"`
	Asn  int    `json:"asn,omitempty"`
	Desc string `json:"desc,omitempty"`
}

type AmassConfigOptions

type AmassConfigOptions struct {
	OutputDirectory      string
	ScopeIP              string
	ScopeCIDR            string
	ScopeASN             string
	DomainScope          string
	OutOfScopeSubdomains string
	SubWordlist          string
	DataSources          string
}

type AmassData

type AmassData struct {
	Name      string      `json:"name,omitempty"`
	Domain    string      `json:"domain,omitempty"`
	Addresses []Addresses `json:"addresses,omitempty"`
	Tag       string      `json:"tag,omitempty"`
	Sources   []string    `json:"sources,omitempty"`
}

type AmassResults

type AmassResults struct {
	Data []AmassData
}

type CsvReportFiles

type CsvReportFiles struct {
	// contains filtered or unexported fields
}

type DNSReconCSVData

type DNSReconCSVData struct {
	Type    string `csv:"Type,omitempty"`
	Name    string `csv:"Name,omitempty"`
	Address string `csv:"Address,omitempty"`
	Target  string `csv:"Target,omitempty"`
	Port    string `csv:"Port,omitempty"`
	String  string `csv:"String,omitempty"`
}

type DNSReconResults

type DNSReconResults struct {
	DNSReconData []DNSReconCSVData
}

type DNSTwistCSVData

type DNSTwistCSVData struct {
	Fuzzer         string `csv:"fuzzer,omitempty"`
	Domain         string `csv:"domain,omitempty"`
	DNSA           string `csv:"dns_a,omitempty"`
	DNSAaaa        string `csv:"dns_aaaa,omitempty"`
	DNSMx          string `csv:"dns_mx,omitempty"`
	DNSNs          string `csv:"dns_ns,omitempty"`
	Geoip          string `csv:"geoip,omitempty"`
	WhoisRegistrar string `csv:"whois_registrar,omitempty"`
	WhoisCreated   string `csv:"whois_created,omitempty"`
	Ssdeep         string `csv:"ssdeep,omitempty"`
	Field11        string `csv:"FIELD11,omitempty"`
}

type DomainSquatterData

type DomainSquatterData struct {
	DNSTwistData []DNSTwistCSVData
}

type Hosts

type Hosts struct {
	Domains              []string
	SubDomains           []string
	CIDRs                []string
	IPv4s                []string
	IPv6s                []string
	OutOfScope           []string
	OutOfScopeSubdomains []string
	ASNs                 []string
}

func NewScope

func NewScope(opts *Options) (*Hosts, error)

func (*Hosts) RunAllRecon

func (h *Hosts) RunAllRecon(opts *Options) error

RunAllRecon ...

func (*Hosts) RunReconNG

func (h *Hosts) RunReconNG(opts *Options) (*CsvReportFiles, error)

RunReconNG runs all specified modules against the target domain

func (*Hosts) ThoroughReconNG

func (h *Hosts) ThoroughReconNG(opts *Options) (*CsvReportFiles, error)

ThoroughReconNG Runs recon-ng a second time inserting any new base domains if found. If no new base domains were found. Skip.

type HttpxOutputCSV

type HttpxOutputCSV struct {
	Asn                string `csv:"asn,omitempty"`
	A                  string `csv:"a,omitempty"`
	Body               string `csv:"body,omitempty"`
	Cdn                bool   `csv:"cdn,omitempty"`
	CdnName            string `csv:"cdn_name,omitempty"`
	ChainStatusCodes   string `csv:"chain_status_codes,omitempty"`
	Chain              string `csv:"chain,omitempty"`
	Cname              string `csv:"cname,omitempty"`
	ContentLength      int    `csv:"content_length,omitempty"`
	ContentType        string `csv:"content_type,omitempty"`
	Csp                string `csv:"csp,omitempty"`
	Error              string `csv:"error,omitempty"`
	ExtractRegex       string `csv:"extract_regex,omitempty"`
	Extracts           string `csv:"extracts,omitempty"`
	Failed             bool   `csv:"failed,omitempty"`
	Favicon            string `csv:"favicon,omitempty"`
	FinalURL           string `csv:"final_url,omitempty"`
	Hash               string `csv:"hash,omitempty"`
	Header             string `csv:"header,omitempty"`
	Host               string `csv:"host,omitempty"`
	HTTP2              bool   `csv:"http2,omitempty"`
	Input              string `csv:"input,omitempty"`
	Jarm               string `csv:"jarm,omitempty"`
	Lines              int    `csv:"lines,omitempty"`
	Location           string `csv:"location,omitempty"`
	Method             string `csv:"method,omitempty"`
	Path               string `csv:"path,omitempty"`
	Pipeline           bool   `csv:"pipeline,omitempty"`
	Port               int    `csv:"port,omitempty"`
	RawHeader          string `csv:"raw_header,omitempty"`
	Request            string `csv:"request,omitempty"`
	Scheme             string `csv:"scheme,omitempty"`
	StatusCode         int    `csv:"status_code,omitempty"`
	StoredResponsePath string `csv:"stored_response_path,omitempty"`
	Tech               string `csv:"tech,omitempty"`
	Timestamp          string `csv:"timestamp,omitempty"`
	Time               string `csv:"time,omitempty"`
	Title              string `csv:"title,omitempty"`
	TLS                string `csv:"tls,omitempty"`
	URL                string `csv:"url,omitempty"`
	Vhost              bool   `csv:"vhost,omitempty"`
	Webserver          string `csv:"webserver,omitempty"`
	Websocket          bool   `csv:"websocket,omitempty"`
	Words              int    `csv:"words,omitempty"`
}

type MalwoverviewConfigOptions

type MalwoverviewConfigOptions struct {
	VirusTotalAPIKEY string
}

type NGContactsCSV

type NGContactsCSV struct {
	FirstName  string `csv:"first_name"`
	MiddleName string `csv:"middle_name"`
	LastName   string `csv:"last_name"`
	Email      string `csv:"email"`
	Title      string `csv:"title"`
	Region     string `csv:"region"`
	Country    string `csv:"country"`
	Phone      string `csv:"phone"`
	Notes      string `csv:"notes"`
	Module     string `csv:"module"`
}

type NGHostsCSV

type NGHostsCSV struct {
	Host    string `csv:"host"`
	IP      string `csv:"ip_address"`
	Region  string `csv:"region"`
	Country string `csv:"country"`
	Lat     string `csv:"latitude"`
	Long    string `csv:"longitude"`
	Notes   string `csv:"notes"`
	Module  string `csv:"module"`
}

type NGPortsCSV

type NGPortsCSV struct {
	IP       string `csv:"ip_address"`
	Host     string `csv:"host"`
	Port     string `csv:"port"`
	Protocol string `csv:"protocol"`
	Banner   string `csv:"banner"`
	Notes    string `csv:"notes"`
	Module   string `csv:"module"`
}

type NGScope

type NGScope struct {
	URLs          []string
	URLsWithPorts []string
	Domains       []string
	Hosts         []NGHostsCSV
	Contacts      []NGContactsCSV
	Ports         []NGPortsCSV
	HttpxData     []HttpxOutputCSV
}

func ParseHttpxCSV

func ParseHttpxCSV(csvFilePath string) (*NGScope, error)

ParseHttpxCSV maps the httpx output csv results to a struct

func ParseReconNGCSV

func ParseReconNGCSV(csvFiles *CsvReportFiles, outOfScope []string) (*NGScope, error)

ParseReconNGCSV ...

type Options

type Options struct {
	Company                  string
	Creator                  string
	Domain                   interface{}
	Modules                  interface{}
	NetBlock                 interface{}
	OutOfScope               interface{}
	Output                   string
	Workspace                string
	RunDNSRecon              bool
	RunAmass                 bool
	RunPyMeta                bool
	RunDomainSquatting       bool
	PrimaryDomainIsSubdomain bool
	APIKeys                  *config.GoReconConfig
	ReconNGKeys              interface{}
	AmassAPIKeys             interface{}
}

func (*Options) LoadFromCommand

func (opts *Options) LoadFromCommand(cmd *cobra.Command) error

type PyMetaInfo

type PyMetaInfo struct {
	RepoPath       string
	VirtualENVPath string
	OutputDir      string
}

type PythonRepoSetupData

type PythonRepoSetupData struct {
	RepoPath       string
	VirtualENVPath string
	OutputDir      string
}

type SubfinderConfigOptions

type SubfinderConfigOptions struct {
	BeVigil        string
	Bufferover     string
	Binaryedge     string
	C99            string
	Censys         string
	Certspotter    string
	Chaos          string
	Chinaz         string
	Dnsdb          string
	DNSRepo        string
	Fofa           string
	Fullhunt       string
	Github         string
	Hunter         string
	Intelx         string
	Passivetotal   string
	Quake          string
	Robtex         string
	Securitytrails string
	Shodan         string
	Threatbook     string
	Urlscan        string
	Virustotal     string
	Whoisxmlapi    string
	Zoomeye        string
}

Jump to

Keyboard shortcuts

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