enum

package
v3.6.0 Latest Latest
Warning

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

Go to latest
Published: May 10, 2020 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InitialQueryTypes = []string{
	"CNAME",
	"TXT",
	"A",
	"AAAA",
}

InitialQueryTypes include the DNS record types that are initially requested for a discovered name

Functions

This section is empty.

Types

type AddressManager added in v3.5.2

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

AddressManager handles the investigation of addresses associated with newly resolved FQDNs.

func NewAddressManager added in v3.5.2

func NewAddressManager(e *Enumeration) *AddressManager

NewAddressManager returns an initialized AddressManager.

func (*AddressManager) InputAddress added in v3.5.2

func (r *AddressManager) InputAddress(req *requests.AddrRequest)

InputAddress is unique to the AddressManager and uses the AddrRequest argument for reverse DNS queries in order to discover additional names in scope.

func (*AddressManager) InputName added in v3.5.2

func (r *AddressManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*AddressManager) OutputNames added in v3.5.2

func (r *AddressManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*AddressManager) Stop added in v3.5.2

func (r *AddressManager) Stop() error

Stop implements the FQDNManager interface.

type AlterationsManager added in v3.5.2

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

AlterationsManager handles the release of FQDNs generated by name alterations.

func NewAlterationsManager added in v3.5.2

func NewAlterationsManager(e *Enumeration) *AlterationsManager

NewAlterationsManager returns an initialized AlterationsManager.

func (*AlterationsManager) InputName added in v3.5.2

func (r *AlterationsManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*AlterationsManager) OutputNames added in v3.5.2

func (r *AlterationsManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*AlterationsManager) Stop added in v3.5.2

func (r *AlterationsManager) Stop() error

Stop implements the FQDNManager interface.

type BruteManager added in v3.5.2

type BruteManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

BruteManager handles the release of FQDNs generated by brute forcing.

func NewBruteManager added in v3.5.2

func NewBruteManager(e *Enumeration) *BruteManager

NewBruteManager returns an initialized BruteManager.

func (*BruteManager) InputName added in v3.5.2

func (r *BruteManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*BruteManager) OutputNames added in v3.5.2

func (r *BruteManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*BruteManager) Stop added in v3.5.2

func (r *BruteManager) Stop() error

Stop implements the FQDNManager interface.

type DNSService added in v3.6.0

type DNSService struct {
	requests.BaseService

	SourceType string
	// contains filtered or unexported fields
}

DNSService is the Service that handles all DNS name resolution requests within the architecture.

func NewDNSService added in v3.6.0

func NewDNSService(sys systems.System) *DNSService

NewDNSService returns he object initialized, but not yet started.

func (*DNSService) OnDNSRequest added in v3.6.0

func (ds *DNSService) OnDNSRequest(ctx context.Context, req *requests.DNSRequest)

OnDNSRequest implements the Service interface.

func (*DNSService) OnSubdomainDiscovered added in v3.6.0

func (ds *DNSService) OnSubdomainDiscovered(ctx context.Context, req *requests.DNSRequest, times int)

OnSubdomainDiscovered implements the Service interface.

func (*DNSService) Type added in v3.6.0

func (ds *DNSService) Type() string

Type implements the Service interface.

type DataManagerService added in v3.6.0

type DataManagerService struct {
	requests.BaseService
	// contains filtered or unexported fields
}

DataManagerService is the Service that handles all data collected within the architecture. This is achieved by watching all the RESOLVED events.

func NewDataManagerService added in v3.6.0

func NewDataManagerService(sys systems.System, g *graph.Graph) *DataManagerService

NewDataManagerService returns he object initialized, but not yet started.

func (*DataManagerService) OnASNRequest added in v3.6.0

func (dms *DataManagerService) OnASNRequest(ctx context.Context, req *requests.ASNRequest)

OnASNRequest implements the Service interface.

func (*DataManagerService) OnDNSRequest added in v3.6.0

func (dms *DataManagerService) OnDNSRequest(ctx context.Context, req *requests.DNSRequest)

OnDNSRequest implements the Service interface.

type DomainManager added in v3.5.2

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

