owasp-amass/amass · error

brute forcing cannot be performed without DNS resolution

Error message

brute forcing cannot be performed without DNS resolution

What it means

CheckSettings rejects a configuration where brute forcing is enabled while Passive mode is on. Brute forcing requires actively sending DNS queries, which is impossible when the library is restricted to passive/no-DNS-resolution mode, so this combination is treated as a configuration contradiction.

Source

Thrown at config/config.go:238

			TTL:        1440,
			Confidence: 50,
			Priority:   5,
		},
	}
}

// UpdateConfig allows the provided Updater to update the current configuration.
func (c *Config) UpdateConfig(update Updater) error {
	return update.OverrideConfig(c)
}

// CheckSettings runs some sanity checks on the configuration options selected.
func (c *Config) CheckSettings() error {
	var err error

	if c.BruteForcing {
		if c.Passive {
			return errors.New("brute forcing cannot be performed without DNS resolution")
		}
	}
	if c.Passive && c.Active {
		return errors.New("active enumeration cannot be performed without DNS resolution")
	}

	c.Wordlist, err = ExpandMaskWordlist(c.Wordlist)
	if err != nil {
		return err
	}

	c.AltWordlist, err = ExpandMaskWordlist(c.AltWordlist)
	if err != nil {
		return err
	}
	return err
}

View on GitHub (pinned to 79299dce87)

Solutions

  1. Disable passive mode if brute forcing is required (set Passive: false).
  2. Disable brute forcing / remove wordlist options when running in passive mode.
  3. Update the CLI flag combination before constructing the Config.
  4. Validate flag combinations in the CLI layer with an early error message.

Example fix

// before
cfg.BruteForcing = true
cfg.Passive = true
// after
cfg.Passive = false // brute forcing requires active DNS resolution
Defensive patterns

Strategy: validation

Validate before calling

if bruteForcing && passive {
    return errors.New("passive mode cannot be combined with brute forcing")
}

Try / catch

if err := cfg.CheckSettings(); err != nil {
    if strings.Contains(err.Error(), "brute forcing cannot be performed") {
        // disable brute forcing or turn off passive mode and retry
    }
    return err
}

Prevention

When it happens

Trigger: Calling Config.CheckSettings() when c.BruteForcing == true and c.Passive == true, typically after flags like -p (passive) were combined with brute-forcing options or wordlists.

Common situations: A developer enables passive mode to stay undetectable but leaves brute forcing (or a wordlist) enabled in the config file, or combines CLI flags such as '--passive' with '--wordlist'.

Understand the failure class

Related errors


AI-assisted analysis of owasp-amass/amass@79299dce87 (2026-09-06). Data as JSON: /api/errors/96d864421547a1da. Report an issue: GitHub.