OWASP A05:2021 - Security Misconfiguration

Overview

Security Misconfiguration occurs when security settings are defined, implemented, or maintained incorrectly. This vulnerability encompasses a wide range of configuration issues across the entire application stack, from the operating system to custom application code.

Risk Rating

  • Prevalence: Common

  • Detectability: Easy to Average

  • Impact: Moderate to Severe

  • CVSS Score Range: 4.0-7.5 (depending on specific misconfiguration)

Common Scenarios

1. Default Configurations

  • Unchanged default passwords for databases, application servers, admin interfaces

  • Default accounts left enabled (admin/admin, root/root, etc.)

  • Sample applications not removed from production servers

  • Default error pages revealing server information

2. Incomplete or Improper Configurations

  • Directory listings enabled on web servers

  • Unnecessary services running (FTP, SSH, Telnet on web servers)

  • Debug mode enabled in production

  • Verbose error messages exposing stack traces and system information

3. Missing Security Headers

  • X-Frame-Options missing (clickjacking protection)

  • Content-Security-Policy not implemented

  • X-Content-Type-Options missing

  • Strict-Transport-Security not configured

4. Outdated Software Components

  • Unpatched operating systems and applications

  • End-of-life software still in use

  • Unnecessary features enabled in frameworks

Penetration Testing Methodology

1. Information Gathering

2. Configuration Analysis

3. HTTP Security Headers Testing

4. Server Configuration Testing

Common Misconfigurations by Technology

Web Servers

Apache

  • .htaccess files not properly secured

  • ServerTokens set to Full

  • Directory indexing enabled

  • Unnecessary modules loaded

Nginx

  • server_tokens enabled

  • Autoindex on

  • Missing security headers in configuration

IIS

  • Default error pages revealing version information

  • Unnecessary HTTP verbs enabled

  • Directory browsing enabled

Databases

MySQL

  • Root account without password

  • Remote root login enabled

  • Test database present

  • Unnecessary user accounts

MongoDB

  • No authentication configured

  • Binding to 0.0.0.0

  • Default port exposure

Application Frameworks

Spring Boot

  • Actuator endpoints exposed without authentication

  • Debug mode in production

  • Default error handling revealing stack traces

Django

  • DEBUG = True in production

  • Secret key exposure

  • ALLOWED_HOSTS misconfiguration

Detection Techniques

1. Automated Scanning

2. Manual Testing Checklist

Server Information

Access Controls

Network Security

3. Security Headers Assessment

Exploitation Examples

1. Directory Traversal via Misconfigured Web Server

2. Admin Panel with Default Credentials

3. Information Disclosure via Error Messages

Remediation Guidelines

1. Secure Configuration Management

  • Implement infrastructure as code

  • Use configuration management tools (Ansible, Chef, Puppet)

  • Regular configuration audits

  • Secure defaults for all configurations

2. Hardening Checklist

  • Remove or disable unnecessary features and services

  • Change all default passwords and accounts

  • Implement least privilege principle

  • Regular security updates and patches

3. Security Headers Implementation

4. Error Handling

  • Implement custom error pages

  • Log errors securely without exposing sensitive information

  • Disable detailed error messages in production

Tools and Resources

Automated Scanners

  • OpenVAS - Comprehensive vulnerability scanner

  • Nessus - Commercial vulnerability scanner

  • Nuclei - Fast vulnerability scanner with templates

  • Nikto - Web server scanner

Configuration Auditing

  • Lynis - System and configuration auditing

  • CIS-CAT - CIS benchmark assessment

  • Security Monkey - AWS configuration monitoring

  • Scout Suite - Cloud security auditing

Custom Scripts

  • testssl.sh - SSL/TLS configuration testing

  • SSLyze - SSL configuration analyzer

  • securityheaders.com - Online security headers checker

Reporting Template

Finding Description

Common Bypasses and Advanced Techniques

1. WAF Bypass for Configuration Discovery

2. Cloud Metadata Service Access

Prevention Best Practices

  1. Configuration Management: Use version-controlled, automated configuration management

  2. Regular Audits: Implement regular security configuration reviews

  3. Principle of Least Privilege: Configure services with minimal necessary permissions

  4. Defense in Depth: Implement multiple layers of security controls

  5. Continuous Monitoring: Monitor for configuration changes and drift

References and Further Reading

  • OWASP Security Misconfiguration Guide

  • CIS Benchmarks for various technologies

  • NIST Cybersecurity Framework

  • Cloud provider security best practices guides

  • Vendor-specific hardening guides

Last updated