Skip to main content

Insecure service configuration - LDAP

Description

Internal service information should not be stored in the source code, especially AD configurations, as it is obtained from the admon-chanel configuration file.

Impact

Use these insecure service configurations to gain access to the AD and collect all kinds of information that will be useful in later attacks, such as internal network architecture recognition or employee information.

Recommendation

Service configurations and credentials must be in protected environments.

Threat

Internal attacker with access to service configurations.

Expected Remediation Time

⌚ 60 minutes.

Score

Default score using CVSS 3.1. It may change depending on the context of the src.

Base

  • Attack vector: A
  • Attack complexity: L
  • Privileges required: N
  • User interaction: N
  • Scope: U
  • Confidentiality: L
  • Integrity: N
  • Availability: N

Temporal

  • Exploit code maturity: X
  • Remediation level: O
  • Report confidence: X

Result

  • Vector string: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:X/RL:O/RC:X
  • Score:
    • Base: 4.3
    • Temporal: 4.1
  • Severity:
    • Base: Medium
    • Temporal: Medium

Score 4.0

Default score using CVSS 4.0 . It may change depending on the context of the src.

Base 4.0

  • Attack vector: A
  • Attack complexity: L
  • Attack Requirements: N
  • Privileges required: N
  • User interaction: N
  • Confidentiality (VC): L
  • Integrity (VI): N
  • Availability (VA): N
  • Confidentiality (SC): N
  • Integrity (SI): N
  • Availability (SA): N

Threat 4.0

  • Exploit maturity: X

Result 4.0

  • Vector string: CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X
  • Score:
    • CVSS-BT: 5.3
  • Severity:
    • CVSS-BT: Medium

Compliant code

Sensitive resources do not have their credentials stored in the source code

using System;
class cipher{
public void Encrypt() {
DirectoryEntry thrdDirectoryEntry = new DirectoryEntry(adPath, "u", "p", AuthenticationTypes.Secure);
}
}

Non compliant code

There is sensitive information store as plain text

using System;
class cipher{
public void Encrypt() {
DirectoryEntry myDirectoryEntry = new DirectoryEntry(adPath);
myDirectoryEntry.AuthenticationType = AuthenticationTypes.None;
DirectoryEntry sndDirectoryEntry = new DirectoryEntry(adPath, "u", "p", AuthenticationTypes.None);
}
}

Requirements

Fixes

free trial

Search for vulnerabilities in your apps for free with Fluid Attacks' automated security testing! Start your 21-day free trial and discover the benefits of the Continuous Hacking Essential plan. If you prefer the Advanced plan, which includes the expertise of Fluid Attacks' hacking team, fill out this contact form.