shadow1ng/fscan · error

service_no_credentials

Error message

service_no_credentials

What it means

Guard in RabbitMQPlugin.Scan: GenerateCredentials returned no rabbitmq credential pairs because the configuration has no usable username/password entries, so credential testing cannot start and the scan returns this shared sentinel failure.

Source

Thrown at plugins/services/rabbitmq.go:50

	config := session.Config
	target := info.Target()

	if config.DisableBrute {
		return p.identifyService(ctx, info, session)
	}

	// 先检测未授权访问
	if result := p.testUnauthorizedAccess(ctx, info, session); result != nil && result.Success {
		session.LogSuccess(i18n.Tr("rabbitmq_service", target, result.Banner))
		return result
	}

	credentials := GenerateCredentials("rabbitmq", config)
	if len(credentials) == 0 {
		return &ScanResult{
			Success: false,
			Service: "rabbitmq",
			Error:   fmt.Errorf("%s", i18n.GetText("service_no_credentials")),
		}
	}

	// 使用公共框架进行并发凭据测试
	authFn := p.createAuthFunc(info, session)
	testConfig := DefaultConcurrentTestConfigWithTarget(config, info)

	result := TestCredentialsConcurrently(ctx, credentials, authFn, "rabbitmq", testConfig)

	if result.Success {
		session.LogVuln(i18n.Tr("rabbitmq_credential", target, result.Username, result.Password))
	}

	return result
}

// createAuthFunc 创建RabbitMQ认证函数
func (p *RabbitMQPlugin) createAuthFunc(info *common.HostInfo, session *common.ScanSession) AuthFunc {

View on GitHub (pinned to 95cc12e753)

Solutions

  1. Configure rabbitmq usernames and passwords for the scan
  2. Enable default credential lists
  3. Run identification only via --disable-brute
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at plugins/services/rabbitmq.go:50 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of shadow1ng/fscan@95cc12e753 (2026-09-06). Data as JSON: /api/errors/1711da9590a5b482. Report an issue: GitHub.