> For the complete documentation index, see [llms.txt](https://docs.enginsight.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enginsight.com/docs/knowledge-base/english/penetration-tests/how-does-a-penetration-test-with-enginsight-work.md).

# How does a penetration test with Enginsight work?

A penetration test is a planned and controlled automated attack on your own systems, designed to identify vulnerabilities in a targeted way. Penetration tests are carried out using the Enginsight component Hacktor.

In the following, we will explain how a penetration test with Enginsight works.

***

## 4 Elements of the Penetration Test

The automated penetration test in Enginsight consists of four elements:

1. [Information gathering](#id-1.-information-gathering): Using basic scans and deep scans, Hacktor creates a footprint of the application environment. In other words, it identifies information that could be exploited for an attack.
2. [CVE scan](#id-2.-cve-scan): Hacktor checks the identified software applications for known vulnerabilities that could also be exploited.
3. [Service brute force](#id-3.-service-brute-force): By automatically trying username and password combinations, Hacktor attempts to identify insecure login credentials.
4. [Service discovery](#id-4.-service-discovery): Using specific checks, for example for encryption, authentication, and permissions for specific services, Hacktor identifies security-relevant configuration issues.

Enginsight automatically determines which checks need to be used for the respective target system and shows you in detail whether a check was passed or failed, as well as the reasons why it failed.

***

## 1 – Information Gathering

The goal of information gathering is to create the most comprehensive possible footprint of the systems being examined. Footprinting refers to collecting information that can be used for subsequent hacking attacks.

Real hackers use this approach as well to assess which attack vectors are most promising. From a security perspective, it is therefore best to expose as little information as possible about the technologies you use.

Hacktor uses several approaches for footprinting:

### Basic Scan

<table><thead><tr><th width="177.37890625">Areas examined</th><th>Description</th></tr></thead><tbody><tr><td>Ports</td><td>Open ports are checked for the application behind them and whether the version in use is disclosed.</td></tr><tr><td>HTTP headers</td><td>HTTP headers such as <em>X-Mod-Pagespeed</em> and <em>Server</em> are checked to determine whether they disclose information about the system.</td></tr></tbody></table>

### Deep Scan

<table><thead><tr><th width="246.859375">Areas examined</th><th>Description</th></tr></thead><tbody><tr><td>Web applications</td><td>Statistical methods are used to examine web applications for the technologies they use, such as the CMS, programming languages, and libraries.</td></tr><tr><td>Operating system (SNMP)</td><td>The Simple Network Management Protocol (SNMP) is used to try to determine the operating system in use.</td></tr><tr><td>Installed packets (SNMP)</td><td>SNMP is used to try to access information about installed packets.</td></tr><tr><td>Remote control service</td><td>Attempts are made to obtain information about services that can be used for remote maintenance, such as Secure Shell (SSH), Virtual Network Computing (VNC), Remote Desktop Protocol (RDP), and Telnet.</td></tr><tr><td>mDNS</td><td>The system is checked to determine whether Multicast DNS (mDNS) functionality is enabled and could be used for access.</td></tr></tbody></table>

***

## 2 – CVE Scan

In addition, Hacktor checks the versions of identified software applications in a network-based breadth scan for known vulnerabilities (Common Vulnerabilities and Exposures; CVEs).

If Hacktor finds a CVE, it attempts to validate it by examining metadata. This means that it checks whether the vulnerability applies to the operating system being used and can therefore be exploited. If this is the case, the CVE is marked as *validated*.

In some cases, Hacktor may not be able to determine the operating system with certainty. The CVE can then not be validated. It still appears in the audit report, but is marked as *invalidated*. In this case, the user must verify whether the vulnerability applies to this system.

***

## 3 – Service Brute Force

As part of the service brute-force attack, Hacktor attempts to gain access to the target system by trying large numbers of passwords.

### Attacked Services

Brute force is used for the following services:

* SSH (Secure Shell)
* Telnet
* FTP (File Transfer Protocol)
* MySQL
* MongoDB
* MS SQL
* OracleDB
* Redis
* MariaDB
* RabbitMQ
* PostgreSQL
* HTTP Basic Auth
* HTTP Web Forms (no single-page web applications or JavaScript logins)
* SNMP (Simple Network Management Protocol)
* SMB (Server Message Block)
* RDP (Remote Desktop Protocol)
* RTSP (Real-Time Streaming Protocol)
* VNC (Virtual Network Computing)

### Password Lists

Enginsight provides password lists for penetration tests that are checked by default. You can also [include your own password lists](https://docs.enginsight.com/docs/manual/english/platform-usage/penetration-testing/management/audit-definitions/add-audit-definition#own-password-list) in the check via the Enginsight platform.&#x20;

In addition, Hacktor tests service-specific default authentication credentials.

***

## 4 – Service Discovery

During the discovery phase, Hacktor examines the detected services for common configuration issues. Among other things, it tests authentication methods, permissions, and encryption methods.

### Cross-Service Checks

<table><thead><tr><th width="202.2890625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Exposed Remote Control Service</td><td>Services that can be used for remote maintenance should be viewed critically from a security perspective. Check whether you actually need this service.</td></tr><tr><td>Vulnerable to Log4Shell (CVE-2021-44228)</td><td><p>A vulnerable version of the Java framework Log4j that can be exploited for Log4Shell attacks is in use (CVE-2021-44228).</p><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>Please note</strong>: For this check to produce correct results, connectivity from the target system to Hacktor must be ensured (port range: 1 - 1000) (HTTP, SSH, FTP, SMTP, IMAP).</p></div></td></tr></tbody></table>

### Authentication Providers

<table><thead><tr><th width="202.2890625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Auth-Provider: Operating System information</td><td>One or more available auth providers were used to gather information about the installed operating system. This will be evaluated for vulnerabilities such as CVE or end-of-life designation.</td></tr><tr><td>Auth-Provider: Software Package information</td><td>One or more available auth providers were used to enumerate all installed software packages. This will allow improved evaluation of vulnerabilities such as CVE.</td></tr></tbody></table>

### DNS (Domain Name System)

<table><thead><tr><th width="250.0546875">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Invalid Contact Address for DNS CAA</td><td>The specified email address of the certification authority does not correspond to the valid email format (<em>abc@xyz.com</em>).</td></tr><tr><td>Invalid DMARC record content</td><td>The content of the DMARC record is not valid because one or more tags in the DMARC record are not set.</td></tr><tr><td>Invalid SPF record content</td><td>The entry contains unknown entries (known are: <em>spf1, mx, ip4, ip6, exists, include, all, a, redirect, exp, ptr</em>) and/or unauthorized characters.</td></tr><tr><td>Missing Authoritative DNS Diversity</td><td>The domain's authoritative name servers use the same or similar routing paths in similar geographic locations. This hinders worldwide performance and decreases reliability of reachability.</td></tr><tr><td>Missing Contact Address for DNS CAA</td><td>No contact address is given for the Certification Authority Authorization (CAA) that issued the certificate for the domain.</td></tr><tr><td>Missing DMARC record</td><td>Domain-based Message Authentication, Reporting and Conformance (DMARC) is based on SPF. It allows the sender domain to specify how the recipient should handle the email in the event of a violation.</td></tr><tr><td>Missing DNS CAA record</td><td>DNS Certification Authority Authorization (CAA) records are used to authorize certain certification authorities (CAs) to issue a certificate for the domain. This prevents certificates from being issued for a domain by mistake.</td></tr><tr><td>Missing SPF record</td><td>The SPF protocol enables IP addresses to send emails using the domain. Thus, third parties can be prohibited from misusing the domain name.</td></tr><tr><td>Open DNS Open Resolver (DNS Recursion)</td><td>The DNS service of the target system allows recursive DNS requests for arbitrary domain names. This kind of open DNS resolver can be used for DDoS reflection attacks against third parties, if they are reachable from the internet.</td></tr><tr><td>Uncommon Certification Authority</td><td>The certification authority used (issue, wildissue) is not on our whitelist. </td></tr><tr><td>Vulnerable to DNS Zone Transfer (AXFR)</td><td>The name servers of the target systems allow transferring of their DNS zone. This allows attacks to gather information about the network topology and other potential targets.</td></tr><tr><td>Vulnerable to Subdomain Takeover</td><td>There exists a CNAME record leading to an unregistered third-party hoster. An attacker may register this third-party site and serve content for phishing or social engineering attacks.</td></tr><tr><td>Vulnerable to Webserver DDoS</td><td>The hostname resolves to a single or very few IP addresses (DNS A records). This greatly improves attackers chances of making the web server unreachable by using a DDoS attack.</td></tr></tbody></table>

### FTP (File Transfer Protocol)

<table><thead><tr><th width="250.2265625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows unencrypted FTP logins</td><td>The FTP server allows logins on an unencrypted connection. Attackers may sniff these credentials during transit.</td></tr><tr><td>Anonymous Access to root (/) Directory</td><td>The root directory is part of the backend and access via FTP should only be granted to authorized users with appropriate credentials.</td></tr><tr><td>Anonymous Change Working Directory (cwd) Access</td><td>Anonymous Users i.e. Users with username "anonymous" without password authentication can change the current working directory using the "cwd" command to the specified new path.</td></tr><tr><td>Anonymous FTP Session</td><td>Anonymous FTP allows free access to the FTP directories for all visitors.</td></tr><tr><td>Anonymous Remove File Permission</td><td>Anonymous users should never be able to delete files.</td></tr><tr><td>Anonymous Write File Permission</td><td>Anonymous users should never have write permissions to FTP.</td></tr></tbody></table>

### HTTP (Hypertext Transfer Protocol)

<table><thead><tr><th width="249.81640625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows Access to Database Dump</td><td>Set of files that should be securely hidden away are publicly accessible. File set containing database files.</td></tr><tr><td>Allows Open Redirect</td><td>The website allows incorporation of custom data into redirect targets. An attacker can introduce a URL within the application thus redirecting users to an arbitrary external domain. Thereby vulnerable to Phishing attacks against users visiting the web page.</td></tr><tr><td>Allows unauthenticated access to critical settings</td><td>The device or web server allows unauthenticated access to critical settings, such as modification of passwords.</td></tr><tr><td>Allows unauthenticated access to the WordPress REST API</td><td>The WordPress instance allows unauthenticated access to the REST API, potentially exposing sensitive pages, images and other data.</td></tr><tr><td>Allows WordPress user enumeration</td><td>The configuration of WordPress allows an unauthenticated attacker to enumerate users. These valid usernames may then be used for further attacks.</td></tr><tr><td>Common Credential Store</td><td>Set of files that should be securely hidden away are publicly accessible. File set containing information related to user authentication.</td></tr><tr><td>Common Source Leak</td><td>Set of files that should be securely hidden away are publicly accessible.</td></tr><tr><td>Cross Site Scripting (XSS)</td><td>Cross Site Scripting (XSS) is when an attacker embeds HTML/JavaScript/CSS into a web page so that visitors are returned a manipulated web page.</td></tr><tr><td>Detected WordPress XML-RPC interface</td><td>The WordPress instance has a public facing XML-RPC interface. This interface may be used for attacks such as brute-forcing credentials and using ping backs for port scanning.</td></tr><tr><td>Detection of old web resources</td><td>The website loads javascript and css resources whose "last-modified" http header indicate they have been unchanged for at least 365 days. This may indicate the website has not been updated in necessary intervals.</td></tr><tr><td>Directory Listing is enabled</td><td>Directory Listing is a web server function that is left enabled it discloses the contents of a directory that does not have an index file. An attacker can easily gain access to private content on the web server.</td></tr><tr><td>Displays default page</td><td>The default page of an application is accessible via HTTP. This indicates an incorrect configuration and that sensitive areas may be accessible to unauthorized persons.</td></tr><tr><td>Email-address Harvesting</td><td>The Host is vulnerable to Email Address Harvesting. Malicious bots can scrape these contacts from the website and store them for later use like illegitimate bulk scam mails i.e. phishing scams.</td></tr><tr><td>Exposed Pprof Debug Files</td><td>Unrestricted access for Pprof Debug data is possible. This exposed data may be used by attackers to gather information about the target infastructure.</td></tr><tr><td>Exposed Prometheus Endpoint</td><td>Unrestricted access for Prometheus monitoring data is possible. This exposed data may be used by attackers to gather information about the target infastructure.</td></tr><tr><td>Exposed Setup/Installer Pages</td><td>Unrestricted access to setup or installer pages is possible. These pages typically allow the creation of administrative accounts or system configuration without authentication. Attackers can exploit this to create admin accounts, modify system settings, or gain full control over the application (e.g., phpMyAdmin setup, CloudPanel admin creation).</td></tr><tr><td>Exposed Software (Deep Scan: Web application)</td><td>Statistical methods could be used to detect technologies in use. Limit the possibilities to detect software (especially version numbers) from the outside to reduce the attack surface.</td></tr><tr><td>Exposes login page to critical systems</td><td>The page accessible via HTTP contains the login mask of a critical system.</td></tr><tr><td>Improper error handling outputs detailed messages</td><td>Error messages or debug information created for diagnostic purposes are output via the HTML page or can be provoked (for example by invalid inputs). These error messages can contain sensitive information that opens up attack vectors.</td></tr><tr><td>Jenkins Groovy console is accessible without protection</td><td>If the Jenkins Groovy CI console is not access-restricted, attackers may execute arbitrary code on the CI server. This can lead to full system compromise.</td></tr><tr><td>Loads third-party resources without consent</td><td>When loading the website resources such as scripts, images, fonts or stylesheets are loaded from third-party webservers without user consent. Personally identifiable information such as the IP address are transmitted. This may be against local data privacy policies.</td></tr><tr><td>Missing authentication for backend portal</td><td>Access to potentially sensitive information in a backend portal is possible without authentication.</td></tr><tr><td>Missing HTTPS Redirect</td><td>If the address is accessed via HTTP, there is no redirection to HTTPS.</td></tr><tr><td>Mixed HTTP content found</td><td>The webpage is securely accessed over HTTPS but the content consists of links that are called over insecure HTTP.</td></tr><tr><td>Page source code contains exposed credentials</td><td>The source code of the website contains credentials for an API, cloud services or passwords.</td></tr><tr><td>Page source code contains malware</td><td>The source code of the website contains evidence of a successful cyberattack.</td></tr><tr><td>Public accessible Backend</td><td>The backend is publicly accessible. Restrict the access, e.g. with a VPN.</td></tr><tr><td>Sets cookies without consent</td><td>Although the user has not given consent, cookies are stored. This is only allowed for technically necessary cookies.</td></tr><tr><td>Sets tracking cookies without consent</td><td>Although the user has not given consent, cookies are set and used for tracking activities. This is against the data privacy policies.</td></tr><tr><td>SQL Injection</td><td>In an SQL injection, an attacker attempts to inject their own database commands into an SQL database in order to spy on data or gain control of the system.</td></tr><tr><td>SQL Injection (Status code 5xx)</td><td>In an SQL injection, an attacker attempts to inject their own database commands into an SQL database in order to spy on data or gain control of the system. A statuscode of 5xx indicates that inputs are not validated correctly by the server. If the target system is actually vulnerable must be verified manually.</td></tr><tr><td>Supports Command Injection</td><td>The Host has insufficient form input validations. It is susceptible to the execution of arbitary commands on the host Operating System.</td></tr><tr><td>Supports File Inclusion</td><td>File inclusion makes it possible to include files (and thus code) in a script through a vulnerability in a web application. This allows content on the server to be read or external code to be executed.</td></tr><tr><td>Supports Unvalidated Redirects</td><td>The web application returns status code 200 for any requested uri irregardless of whether the site exists.</td></tr><tr><td>Third-Party IFrame</td><td>The website contains an iframe whose src attribute refers to a third-party domain. An attacker who controls this third party domain may execute arbitrary in any visitors browser. This can be used for Cross Site Scripting (XSS), Click Jacking and Social Engineering attacks.</td></tr><tr><td>Uncommon HTTP Header</td><td>An unknown HTTP header was detected, potentially revealing information. Please check the necessity of the HTTP header and remove it.</td></tr><tr><td>Unrestricted access to Elasticsearch allows information disclosure</td><td>Elasticsearch is accessible without authentication, allowing attackers to read sensitive data or system metadata. This can expose confidential information and aid in further attacks.</td></tr><tr><td>Vulnerable to Broken Link Hijacking</td><td>The source code of the website contains elements which reference an unregistered domain (NXDOMAIN). An attacker may register this domain and insert malicious content into this website. This can be used for Cross Site Scripting (XSS), Click Jacking and Social Engineering attacks.</td></tr><tr><td>Vulnerable to HTTP TRACE/TRACK Methods</td><td>The HTTP TRACE and TRACK methods can expose sensitive information by reflecting client requests, potentially bypassing security measures like HttpOnly cookies. They are often leveraged in Cross-Site Tracing (XST) attacks.</td></tr><tr><td>Vulnerable to HTTP.sys RCE (CVE-2015-1635)</td><td>The web server is vulnerable to a remote code execution vulnerability in the Microsoft HTTP protocol stack (HTTP.sys) due to improper parsing of specially crafted HTTP requests.</td></tr><tr><td>Vulnerable to React Server Components RCE (CVE-2025-66478 / CVE-2025-55182)</td><td>A vulnerable version or exploitable behavior of Next.js/React Server Components is present (CVE-2025-66478 / CVE-2025-55182), allowing remote code execution via the Flight protocol.</td></tr><tr><td>Vulnerable to Shellshock</td><td>The vulnerability in the Unix shell Bash allows to execute any commands on the target system and gain unauthorized access.</td></tr><tr><td>Vulnerable to Shellshock (Status code 5xx)</td><td>The vulnerability in the Unix shell Bash allows to execute any commands on the target system and gain unauthorized access. A statuscode of 5xx indicates that inputs are not validated correctly by the server. Whether the target system is actually vulnerable must be verified manually.</td></tr><tr><td>Vulnerable to Spring4Shell (CVE-2022-22965)</td><td>The vulnerability in the Spring Framework run on Apache Tomcat allows attackers to install a webshell for remote code execution.</td></tr><tr><td>Vulnerable to WordPress DoS (CVE-2018-6389)</td><td>By sending a malicious HTTP GET query, an attacker can cause a denial-of-service condition.</td></tr><tr><td>WordPress Plugin Enumeration (Deep Scan)</td><td>Statistical methods could be used to detect WordPress plugins in use. Limit the possibilities to detect software (especially version numbers) from the outside to reduce the attack surface.</td></tr></tbody></table>

### HTTP headers

<table><thead><tr><th width="250.0703125">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Exposed Software (Basic Scan: Headers)</td><td>The server header contains information about the software used by the source server.</td></tr><tr><td>Exposed X-Mod-Pagespeed Header</td><td>The X-Mod-Pagespeed header should be disabled to avoid revealing unneeded information.</td></tr><tr><td>Exposed X-Powered-By Header</td><td>Many servers are very permissive in their default configuration with the disclosure of information. This concerns especially the X-Powered-By and Server-Header. These should always be deactivated for security reasons.</td></tr><tr><td>Insecure Set-Cookie</td><td>The set cookie HTTP header is used to transfer cookies from the server to the browser.</td></tr><tr><td>Missing Cache-Control Header</td><td>The HTTP Cache-Control header specifies directives for caching mechanisms, controlling how and for how long responses are cached by browsers and proxies. If the header is not set correctly, attackers could potentially access sensitive information stored in the cache, such as passwords or credit card details.</td></tr><tr><td>Missing Content-Security-Policy Header</td><td>The HTTP Content Security Policy regulates which resources can be loaded or executed in the browser in a certain way.</td></tr><tr><td>Missing Permissions-Policy Header</td><td>The permissions policy specifies which functions or APIs of a browser are explicitly allowed or denied for a given web page.</td></tr><tr><td>Missing Referrer-Policy Header</td><td>The Referrer-Policy header is used to access referrer information used website in analytics. Exposing this header makes analytics information to be publicly available.</td></tr><tr><td>Missing Strict-Transport-Security</td><td>HTTP Strict Transport Security (HSTS) is a security mechanism for HTTPS connections that protects against both connection encryption being overridden and session hijacking.</td></tr><tr><td>Missing X-Content-Type-Options Header</td><td>The only defined value "nosniff" prevents Internet Explorer from determining and applying a content type other than the declared one by MIME sniffing.</td></tr><tr><td>Missing X-Frame-Options Header</td><td>The X-frame options can be used to determine whether a calling browser is allowed to embed the target page in a &#x3C;frame>, &#x3C;iframe> or &#x3C;object> render.</td></tr></tbody></table>

### LDAP (Lightweight Directory Access Protocol)

<table><thead><tr><th width="249.9375">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows enumeration of Domain Users</td><td>Sensitive system information can be spied out by Anonymous Bind. This information can be used for further attacks. Access to user information should be restricted to privileged users only.</td></tr><tr><td>Allows enumeration of email addresses</td><td>Sensitive user information can be spied out by Anonymous Bind. Access to protected information should be restricted to authorized users only.</td></tr><tr><td>Allows enumeration of personal names</td><td>Sensitive user information can be spied out by Anonymous Bind. Access to protected information should be restricted to authorized users only.</td></tr><tr><td>Allows enumeration of postal addresses</td><td>Sensitive user information can be spied out by Anonymous Bind. Access to protected information should be restricted to authorized users only.</td></tr><tr><td>Allows enumeration of telephone numbers</td><td>Sensitive user information can be spied out by Anonymous Bind. Access to protected information should be restricted to authorized users only.</td></tr><tr><td>Allows unauthenticated bind</td><td>If authentication as a user fails (due to accidentally providing an empty password), no warning is returned and anonymous access is granted. As a result, there is a risk of uploading sensitive data publicly.</td></tr><tr><td>Constrained Delegation Enabled</td><td>An account is configured for Kerberos Constrained Delegation, allowing it to impersonate users to a specific list of services (SPNs) on other computers. While more secure than Unconstrained Delegation, this still presents a significant risk. If an attacker compromises this account or its host, they can move laterally to the allowed services as any user who authenticates to the compromised system. The risk is high if delegation is allowed to sensitive services like CIFS, HOST, or RPC on high-value targets like servers or domain controllers.</td></tr><tr><td>Unconstrained Delegation Enabled</td><td>A user or computer account is configured for Kerberos Unconstrained Delegation. This is a highly privileged and dangerous setting. If an attacker compromises a host with this configuration, they can capture Kerberos tickets from any user who authenticates to it, including Domain Administrators. This allows the attacker to impersonate those users and can lead to a full domain compromise.</td></tr><tr><td>Vulnerable to Kerberoasting</td><td>Kerberoasting is an offline password cracking technique that targets service accounts. This check has identified user accounts with a Service Principal Name (SPN) that do not have a Fine-Grained Password Policy applied. These accounts are likely protected only by the default domain password policy, which may be weak. An attacker with any valid domain user account can request service tickets for these accounts and attempt to crack their passwords offline.</td></tr></tbody></table>

### LDAP via authentication provider

{% hint style="warning" %}
**Please note**: These checks are only performed if you created a respective authentication provider for LDAP under **Penetration Testing** → **Management** → <mark style="background-color:red;">Auth-Providers</mark> in the Enginsight platform.
{% endhint %}

<table><thead><tr><th width="250.34765625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>AD Users with guest access</td><td>The Active Directory contains users do not require a password.</td></tr><tr><td>AD Users with old passwords</td><td>The Active Directory contains users whose passwords have not been updated for some time.</td></tr><tr><td>AD Users with unset passwords</td><td>The Active Directory contains users whose passwords have not been set yet.</td></tr><tr><td>AD Users without password expiration</td><td>The Active Directory contains users whose passwords never expire.</td></tr></tbody></table>

### mDNS (Multicast DNS)

<table><thead><tr><th width="249.81640625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Exposed Hostnames via mDNS</td><td>Enabled multicast DNS (mDNS) functionality can be abused to spy information and prepare attacks. Check whether mDNS is needed, disable it if necessary, or make sure that it is only accessible to trusted clients.</td></tr><tr><td>Remote mDNS Detection</td><td>The target system responds to direct multicast DNS (mDNS) requests on UDP port 5353. If the target is reachable from the internet, this can be used for DDoS reflection attacks against third parties. This also allows gathering information about the target system.</td></tr></tbody></table>

### MongoDB

<table><thead><tr><th width="250.36328125">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows access to Admin DB</td><td>Allows unauthenticated access to Admin Database for the MongoDB instance.</td></tr><tr><td>Allows access to Config DB</td><td>Allows unauthenticated access to Config Database for the MongoDB instance.</td></tr><tr><td>Allows access to diverse DBs</td><td>Allows unauthenticated access to various other Databases present in the MongoDB instance.</td></tr><tr><td>Allows access to Local DB</td><td>Allows unauthenticated access to Local Database for the MongoDB instance.</td></tr><tr><td>Allows anonymous login</td><td>When a MongoDB is created, no authentication mechanisms are active and the user has all privileges. To increase the security of mongodb, anonymous access should be disabled.</td></tr><tr><td>Allows Insert into collection</td><td>Allows unauthencticated write access into the available databases. An attacker can insert MongoDB documents without valid authentication into one or all of the databases in Host.</td></tr><tr><td>Allows to Delete collection</td><td>Allows unauthencticated drop of available databases. An attacker can drop MongoDB documents without valid authentication for one or all of the databases in Host.</td></tr><tr><td>Vulnerable to MongoBleed (CVE-2025-14847)</td><td>A vulnerable version of MongoDB is used that allows unauthenticated attackers to leak sensitive server memory. Faulty handling of zlib compression may allow potentially expose credentials, tokens or keys.</td></tr></tbody></table>

### MySQL

<table><thead><tr><th width="249.765625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Access performance_schema DB</td><td>MySQL Performance Schema is a feature for monitoring MySQL executions. This information should not be publicly available.</td></tr><tr><td>Alter user privileges</td><td>The role of users can be changed, for example to a user with administrator rights. In this way, unauthorized access can be enabled.</td></tr><tr><td>Anonymous connection from root user</td><td>Host Database is accessible without authentication. Anyone without a password can connect to the database.</td></tr><tr><td>Anonymous User found</td><td>Setting up MySQL instance creates an anonymous user, allowing anyone to log into the database without having a user account setup. It is intented only for testing purposes and must be removed immediately after installation or atleast before moving into production.</td></tr><tr><td>Can create new user</td><td>Your MySQL database should be configured in such a way that it is not possible for unauthorized persons to create a new user.</td></tr><tr><td>Test DB found</td><td>Setting up MySQL instance creates a default "test" database, which can be accessed by anyone. It is intented only for testing purposes and must be removed immediately after installation or atleast before moving into production.</td></tr><tr><td>User found with remote access from any host</td><td>Public remote access to a mysql instance is disabled by default for security reasons. If necessary, remote access can be enabled. This however should be restricted to specific ip addresses.</td></tr><tr><td>User found without password</td><td>A secure password should be set for each user of the MySQL database.</td></tr></tbody></table>

### Port scan

<table><thead><tr><th width="250.0546875">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Bind shell detection</td><td>A bind shell backdoor was detected on the system. This may be used by attackers to execute arbitrary commands. The system should be considered fully compromised.</td></tr><tr><td>Exposed Software (Basic Scan)</td><td>The possibility of accessing version numbers should be restricted so as not to provide potential attackers with unnecessary information.</td></tr></tbody></table>

### RDP (Remote Desktop Protocol)

<table><thead><tr><th width="250.0546875">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Missing RDP Network Level Authentication</td><td>The login screen is accessible without requiring authentication at the network level.</td></tr></tbody></table>

### SMB (Server Message Block)

{% hint style="info" %}
These checks concern the use of the SMB protocol via Microsoft-DS (Microsoft Directory Service) and NetBIOS-SSN (NetBIOS Session Service). NetBIOS-SSN is currently supported only for Linux systems, not for Windows systems.
{% endhint %}

<table><thead><tr><th width="250.125">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows Guest Login</td><td>If the login is incorrect, SMB guest access is automatically granted, which may have access rights.</td></tr><tr><td>Allows Read Access</td><td>Read access to shared folders is possible via SMB.</td></tr><tr><td>Allows Write Access</td><td>Write access to non-default shared folders is possible via SMB.</td></tr><tr><td>Open SMB Network Shares</td><td>A non-default SMB Share exists.</td></tr><tr><td>SMB Signing not required</td><td>Signing is not required on the SMB server. This can be exploited by an attacker for a man-in-the-middle attack.</td></tr><tr><td>Supports SMB 3.1.1 and compression (SMBGhost CVE-2020-0796)</td><td>The device is vulnerable to a remote code execution due to the way in which the Microsoft SMB 3.1.1 protocol stack handles certain requests. This applies to Windows version 1903 and 1909. The vulnerability itself was not checked, but the basic prerequisites were verified, SMB 3.1.1 with enabled compression.</td></tr><tr><td>Supports SMBv1</td><td>Version 1.0 of the Server Message Block (SMB) protocol is deprecated and should no longer be used.</td></tr><tr><td>Vulnerable to Cisco SMB Security vulnerability 'WEBEXEC'</td><td>The WebExec vulnerability is a security flaw that allows remote code execution on Windows systems through the Windows Management Instrumentation (WMI) service.</td></tr><tr><td>Vulnerable to EternalBlue (CVE-2017-0144)</td><td>Microsoft Security Bulletin MS17-010 addresses a critical vulnerability in the Server Message Block (SMB) protocol in Windows, known as EternalBlue, that could allow remote code execution.</td></tr><tr><td>Vulnerable to SMB 'Conficker-Worm Malware'</td><td>The Conficker worm exploits a vulnerability in the Server Message Block (SMB) protocol, allowing it to spread rapidly across networks by infecting computers running Windows operating systems.</td></tr><tr><td>Vulnerable to SMB vulnerability 'CVE-2009-3103'</td><td>The SMB vulnerability CVE-2009-3103 allows attackers to execute arbitrary code or cause a denial of service (DoS) via a crafted SMB packet on systems running certain versions of Windows.</td></tr><tr><td>Vulnerable to SMB vulnerability 'MS06-025'</td><td>Microsoft Security Bulletin MS06-025 addresses a vulnerability in the Windows Server Service that could allow remote code execution. Exploitation of this vulnerability involves sending a specially crafted RPC request to a vulnerable system.</td></tr><tr><td>Vulnerable to SMB vulnerability 'MS07-029'</td><td>Microsoft Security Bulletin MS07-029 addresses a vulnerability in the Windows Universal Plug and Play (UPnP) service that could allow remote code execution.</td></tr><tr><td>Vulnerable to SMB vulnerability 'MS08-067'</td><td>Microsoft Security Bulletin MS08-067 addresses a critical vulnerability in the Server service in Windows that could allow remote code execution.</td></tr><tr><td>Vulnerable to SMB vulnerability 'REGSVC-DOS'</td><td>The regsvc-dos vulnerability is a denial-of-service (DoS) attack that exploits a flaw in the Remote Registry Service in Windows.</td></tr><tr><td>Vulnerable to Zerologon</td><td>The Netlogon protocol implementation in Windows domain controllers is vulnerable to Zerologon, allowing attackers to impersonate any computer, including the domain controller itself. This can result in domain takeover or elevation of privileges.</td></tr></tbody></table>

### SMTP (Simple Mail Transfer Protocol)

<table><thead><tr><th width="249.9921875">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows sending external emails without authentication</td><td>Unauthenticated users are allowed to send messages to external email addresses and with external email addresses via the mail relay. The mail server can therefore be misused for phishing attacks or spam messages.</td></tr><tr><td>Allows sending internal emails without authentication</td><td>Unauthenticated users are allowed to send messages from internal email addresses to internal email addresses via the mail relay. The mail server can therefore be abused for spoofing.</td></tr><tr><td>Allows user enumeration using EXPN</td><td>The SMTP EXPN command returns a list of alias addresses with associated destinations. It can be misused to spy out valid usernames or collect email addresses for spam.</td></tr><tr><td>Allows user enumeration using VRFY</td><td>The SMTP VRFY command allows to check if an email address exists. It can be misused to spy out valid usernames or collect email addresses for spam.</td></tr><tr><td>No support for encrypted connection (StartTLS)</td><td>The SMTP server does not support upgrading an insecure connection to StartTLS. Any communication is therefore vulnerable to eavesdropping.</td></tr></tbody></table>

### SNMP (Simple Network Management Protocol) v1 & SNMP v2

<table><thead><tr><th width="249.80859375">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Allows Read Access</td><td>Read access to Object Identifier (OID) is possible via SNMP. </td></tr><tr><td>Allows Write Access</td><td>Write access to Object Identifier (OID) is possible via SNMP.</td></tr><tr><td>Exposed Operating System (Deep Scan)</td><td>The version of the operating system used helps hackers select suitable attack vectors.</td></tr><tr><td>Exposed Software (Deep Scan)</td><td>Access to the list of installed packages is possible via SNMP. This sensitive information can be used to explore attack methods.</td></tr><tr><td>Uses common community string</td><td>For SNMP, one or more community strings are used for user authentication, which are commonly used and therefore particularly insecure.</td></tr><tr><td>Vulnerable to GETBULK Reflection DDoS</td><td>The SNMP daemon is responding with a large amount of data following a GETBULK request with larger than normal max-repetitions value. This can be used for a reflected distributed denial of service attack.</td></tr></tbody></table>

### SSH (Secure Shell)

<table><thead><tr><th width="249.515625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Insecure Encryption Algorithms</td><td>During the SSH connection setup, a key exchange takes place. During this process, the client and server agree on a common encryption algorithm. A secure encryption method should be selected.</td></tr><tr><td>Insecure Key Exchange Algorithms</td><td>A key exchange takes place as part of the SSH connection setup. The shared session key is used for authentication and encryption of the session. If an insecure key exchange method is used, the security of the connection is compromised.</td></tr><tr><td>Insecure Mac Algorithms</td><td>The Message Authentication Code (MAC) is used to obtain certainty about the origin of data and to check its integrity. This verification is secured by means of a keyed-hash message authentication code (HMAC). A secure procedure should be used for this.</td></tr><tr><td>Insecure Server Host Key Algorithms</td><td>A key exchange takes place as part of the SSH connection setup. The shared session key is used for authentication and encryption of the session. If an insecure key exchange method is used, the security of the connection is compromised.</td></tr><tr><td>Insecure SSH Public Key</td><td>The SSH server authenticates itself to the client. During key exchange, the client checks the servers authenticity using the host public key. A secure procedure should be used for this.</td></tr><tr><td>Insecure SSH Version</td><td>In 2006, SSH-1 was replaced by the revised version network protocol (SSH-2). SSH-1 is no longer considered secure due to cryptographic weaknesses and should therefore not be used.</td></tr><tr><td>No Support for SSH Public Key Authentication</td><td>The client should have to authenticate itself to the server using a public key, since passwords can be insecure and thus vulnerable to bruteforce.</td></tr><tr><td>Supports SSH Password Authentication</td><td>Authentication based on asymmetric keys is considered more secure than password usage.</td></tr><tr><td>Vulnerable to DHEater (CVE-2002-20001)</td><td>The vulnerability in Diffie-Hellman Key Agreement Protocol allows an attacker to trigger expensive server-side calculations.</td></tr><tr><td>Vulnerable to Terrapin (CVE-2023-48795)</td><td>The target system is vulnerable to the Terrapin vulnerability in the SSH protocol. Attackers performing a man-in-the-middle attack may be able to downgrade the connection's security.</td></tr></tbody></table>

### SSL/TLS (Secure Sockets Layer/Transport Layer Security)

<table><thead><tr><th width="250.31640625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Certificate revoked</td><td>The certificate has been revoked and should no longer be used.</td></tr><tr><td>Expired Certificate</td><td>If the certificate is expired it becomes invalid, you will no longer be able to run secure transactions.</td></tr><tr><td>Insecure SSL/TLS Protocol (SSLv2)</td><td>SSLv2 is obsolete and is no longer considered secure.</td></tr><tr><td>Insecure SSL/TLS Protocol (SSLv3)</td><td>SSLv3 is obsolete and is no longer considered secure.</td></tr><tr><td>Insecure SSL/TLS Protocol (TLSv1.1)</td><td>TLSv1.1 is obsolete and is no longer considered secure.</td></tr><tr><td>Insecure SSL/TLS Protocol (TLSv1)</td><td>TLSv1 is obsolete and is no longer considered secure.</td></tr><tr><td>Invalid Certificate</td><td>If the certificate is invalid, you will no longer be able to run secure transactions.</td></tr><tr><td>Invalid Hostname Validation</td><td>The certificate does not contain the host name of the target system.</td></tr><tr><td>Missing Common Name in Alternative Names</td><td>The Common Name is not included in the Subject Alternative Names, so the certificate validation is blocked.</td></tr><tr><td>Missing Encryption</td><td>The target system does not support encryption via SSL/TLS or StartTLS. Any data transmitted between the client and server is therefore not secure.</td></tr><tr><td>Missing TLS_FALLBACK_SCSV Support</td><td>The server does not support TLS_FALLBACK_SCSV (RFC 7507), which protects against protocol downgrade attacks. Without this mechanism, an attacker can force the use of older, weaker TLS versions.</td></tr><tr><td>No Support for authenticated encryption (AEAD) ciphers</td><td>Authenticated Encryption simplifies the realization of confidentiality and authenticity and is therefore recommended.</td></tr><tr><td>No support for latest Protocol (TLSv1.3)</td><td>The newest and most secure protocol TLSv1.3 is not being supported.</td></tr><tr><td>No Support for Perfect Forward Secrecy</td><td>Perfect Forward Secrecy ensures that the newly negotiated session-key cannot be reconstructed from the long-term-key.</td></tr><tr><td>No Support for Secure Renegotiation</td><td>The server is unable to initiate a secure renegotiation of the SSL/TLS connection. Insecure renegotiation makes the connection vulnerable to man-in-the-middle attacks.</td></tr><tr><td>Supports Anonymous Ciphers</td><td>Anonymous ciphers are insecure and should not be used.</td></tr><tr><td>Supports ciphers vulnerable to BEAST</td><td>Ciphers that contain insecure cryptographic procedures should not be offered.</td></tr><tr><td>Supports client-initiated SSL/TLS renegotiation</td><td>Clients should not be allowed to initiate SSL/TLS connection renegotiation. This possibility can be exploited to intentionally overload the server and execute a Denial of Service (DoS) attack.</td></tr><tr><td>Supports Common Diffie-Hellman Prime</td><td>Using an insecure Diffie-Hellman prime compromises perfect forward secrecy and thus encryption.</td></tr><tr><td>Supports MD5 Ciphers</td><td>MD5 is no longer considered sufficiently safe and should therefore not be used.</td></tr><tr><td>Supports Null Encryption Cipher</td><td>A null-cipher means that no encryption is used. This is never recommended except for test purposes.</td></tr><tr><td>Supports RC4 Ciphers</td><td>RC4 is no longer considered sufficiently safe and should therefore not be used.</td></tr><tr><td>Supports SSL/TLS compression</td><td>It is not recommended to use compression because it makes SSL/TLS attackable (especially for CRIME, Compression Ratio Info-leak Made Easy).</td></tr><tr><td>Supports vulnerable POODLE attack ciphers</td><td>Poodle attacks use a vulnerability in SSL 3.0 so that encrypted information of a SSL 3.0 connection can be disclosed.</td></tr><tr><td>Supports Weak Cipher (Algorithm)</td><td>SSL/TLS ciphers define which encryption algorithms are used to exchange keys and how the communication gets secured. If insecure SSL/TLS ciphers get offered, the established connection is no longer secure.</td></tr><tr><td>Supports Weak Cipher (Bits &#x3C; 128)</td><td>SSL/TLS ciphers define which encryption algorithms are used to exchange keys and how the communication gets secured. If insecure SSL/TLS ciphers get offered, the established connection is no longer secure.</td></tr><tr><td>Supports Weak Cipher (Bits &#x3C; 96)</td><td>SSL/TLS ciphers define which encryption algorithms are used to exchange keys and how the communication gets secured. If insecure SSL/TLS ciphers get offered, the established connection is no longer secure.</td></tr><tr><td>Supports Weak Cipher (CBC, CCM, CAMELLIA, SEED, ARIA, DSS, TLS_RSA)</td><td>SSL/TLS ciphers define which encryption algorithms are used to exchange keys and how the communication gets secured. If insecure SSL/TLS ciphers get offered, the established connection is no longer secure.</td></tr><tr><td>Supports Weak Cipher (RC4, RC2, MD5, EXPORT, NULL, Bits &#x3C; 96)</td><td>SSL/TLS ciphers define which encryption algorithms are used to exchange keys and how the communication gets secured. If insecure SSL/TLS ciphers get offered, the established connection is no longer secure.</td></tr><tr><td>Supports Weak Cipher (SHA1, DES, Bits &#x3C; 128, ECDH Bits &#x3C; 128, DH Bits 2048)</td><td>SSL/TLS ciphers define which encryption algorithms are used to exchange keys and how the communication gets secured. If insecure SSL/TLS ciphers get offered, the established connection is no longer secure.</td></tr><tr><td>Supports Weak SSL/TLS Handshake Parameters</td><td>Signature creation and verification during the TLS handshake uses an insecure signature algorithm and/or hash function.</td></tr><tr><td>Vulnerable according to BSI</td><td>The SSL/TLS encryption does not meet the requirements of the TR-03116-4 checklist.</td></tr><tr><td>Vulnerable according to GDPR</td><td>The SSL/TLS encryption is contrary to the current state of the technology and therefore violates Art. 32 DSGVO.</td></tr><tr><td>Vulnerable to CCS Injection (CVE-2014-0224)</td><td>The server accepts ChangeCipherSpec messages before the key exchange is complete, allowing a man-in-the-middle attacker to force the use of weak keying material and decrypt or modify traffic.</td></tr><tr><td>Vulnerable to DHEater (CVE-2002-20001)</td><td>The vulnerability in Diffie-Hellman Key Agreement Protocol allows an attacker to trigger expensive server-side calculations.</td></tr><tr><td>Vulnerable to DROWN</td><td>Using the outdated SSLv2, recorded TLS traffic can be hacked.</td></tr><tr><td>Vulnerable to FREAK</td><td>During a FREAK attack, the communication partners are forced to agree on an insecure encryption method, although secure methods are available.</td></tr><tr><td>Vulnerable to Heartbleed</td><td>Due to a bug in OpenSSL, the server can be manipulated to expose sensitive information.</td></tr><tr><td>Vulnerable to Logjam attack</td><td>By exploiting a vulnerability in the Diffie-Hellman-key-exchange, attackers can obtain the secret keys.</td></tr><tr><td>Vulnerable to NULL Pointer Dereference (CVE-2014-3470)</td><td>By sending a malicious certificate, an attacker can cause a denial-of-service condition.</td></tr><tr><td>Vulnerable to NULL Pointer Dereference (CVE-2014-3510)</td><td>By sending a malicious certificate, an attacker can cause a denial-of-service condition.</td></tr><tr><td>Vulnerable to ROBOT (Return of Bleichenbacher's Oracle Threat)</td><td>The server is vulnerable to ROBOT, which allows an attacker to perform RSA decryption and signing operations using the server's private key by exploiting a padding oracle in the TLS handshake.</td></tr><tr><td>Vulnerable to SLOTH attack</td><td>Weak hash functions (MD5, SHA-1) allow a SLOTH (Security Losses from Obsolete and Truncated Transcript Hashes) attack.</td></tr><tr><td>Vulnerable to Sweet32 attack</td><td>The Triple-DES cipher make the connection vulnerable to Sweet32 attacks.</td></tr><tr><td>Vulnerable to Ticketbleed (CVE-2016-9244)</td><td>The server leaks up to 31 bytes of uninitialized memory through TLS session tickets. This can expose sensitive data such as session IDs, authentication credentials, or other secrets from server memory.</td></tr><tr><td>Weak Diffie-Hellman Parameter</td><td>A weak Diffie-Hellman parameter makes the key exchange vulnerable to attacks.</td></tr></tbody></table>

### SSL/TLS aAccording to the German BSI Checklist

<table><thead><tr><th width="249.58984375">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Certificate does not contain all (sub)-domains for which it is used</td><td>The server certificate should contain all (sub-)domain names, for which the certificate is used.</td></tr><tr><td>Certificate is not an Extended Validation Certificate</td><td>It is recommended that the server certificate is a qualified website certificate according to eIDAS-VO or an Extended Validation Certificate.</td></tr><tr><td>Certificate is revoked</td><td>The server certificate can no longer be used securely if revoked.</td></tr><tr><td>Chain: Minimum requirements for Public Key not fulfilled</td><td><p>All keys of the CA certificates of the entire certificate chain should comply with the requirements:</p><ul><li>RSA key: Minimum length 3072 Bit</li><li><p>ECDSA key: One of the following curves is used:</p><ul><li>brainpoolP256r1</li><li>brainpoolP384r1</li><li>brainpoolP512r1</li><li>secp256r1</li><li>secp384r1</li><li>secp521r1</li></ul></li></ul></td></tr><tr><td>Chain: Missing certificate revocation information</td><td>All subordinate CA certificates in the certificate chain (CA certificates other than the root certificate) should contain information about the recall check ("CRLDistributionPoint" or "AuthorityInfoAccess"). (Automatically fulfilled when using qualified website certificates or extended validation certificates.)</td></tr><tr><td>Chain: Missing critical "Basic Constraints" Extension</td><td>All CA certificates should contain a "Basic Constraints" extension that is marked as critical. (Automatically fulfilled when using qualified website certificates or extended validation certificates.)</td></tr><tr><td>Chain: Missing critical "Key Usage" Extension</td><td>All CA certificates should contain a "Key Usage" extension marked as critical with the bits set "keyCertSign" and "cRLSign". (Automatically fulfilled when using qualified website certificates or extended validation certificates.)</td></tr><tr><td>Chain: Requirements for Signature Algorithms not fulfilled</td><td><p>The signature algorithms of all subordinate CA certificates in the chain (CA certificates other than the root certificate) should meet the requirements:</p><ul><li><p>Signature algorithm:</p><ul><li>RSA</li><li>ECDSA</li></ul></li><li><p>Hash function:</p><ul><li>SHA-256</li><li>SHA-384</li><li>SHA-512</li></ul></li></ul></td></tr><tr><td>Chain: Wildcard in certificate Subject, CommonName or AlternativeNames</td><td>None of the CA certificates in the certificate chain should contain wildcards in the "Subject" or "SubjectAltName".</td></tr><tr><td>Cryptographically insecure Public Key</td><td><p>The key in the server certificate should meet the minimum cryptographic requirements:</p><ul><li>RSA key: Minimum length 3072 Bit</li><li><p>ECDSA key: One of the following curves is used:</p><ul><li>brainpoolP256r1</li><li>brainpoolP384r1</li><li>brainpoolP512r1</li><li>secp256r1</li><li>secp384r1</li><li>secp521r1</li></ul></li></ul></td></tr><tr><td>Incorrect Extended Key Usage extension setting</td><td>The server certificate should contain a "Extended Key Usage" extension with the entry "id-kp-serverAuth". (Automatically fulfilled when using a qualified website certificate or extended validation certificate.)</td></tr><tr><td>Incorrect Key Usage extension setting</td><td><p>The server certificate should contain a "Key Usage" extension. The following bits should be set:</p><ul><li>"digitalSignature": YES</li><li>"keyCertSign": NO (Automatically fulfilled if a qualified website certificate or extended validation certificate is used.)</li><li>cRLSign": NO (Automatically fulfilled when using a qualified website certificate or extended validation certificate.)</li></ul></td></tr><tr><td>Missing certificate revocation information</td><td>The server certificate should contain check information, that is, a "CRLDistributionPoint" or an "AuthorityInfoAccess" (Automatically fulfilled when using a qualified website certificate or extended validation certificate.)</td></tr><tr><td>No support for Encrypt-Then-MAC extension</td><td>It is recommended that you enable the "Encrypt-then-MAC" extension to prevent block cipher attacks such as Lucky 13.</td></tr><tr><td>No support for Extended Master Secret extension</td><td>It is recommended that you enable the "Extended-Master-Secret" extension to reduce vulnerabilities such as the Triple Handshake Attack.</td></tr><tr><td>No support for mandatory TLS protocol versions</td><td>The TLS versions that are mandatory to support are: TLS 1.2</td></tr><tr><td>No support for OCSP Stapling</td><td>It is recommended that you enable OCSP stapling to reduce protocol failures and latency.</td></tr><tr><td>No supports for mandatory TLSv1.2 cipher suites</td><td><p>The mandatory cipher suites for TLS 1.2 are supported.</p><ul><li><p>Server with EC public key:</p><ul><li>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</li><li>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</li></ul></li><li><p>Server with RSA public key:</p><ul><li>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</li><li>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</li></ul></li></ul></td></tr><tr><td>Server-preferred order of ciphers is incorrect</td><td>The prioritization of the cipher suites for TLS 1.2 should be correct. The cipher suites with a higher priority value according to the tables from Chapter 3 are used with higher priority.</td></tr><tr><td>Supports cipher suites for SSLv2, SSLv3, TLSv1, TLSv1.1</td><td>No cipher suites for SSL2, SSL3, TLS 1.0, or TLS 1.1 should be supported.</td></tr><tr><td>Supports ciphers without Perfect Forward Secrecy</td><td>It is recommended to support only Cipher Suites with "Perfect Forward Secrecy". (Only Cipher Suites that start with "TLS_ECDHE" or "TLS_DHE".)</td></tr><tr><td>Supports client-initiated secure renegotiation</td><td>Client-initiated session renegotiation should be deactivated to avoid Denial-of-Service attacks.</td></tr><tr><td>Supports Heartbeat extension</td><td>The Heartbeat extension should be disabled to avoid possible attacks like Heartbleed.</td></tr><tr><td>Supports insecure signature algorithms</td><td><p>The signature algorithm of the server certificate should comply with the requirements:</p><ul><li><p>Signature algorithm:</p><ul><li>RSA</li><li>ECDSA</li></ul></li><li><p>Hash function:</p><ul><li>SHA-256</li><li>SHA-384</li><li>SHA-512</li></ul></li></ul></td></tr><tr><td>Supports TLS compression</td><td>It is not recommended that you use compression because it makes SSL/TLS vulnerable (especially to CRIME attacks).</td></tr><tr><td>Supports truncated_hmac extension</td><td>The "truncated_hmac" extension should be disabled.</td></tr><tr><td>Supports unallowed protocols</td><td><p>Only allowed TLS versions should be supported:</p><ul><li>TLS 1.3: YES</li><li>TLS 1.2: YES</li><li>TLS 1.1: NO</li><li>TLS 1.0: NO</li><li>SSL 3: NO</li><li>SSL 2: NO</li></ul></td></tr><tr><td>Supports unallowed TLSv1.2 cipher suites</td><td><p>Only allowed cipher suites for TLS 1.2 should be supported.</p><ul><li><p>Server with EC public key:</p><ul><li>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (MUST)</li><li>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (MUST)</li><li>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (RECOMMENDED)</li><li>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (RECOMMENDED)</li><li>TLS_ECDHE_ECDSA_WITH_AES_128_CCM (RECOMMENDED)</li><li>TLS_ECDHE_ECDSA_WITH_AES_256_CCM (RECOMMENDED)</li></ul></li><li><p>Server with RSA public key:</p><ul><li>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (MUST)</li><li>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (MUST)</li><li>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (RECOMMENDED)</li><li>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (RECOMMENDED)</li><li>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (OPTIONAL)</li><li>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (OPTIONAL)</li><li>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (OPTIONAL)</li><li>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (OPTIONAL)</li><li>TLS_DHE_RSA_WITH_AES_128_CCM (OPTIONAL)</li><li>TLS_DHE_RSA_WITH_AES_256_CCM (OPTIONAL)</li></ul></li></ul></td></tr><tr><td>Supports unallowed TLSv1.3 cipher suites</td><td><p>Only allowed cipher suites for TLS 1.3 are should be supported.</p><ul><li><p>Cipher Suites for TLS 1.3:</p><ul><li>TLS_AES_128_GCM_SHA256 (RECOMMENDED)</li><li>TLS_AES_256_GCM_SHA384 (RECOMMENDED)</li><li>TLS_AES_128_CCM_SHA256 (RECOMMENDED)</li></ul></li></ul></td></tr><tr><td>TLS handshake allows insecure signature hash algorithm</td><td><p>The following algorithms should be used to create and verify signatures during the TLS handshake:</p><ul><li><p>Signature algorithm:</p><ul><li>ECDSA</li></ul></li><li><p>Hash function:</p><ul><li>SHA-256</li><li>SHA-384</li><li>SHA-512</li></ul></li></ul></td></tr><tr><td>TLS handshake uses insecure ephemeral parameters</td><td><p>The ephemeral parameters used during the TLS handshake should provide sufficient security:</p><ul><li><p> ECDHE cipher suites:</p><ul><li>brainpoolP256r1</li><li>brainpoolP384r1</li><li>brainpoolP512r1</li><li>secp256r1</li><li>secp384r1</li><li>secp521r1</li></ul></li><li>DHE cipher suites: At least 3072 bit</li></ul></td></tr><tr><td>Wildcard in certificate Subject, CommonName or AlternativeNames</td><td>The server certificate should not include wildcards.</td></tr></tbody></table>

### SSL/TLS: Certificate Errors

<table><thead><tr><th width="249.59375">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Authority and issuer serial number mismatch</td><td>Certification body and issuer's serial number do not match.</td></tr><tr><td>Authority and subject key identifier mismatch</td><td>Certification body and issuer's serial number do not match.</td></tr><tr><td>Certificate chain too long</td><td>The certificate chain length is greater than the supplied maximum depth.</td></tr><tr><td>Certificate not trusted</td><td>The certificate used is not considered trustworthy.</td></tr><tr><td>Certificate rejected</td><td>The used certificate causes problems and is therefore rejected.</td></tr><tr><td>Format error in certificate's notafter field</td><td>The notafter field contains an invalid time.</td></tr><tr><td>Format error in certificate's notbefore field</td><td>The notbefore-field contains an invalid time.</td></tr><tr><td>Format error in crl's lastupdate field</td><td>The lastupdate field contains an invalid time.</td></tr><tr><td>Format error in crl's nextupdate field</td><td>The nextupdate field contains an invalid time.</td></tr><tr><td>Invalid CA certificate</td><td>The certificate issued by the Certificate Authority is invalid.</td></tr><tr><td>Invalid certificate</td><td>Invalid certificates have had their trust revoked.</td></tr><tr><td>Invalid Certificate Expiry</td><td>The expiration date of the certificate used is incorrect.</td></tr><tr><td>Invalid certificate signature</td><td>The signature of the Certificate is invalid and therefore the certificate is untrustworthy.</td></tr><tr><td>Invalid CRL (Certificate Revokation List)</td><td>The certificate-revocation-list used is invalid.</td></tr><tr><td>Invalid CRL (Certificate Revokation List) expiry</td><td>The validity period of the certificate-revocation list used has expired.</td></tr><tr><td>Invalid CRL (Certificate Revokation List) signature</td><td>The signature of the certificate Revocation list is invalid and therefore the CRL is untrustworthy.</td></tr><tr><td>Key usage does not include certificate signing</td><td>The current candidate issuer certificate was rejected because its keyUsage extension does not permit certificate signing.</td></tr><tr><td>Path length constraint exceeded</td><td>The path length of the certificate is longer than allowed by the root CA. Too many sub CAs were inserted into the full chain certificate.</td></tr><tr><td>Self signed certificate</td><td>Self-signed certificates are not able to confirm authenticity and are therefore not recommended.</td></tr><tr><td>Self signed certificate in certificate chain</td><td>Self-signed certificates are not able to confirm authenticity and are therefore not recommended.</td></tr><tr><td>Subject issuer mismatch</td><td>Certification body and issuer do not match.</td></tr><tr><td>Unable to decode issuer public key</td><td>The public key is used to enable a secure key-exchange. It should therefore be decodable.</td></tr><tr><td>Unable to decrypt certificate's signature</td><td>The signature of a certificate enables a third party to confirm the identity of the certificate owner. It should therefore be readable.</td></tr><tr><td>Unable to decrypt crl's signature</td><td>The signature of the certificate revocation list could not be determined because the decryption failed.</td></tr><tr><td>Unable to get certificate crl</td><td>The Certificate revocation list is unreachable. It's not possible to check whether the certificate is invalid.</td></tr><tr><td>Unable to get issuer certificate</td><td>SSL/TLS certificates are issued by Certification Authorities (CA). The issuer must be identifiable.</td></tr><tr><td>Unable to get local issuer certificate</td><td>The certificate cannot be verified. Either the certificate is not stored among the trusted certificates or an intermediate certificate is missing in the certificate chain.</td></tr><tr><td>Unable to verify the first certificate</td><td>The certificate chain is not trusted because it cannot be verified.</td></tr><tr><td>Unsupported certificate purpose</td><td>The target certificate cannot be used for the specified purpose.</td></tr></tbody></table>

### Telnet

<table><thead><tr><th width="250.72265625">Check name</th><th>Descriptio</th></tr></thead><tbody><tr><td>Allows unencrypted Telnet logins</td><td>The Telnet server allows logins on an unencrypted connection. Attacks may sniff these credentials during transit.</td></tr><tr><td>No Authentication Required</td><td>Telnet is outdated due to its lack of encryption and should not be used anymore if possible. If you want to use Telnet anyway, an authentication method must be used in any case.</td></tr><tr><td>Standard User with Administrator Privileges</td><td>A standard user should not have admin rights for security reasons.</td></tr></tbody></table>

### Zookeeper

<table><thead><tr><th width="250.72265625">Check name</th><th>Description</th></tr></thead><tbody><tr><td>Exposed Zookeeper Service</td><td>Access to Zookeeper is possible. This exposed data may be used by attackers to gather information about the target infastructure, or to modify authentication for services that rely on Zookeeper.</td></tr></tbody></table>

***
