External audit of web application security
Task: Conducting an external security audit of the web application [NDA] to identify potential vulnerabilities, assess the level of protection, and ensure compliance with best practices in cybersecurity. The main goal was to identify potential threats and provide recommendations for their mitigation, thereby increasing the overall security level of the web application.
The work included:
— Initial review: Gathering information about the web application, including its structure, technologies used, and external integrations, to understand the overall security context.
— Automated IAST/DAST scanning: Performing dynamic and interactive security analysis of the application using automated tools to detect vulnerabilities at the code level and during application execution.
— Semi-automated/manual scanning: Conducting detailed semi-automated and manual checks to identify complex vulnerabilities that may be missed by automated tools.
— Host harvesting: Identifying domains, subdomains, and IP addresses associated with the web application (Host Harvesting / Subdomain Discovery) for further security analysis.
— Host and IP address analysis (WEBINT): Conducting reconnaissance (WEBINT) to gather information about hosts and IP addresses, allowing the identification of potential entry points for attacks.
— Network perimeter overview: Assessing the security of the web application's network perimeter, identifying open ports and services, and evaluating risks.
— DNS zone analysis (DNS Discovery): Checking DNS zone configurations for possible vulnerabilities and misconfigurations.
— TLS/SSL analysis: Verifying TLS/SSL settings to ensure robust data encryption and protection against known protocol-level attacks.
— SMTP server analysis: Assessing the security of the SMTP server, including authentication settings and spam protection.
— FTP server analysis: Checking the FTP server for vulnerabilities such as unprotected data transmission or weak passwords.
— SQL server analysis: Checking the SQL server for vulnerabilities such as SQL injection or misconfigured security settings.
— SSH server analysis: Assessing the security of the SSH server, including authentication settings, brute force protection, and the use of strong keys.
— HTTP header analysis: Checking the configuration of HTTP headers to prevent XSS, Clickjacking, injections, and other types of threats.
— Technology lookup: Identifying technologies and frameworks used on the site to detect possible vulnerabilities in their configuration.
— Structure parsing (file and URL collection): Collecting and analyzing all available files and URLs on the site for further vulnerability testing.
— URL parameter analysis: Checking URL parameters for possible vulnerabilities such as SQL injection or XSS.
— Source code analysis: Conducting source code analysis to identify logical errors, code vulnerabilities, and other risks.
— Web element analysis: Detailed testing of POST/GET requests, forms, and other web elements for vulnerabilities.
— Vulnerability identification and assessment: Collecting and assessing all identified vulnerabilities, including classifying them by severity level.
— Report preparation: Compiling a detailed report that includes all identified vulnerabilities, their potential impact on the web application's security, and recommendations for risk mitigation.
Result: The web application underwent a comprehensive security analysis, allowing for the identification and remediation of critical vulnerabilities. After implementing the recommended security measures, a high level of application protection was ensured, significantly reducing the risk of successful attacks and providing a secure environment for users.
The work included:
— Initial review: Gathering information about the web application, including its structure, technologies used, and external integrations, to understand the overall security context.
— Automated IAST/DAST scanning: Performing dynamic and interactive security analysis of the application using automated tools to detect vulnerabilities at the code level and during application execution.
— Semi-automated/manual scanning: Conducting detailed semi-automated and manual checks to identify complex vulnerabilities that may be missed by automated tools.
— Host harvesting: Identifying domains, subdomains, and IP addresses associated with the web application (Host Harvesting / Subdomain Discovery) for further security analysis.
— Host and IP address analysis (WEBINT): Conducting reconnaissance (WEBINT) to gather information about hosts and IP addresses, allowing the identification of potential entry points for attacks.
— Network perimeter overview: Assessing the security of the web application's network perimeter, identifying open ports and services, and evaluating risks.
— DNS zone analysis (DNS Discovery): Checking DNS zone configurations for possible vulnerabilities and misconfigurations.
— TLS/SSL analysis: Verifying TLS/SSL settings to ensure robust data encryption and protection against known protocol-level attacks.
— SMTP server analysis: Assessing the security of the SMTP server, including authentication settings and spam protection.
— FTP server analysis: Checking the FTP server for vulnerabilities such as unprotected data transmission or weak passwords.
— SQL server analysis: Checking the SQL server for vulnerabilities such as SQL injection or misconfigured security settings.
— SSH server analysis: Assessing the security of the SSH server, including authentication settings, brute force protection, and the use of strong keys.
— HTTP header analysis: Checking the configuration of HTTP headers to prevent XSS, Clickjacking, injections, and other types of threats.
— Technology lookup: Identifying technologies and frameworks used on the site to detect possible vulnerabilities in their configuration.
— Structure parsing (file and URL collection): Collecting and analyzing all available files and URLs on the site for further vulnerability testing.
— URL parameter analysis: Checking URL parameters for possible vulnerabilities such as SQL injection or XSS.
— Source code analysis: Conducting source code analysis to identify logical errors, code vulnerabilities, and other risks.
— Web element analysis: Detailed testing of POST/GET requests, forms, and other web elements for vulnerabilities.
— Vulnerability identification and assessment: Collecting and assessing all identified vulnerabilities, including classifying them by severity level.
— Report preparation: Compiling a detailed report that includes all identified vulnerabilities, their potential impact on the web application's security, and recommendations for risk mitigation.
Result: The web application underwent a comprehensive security analysis, allowing for the identification and remediation of critical vulnerabilities. After implementing the recommended security measures, a high level of application protection was ensured, significantly reducing the risk of successful attacks and providing a secure environment for users.