Add a network target or a website

  1. Click on Assets management > Network targets and websites
  2. Click on the Add button
  3. Fill the form

    • “Node” refers to the Cyberwatch node that should perform the analysis;
    • “Target” refers to the network target or the website to analyze; you can specify network target in the form of a domain name or an IP address or a website target in the form of a URL; in either case, a port scan is performed on the target as well as a discovery of the services used to determine the versions of the exposed services.
  4. Confirm with the “Save” button

Configure the scanning parameters

Some advanced scanning parameters are configurable through the scanning policy, including the maximum web scanning duration and the maximum crawling duration. To edit them, go to Settings > Scanning policies, and edit the policies of the relevant network targets and websites. The web scanning parameters are located inside the “Advanced settings” section.

Regarding web application scanning, several options can be configured:

  • Maximum crawling time: This is the maximum time allocated for exploring the attack surface, such as discovering pages, parameters, and existing forms.

  • Maximum scanning time per module: Once the exploration phase is completed, a set of specific modules testing potential vulnerabilities will be executed. This value controls the maximum execution time allocated to each of these modules.

  • Headless: Headless mode will use a browser without an interface to test security vulnerabilities by simulating user actions in web applications, especially those built with JavaScript frameworks like Angular, React, or Vue.

While scanning some web applications, headless mode may require more time and yield partial results with the default maximum durations. In such cases, the recommended values to configure in the scan policy are 600 seconds for the maximum crawling time and 300 seconds for the maximum scanning time per module.

Authenticated web scans

When adding or editing a network target, you can specify a set of credentials and an authentication method. These settings apply only when the target is a website, or at least has an open HTTP port.

To enable authentication, you first need to create a credentials set of type Web scan from menu Settings > Stored credentials.

The authentication methods match the types supported by the HTTP Authorization header, except for the post authentication that simulates a user inputting their credentials into a login form. The login form URL only apply to the post authentication method.

Supported products for network targets and websites

Cyberwatch supports any IP address, as any valid and resolved URL or domain name.

In any case, Cyberwatch checks what ports are opened among the 3000 most commonly used ports. On the opened ports, two scanning strategies are used:

  • A passive scan, which detects exposed services versions on each target port, and identifies vulnerability associated to it. If the port is a web port, an additional OWASP scan which identify used libraries and configuration defaults from the OWASP top ten (such as configuration defects in headers) is executed.
  • An active scan, which is a more detailed review based on the port specificities.

If the port supports TLS, a TLS audit is performed with aim to identify if weak cipher suites are accepted, any use of deprecated protocols, or any certificate invalidity. If the port responds to http/https requests, Cyberwatch executes a second OWASP scan which covers some others configuration defaults from the OWASP top ten, such as possible XSS/SQL injections, etc.

The two OWASP analyses are described below.

The OWASP analyses (Wapiti)

Wapiti lets you audit the security of web applications. It performs “black box” scans of the web application by exploring the deployed application’s web pages, looking for scripts and forms where it can inject data. Once it has a list of URLs, forms and their inputs, Wapiti acts as a fuzzer, injecting payloads and evaluating some applicative returns.

For more information about this project, you can visit this GitHub page.

Global information

Wapiti scan can be divided into two consecutive main parts:

  • “Passive scan”: this step is composed of modules to perform a static analyses of potential security issues.
  • “Active scan”: this part is made of attack modules to actively test the exposure surface to detect security issues.

Wapiti provides two different types of scan:

  • “Normal mode”: This mode allows Wapiti to work directly on the website target. This is similar to cURL requests.
  • “Headless mode”: With this mode, Wapiti will launch a GUI-free browser for analyzing web applications, particularly those based on JavaScript. It enables better interaction with Single Page Applications (SPAs) and optimal detection of vulnerabilities linked to dynamic JavaScript execution.

Passive scan

Non exhaustive list of passive scan actions:
  • Analyze cookie flags to detect insecure configurations.
  • Analyze content security policy (CSP) to detect any weaknesses.
  • Analyze HTTP headers to detect insecure configurations.
  • Detect web technologies used by the site.
  • WordPress.

For more information, you will find the module list here.

Active scan

Non exhaustive list of active scan actions:
  • Search for CRLF (Carriage Return Line Feed) injection security issues.
  • Search for CSRF (Cross-Site Request Forgery) security defects.
  • Identify potential injection points.
  • Search for SQL injection security issues.
  • Discover backup files that could disclose sensitive information.
  • Attempt to brute-forcing login forms.
  • Search for misconfigurations or accessible .htaccess files that could be exploited.
  • Test SQL injections.
  • Evaluate which HTTP methods are allowed by the server.
  • Search for open redirection security issues.
  • Test for Server-Side Request Forgery (SSRF) security issues.
  • Search for Cross-Site Scripting (XSS) security issues.
  • Test for the presence of the Log4Shell vulnerability.

For more information, you will find the module list here.