Documentation
¶
Index ¶
- Constants
- Variables
- func CIDRRequest(cidr *net.IPNet) (int, string, error)
- func CheckConfig(config *AmassConfig) error
- func DNSDialContext(ctx context.Context, network, address string) (net.Conn, error)
- func DialContext(ctx context.Context, network, address string) (net.Conn, error)
- func GetDefaultWordlist() ([]string, error)
- func IPRequest(addr string) (int, *net.IPNet, string, error)
- func LookupIPHistory(domain string) ([]string, error)
- func NextResolverAddress() string
- func ObtainAdditionalDomains(config *AmassConfig)
- func ReverseDNS(addr string) (string, error)
- func ReverseWhois(domain string) ([]string, error)
- func SetCustomResolvers(resolvers []string)
- func StartEnumeration(config *AmassConfig) error
- func SubdomainToDomain(name string) string
- func WriteGephiFile(path string, config *AmassConfig)
- func WriteGraphistryFile(path string, config *AmassConfig)
- func WriteVisjsFile(path string, config *AmassConfig)
- type ASRecord
- type AlterationService
- type AmassAddressInfo
- type AmassConfig
- type AmassOutput
- type AmassRequest
- type AmassService
- type BaseAmassService
- func (bas *BaseAmassService) Config() *AmassConfig
- func (bas *BaseAmassService) IsActive() bool
- func (bas *BaseAmassService) IsStarted() bool
- func (bas *BaseAmassService) IsStopped() bool
- func (bas *BaseAmassService) NextRequest() *AmassRequest
- func (bas *BaseAmassService) OnStart() error
- func (bas *BaseAmassService) OnStop() error
- func (bas *BaseAmassService) Quit() <-chan struct{}
- func (bas *BaseAmassService) SendRequest(req *AmassRequest)
- func (bas *BaseAmassService) SetActive()
- func (bas *BaseAmassService) SetStarted()
- func (bas *BaseAmassService) SetStopped()
- func (bas *BaseAmassService) Start() error
- func (bas *BaseAmassService) Stop() error
- func (bas *BaseAmassService) String() string
- type BruteForceService
- type DNSAnswer
- type DNSService
- type DataManagerService
- type Edge
- type Graph
- type Neo4j
- type Node
- type SourcesService
Constants ¶
const ( Version string = "v2.3.0" Author string = "Jeff Foley (@jeff_foley)" // Tags used to mark the data source with the Subdomain struct ALT = "alt" BRUTE = "brute" CERT = "cert" SCRAPE = "scrape" ARCHIVE = "archive" // Topics used in the EventBus DNSQUERY = "amass:dnsquery" RESOLVED = "amass:resolved" OUTPUT = "amass:output" // Node types used in the Maltego local transform TypeNorm int = iota TypeNS TypeMX TypeWeb )
Variables ¶
var ( // Public & free DNS servers PublicResolvers = []string{ "1.1.1.1:53", "8.8.8.8:53", "64.6.64.6:53", "208.67.222.222:53", "77.88.8.8:53", "74.82.42.42:53", "1.0.0.1:53", "8.8.4.4:53", "208.67.220.220:53", "77.88.8.1:53", } CustomResolvers = []string{} )
Functions ¶
func CheckConfig ¶
func CheckConfig(config *AmassConfig) error
func DNSDialContext ¶
func GetDefaultWordlist ¶
func LookupIPHistory ¶
LookupIPHistory - Attempts to obtain IP addresses used by a root domain name
func NextResolverAddress ¶
func NextResolverAddress() string
NextResolverAddress - Requests the next server
func ObtainAdditionalDomains ¶
func ObtainAdditionalDomains(config *AmassConfig)
func ReverseDNS ¶
func ReverseWhois ¶
-------------------------------------------------------------------------------------------------- ReverseWhois - Returns domain names that are related to the domain provided
func SetCustomResolvers ¶
func SetCustomResolvers(resolvers []string)
func StartEnumeration ¶ added in v1.3.0
func StartEnumeration(config *AmassConfig) error
func SubdomainToDomain ¶ added in v1.2.1
func WriteGephiFile ¶
func WriteGephiFile(path string, config *AmassConfig)
func WriteGraphistryFile ¶
func WriteGraphistryFile(path string, config *AmassConfig)
func WriteVisjsFile ¶
func WriteVisjsFile(path string, config *AmassConfig)
Types ¶
type ASRecord ¶ added in v1.3.0
type ASRecord struct {
ASN int
Prefix string
CC string
Registry string
AllocationDate time.Time
Description string
Netblocks []string
}
func ASNRequest ¶
type AlterationService ¶
type AlterationService struct {
BaseAmassService
// contains filtered or unexported fields
}
func NewAlterationService ¶
func NewAlterationService(config *AmassConfig, bus evbus.Bus) *AlterationService
func (*AlterationService) OnStart ¶
func (as *AlterationService) OnStart() error
func (*AlterationService) OnStop ¶
func (as *AlterationService) OnStop() error
type AmassAddressInfo ¶
type AmassConfig ¶
type AmassConfig struct {
sync.Mutex
Graph *Graph
// The channel that will receive the results
Output chan *AmassOutput
// Logger for error messages
Log *log.Logger
// The ASNs that the enumeration will target
ASNs []int
// The CIDRs that the enumeration will target
CIDRs []*net.IPNet
// The IPs that the enumeration will target
IPs []net.IP
// The ports that will be checked for certificates
Ports []int
// Will whois info be used to add additional domains?
Whois bool
// The list of words to use when generating names
Wordlist []string
// Will the enumeration including brute forcing techniques
BruteForcing bool
// Will recursive brute forcing be performed?
Recursive bool
// Minimum number of subdomain discoveries before performing recursive brute forcing
MinForRecursive int
// Will discovered subdomain name alterations be generated?
Alterations bool
// Only access the data sources for names and return results?
NoDNS bool
// Determines if active information gathering techniques will be used
Active bool
// A blacklist of subdomain names that will not be investigated
Blacklist []string
// Sets the maximum number of DNS queries per minute
Frequency time.Duration
// Preferred DNS resolvers identified by the user
Resolvers []string
// The Neo4j URL used by the bolt driver to connect with the database
Neo4jPath string
// contains filtered or unexported fields
}
AmassConfig - Passes along optional configurations
func CustomConfig ¶
func CustomConfig(ac *AmassConfig) *AmassConfig
Ensures that all configuration elements have valid values
func DefaultConfig ¶
func DefaultConfig() *AmassConfig
DefaultConfig returns a config with values that have been tested
func (*AmassConfig) AddDomains ¶ added in v1.2.0
func (c *AmassConfig) AddDomains(names []string)
func (*AmassConfig) Blacklisted ¶ added in v1.4.0
func (c *AmassConfig) Blacklisted(name string) bool
func (*AmassConfig) Domains ¶
func (c *AmassConfig) Domains() []string
func (*AmassConfig) IsDomainInScope ¶
func (c *AmassConfig) IsDomainInScope(name string) bool
type AmassOutput ¶
type AmassRequest ¶
AmassRequest - Contains data obtained throughout AmassService processing
func PullCertificateNames ¶
func PullCertificateNames(addr string, ports []int) []*AmassRequest
pullCertificate - Attempts to pull a cert from several ports on an IP
type AmassService ¶
type AmassService interface {
// Start the service
Start() error
OnStart() error
// Stop the service
Stop() error
OnStop() error
NextRequest() *AmassRequest
SendRequest(req *AmassRequest)
IsActive() bool
SetActive()
// Returns a channel that is closed when the service is stopped
Quit() <-chan struct{}
// String description of the service
String() string
}
type BaseAmassService ¶
func NewBaseAmassService ¶
func NewBaseAmassService(name string, config *AmassConfig, service AmassService) *BaseAmassService
func (*BaseAmassService) Config ¶
func (bas *BaseAmassService) Config() *AmassConfig
func (*BaseAmassService) IsActive ¶
func (bas *BaseAmassService) IsActive() bool
func (*BaseAmassService) IsStarted ¶
func (bas *BaseAmassService) IsStarted() bool
func (*BaseAmassService) IsStopped ¶
func (bas *BaseAmassService) IsStopped() bool
func (*BaseAmassService) NextRequest ¶
func (bas *BaseAmassService) NextRequest() *AmassRequest
func (*BaseAmassService) OnStart ¶
func (bas *BaseAmassService) OnStart() error
func (*BaseAmassService) OnStop ¶
func (bas *BaseAmassService) OnStop() error
func (*BaseAmassService) Quit ¶
func (bas *BaseAmassService) Quit() <-chan struct{}
func (*BaseAmassService) SendRequest ¶
func (bas *BaseAmassService) SendRequest(req *AmassRequest)
func (*BaseAmassService) SetActive ¶
func (bas *BaseAmassService) SetActive()
func (*BaseAmassService) SetStarted ¶
func (bas *BaseAmassService) SetStarted()
func (*BaseAmassService) SetStopped ¶
func (bas *BaseAmassService) SetStopped()
func (*BaseAmassService) Start ¶
func (bas *BaseAmassService) Start() error
func (*BaseAmassService) Stop ¶
func (bas *BaseAmassService) Stop() error
func (*BaseAmassService) String ¶
func (bas *BaseAmassService) String() string
type BruteForceService ¶
type BruteForceService struct {
BaseAmassService
// contains filtered or unexported fields
}
func NewBruteForceService ¶
func NewBruteForceService(config *AmassConfig, bus evbus.Bus) *BruteForceService
func (*BruteForceService) OnStart ¶
func (bfs *BruteForceService) OnStart() error
func (*BruteForceService) OnStop ¶
func (bfs *BruteForceService) OnStop() error
type DNSAnswer ¶ added in v1.3.0
type DNSAnswer struct {
Name string `json:"name"`
Type int `json:"type"`
TTL int `json:"TTL"`
Data string `json:"data"`
}
func DNSExchangeConn ¶ added in v1.3.1
DNSExchange - Encapsulates miekg/dns usage
func ResolveDNS ¶
type DNSService ¶
type DNSService struct {
BaseAmassService
// contains filtered or unexported fields
}
func NewDNSService ¶
func NewDNSService(config *AmassConfig, bus evbus.Bus) *DNSService
func (*DNSService) DetectWildcard ¶
func (ds *DNSService) DetectWildcard(req *AmassRequest) bool
DetectWildcard - Checks subdomains in the wildcard cache for matches on the IP address
func (*DNSService) OnStart ¶
func (ds *DNSService) OnStart() error
func (*DNSService) OnStop ¶
func (ds *DNSService) OnStop() error
type DataManagerService ¶
type DataManagerService struct {
BaseAmassService
// contains filtered or unexported fields
}
func NewDataManagerService ¶
func NewDataManagerService(config *AmassConfig, bus evbus.Bus) *DataManagerService
func (*DataManagerService) AttemptSweep ¶
func (dms *DataManagerService) AttemptSweep(domain, addr string, cidr *net.IPNet)
AttemptSweep - Initiates a sweep of a subset of the addresses within the CIDR
func (*DataManagerService) OnStart ¶
func (dms *DataManagerService) OnStart() error
func (*DataManagerService) OnStop ¶
func (dms *DataManagerService) OnStop() error
type Graph ¶
type SourcesService ¶
type SourcesService struct {
BaseAmassService
// contains filtered or unexported fields
}
func NewSourcesService ¶
func NewSourcesService(config *AmassConfig, bus evbus.Bus) *SourcesService
func (*SourcesService) OnStart ¶
func (ss *SourcesService) OnStart() error
func (*SourcesService) OnStop ¶
func (ss *SourcesService) OnStop() error