DomainManager handles the release of new domains names to data sources used in the enumeration.

func NewDomainManager added in v3.5.2

func NewDomainManager(e *Enumeration) *DomainManager

NewDomainManager returns an initialized DomainManager.

func (*DomainManager) InputName added in v3.5.2

func (r *DomainManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*DomainManager) OutputNames added in v3.5.2

func (r *DomainManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*DomainManager) Stop added in v3.5.2

func (r *DomainManager) Stop() error

Stop implements the FQDNManager interface.

type Enumeration

type Enumeration struct {
	// Information sent in the context
	Config *config.Config
	Bus    *eventbus.EventBus
	Sys    systems.System
	Graph  *graph.Graph
	// contains filtered or unexported fields
}

Enumeration is the object type used to execute a DNS enumeration with Amass.

func NewEnumeration

func NewEnumeration(cfg *config.Config, sys systems.System) *Enumeration

NewEnumeration returns an initialized Enumeration that has not been started yet.

func (*Enumeration) Close added in v3.6.0

func (e *Enumeration) Close()

Close cleans up resources instantiated by the Enumeration.

func (*Enumeration) Done

func (e *Enumeration) Done()

Done safely closes the done broadcast channel.

func (*Enumeration) ExtractOutput added in v3.6.0

func (e *Enumeration) ExtractOutput(filter stringfilter.Filter) []*requests.Output

ExtractOutput is a convenience method for obtaining new discoveries made by the enumeration process.

func (*Enumeration) Start

func (e *Enumeration) Start() error

Start begins the vertical domain correlation process for the Enumeration object.

type FQDNManager added in v3.5.2

type FQDNManager interface {
	// InputName shares a newly discovered FQDN with the NameManager
	InputName(req *requests.DNSRequest)

	// OutputNames requests new FQDNs from the NameManager
	OutputNames(num int) []*requests.DNSRequest

	Stop() error
}

FQDNManager is the object type for taking in, generating and providing new DNS FQDNs.

type GuessManager added in v3.5.2

type GuessManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

GuessManager handles the release of FQDNs generated from machine learning.

func NewGuessManager added in v3.5.2

func NewGuessManager(e *Enumeration) *GuessManager

NewGuessManager returns an initialized GuessManager.

func (*GuessManager) AddSubdomain added in v3.5.2

func (r *GuessManager) AddSubdomain(sub string)

AddSubdomain is unique to the GuessManager and allows newly discovered subdomain names to be shared with the MarkovModel object.

func (*GuessManager) InputName added in v3.5.2

func (r *GuessManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*GuessManager) OutputNames added in v3.5.2

func (r *GuessManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*GuessManager) Stop added in v3.5.2

func (r *GuessManager) Stop() error

Stop implements the FQDNManager interface.

type NameManager added in v3.5.2

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

NameManager handles the filtering and release of newly discovered FQDNs in the enumeration.

func NewNameManager added in v3.5.2

func NewNameManager(e *Enumeration) *NameManager

NewNameManager returns an initialized NameManager.

func (*NameManager) InputName added in v3.5.2

func (r *NameManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*NameManager) OutputNames added in v3.5.2

func (r *NameManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*NameManager) Stop added in v3.5.2

func (r *NameManager) Stop() error

Stop implements the FQDNManager interface.

type SubdomainManager added in v3.5.2

type SubdomainManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

SubdomainManager handles newly discovered proper subdomain names in the enumeration.

func NewSubdomainManager added in v3.5.2

func NewSubdomainManager(e *Enumeration) *SubdomainManager

NewSubdomainManager returns an initialized SubdomainManager.

func (*SubdomainManager) InputName added in v3.5.2

func (r *SubdomainManager) InputName(req *requests.DNSRequest)

InputName implements the FQDNManager interface.

func (*SubdomainManager) OutputNames added in v3.5.2

func (r *SubdomainManager) OutputNames(num int) []*requests.DNSRequest

OutputNames implements the FQDNManager interface.

func (*SubdomainManager) Stop added in v3.5.2

func (r *SubdomainManager) Stop() error

Stop implements the FQDNManager interface.

Jump to

Keyboard shortcuts

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