> 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/manual/english/platform-usage/penetration-testing.md).

# Penetration Testing

A penetration test is a planned and controlled automated attack on your own systems designed to identify vulnerabilities. It can be performed externally from the perspective of an outside attacker against public IP addresses or internally from within your own network.

Penetration tests are performed using the Enginsight component Hacktor. You can run penetration tests on hosts that have Pulsar installed as well as across entire network ranges. You can also define systems monitored by a Watchdog as targets.

{% hint style="success" icon="lightbulb" %}
For more information on how penetration testing with Enginsight works, see our Knowledge Base: [How does a penetration test with Enginsight work?](https://docs.enginsight.com/docs/knowledge-base/english/penetration-tests/how-does-a-penetration-test-with-enginsight-work)
{% endhint %}

***

## Requirements

* To perform a penetration test, you must [install the Hacktor](/docs/manual/english/installation-and-configuration/installation-and-configuration/enginsight-components/hacktor.md#install-hacktor) component in the network segment you want to assess.
* During installation, make sure that you meet the [system requirements for the Component Server](/docs/manual/english/installation-and-configuration/system-requirements/komponentenserver-hacktor-watchdog-observer.md#system-requirements-component-server).
* Also ensure that the server on which Hacktor is installed can communicate with the selected target systems. Check your [firewall settings](/docs/manual/english/installation-and-configuration/system-requirements/komponentenserver-hacktor-watchdog-observer.md#firewall-rules-component-server) if necessary and add Hacktor to the [Enginsight Intrusion Detection System (IDS) whitelist](/docs/manual/english/platform-usage/hosts/intrusion-detection-system/whitelist.md).

***

## Important Notes

**Legal information**

* You must have the necessary authorization to perform a penetration test. You must confirm this manually before running a test. Please note that violations may have legal consequences. For more information, see our [Terms and Conditions](https://enginsight.com/en/terms/).

**Using Hacktor for the first time**

* We strongly recommend that you run a first penetration test on **no more than one to three non-critical targets** to test the configuration and functionality of the Hacktor used in your IT environment. With this small number of targets, you will receive detailed results after only 5-10 minutes and gain insights into how Hacktor works without placing unnecessary strain on the performance and availability of your systems.
* After such a test, we also recommend that you first check whether it would be more appropriate for your network to use the [asset inventory](/docs/manual/english/platform-usage/discoveries/inventory.md) of a [Watchdog](/docs/manual/english/platform-usage/discoveries/required-services/watchdogs.md) for the penetration test instead of immediately defining entire subnets as [target groups](/docs/manual/english/platform-usage/penetration-testing/management/target-groups.md). Because Hacktor pings every individual IP address, a penetration test across an entire subnet takes significantly longer. The test results will also contain many offline targets, as only small parts of a subnet are typically in use.

**Information about running audits**

* A maximum of 2,048 targets (IP addresses) can be scanned in a single [audit](/docs/manual/english/platform-usage/penetration-testing/audits.md), regardless of whether the targets are reachable. If you run a penetration test against a target system containing more than 2,048 IP addresses, the remaining IP addresses are discarded and only the first 2,048 are processed. We recommend that you define no more than 1,000 targets (IP addresses) for an audit.
* Running penetration tests during an audit may **affect the availability of your systems**, depending on how many IP addresses Hacktor scans. Make sure that sufficient system resources are available at all times.
* Also note that, depending on the stability of your IT infrastructure, **a complete system failure can never be ruled out entirely** when running a penetration test.

**Configuring Field Level Encryption**

* We strongly recommend that you set up Field Level Encryption if you store [custom password lists](/docs/manual/english/platform-usage/penetration-testing/management/audit-definitions/add-audit-definition.md#own-password-list) for running audits. If **Field Level Encryption is not configured**, stored passwords are **visible in plain text in reports**.

{% hint style="success" icon="lightbulb" %}
For more information on how to configure Field Level Encryption, see our Knowledge Base: [How do I set up Field Level Encryption in Enginsight?](https://docs.enginsight.com/docs/knowledge-base/english/configuration/how-do-i-set-up-field-level-encryption-in-enginsight)
{% endhint %}

**Using custom scripts**

You can extend the checks managed by Enginsight that Hacktor uses to assess target systems during a penetration test by adding your own scripts. These scripts are stored directly on the server on which Hacktor is installed.

{% hint style="success" icon="lightbulb" %}
For more information how to use custom scripts in penetration tests, see our Knowledge Base: [How can I use custom scripts in penetration tests with Enginsight?](https://docs.enginsight.com/docs/knowledge-base/english/penetration-tests/how-can-i-use-custom-scripts-in-penetration-tests-with-enginsight)
{% endhint %}

**Hacktor vs. Pulsar**

For hosts running Windows or Linux, we recommend [that you install Pulsar](/docs/manual/english/installation-and-configuration/installation-and-configuration/enginsight-components/pulsar.md) even when you use Hacktor so that the host can be monitored internally using an agent. The scope and validity of the results of a Common Vulnerabilities and Exposures (CVE) scan performed by Pulsar are superior to those of a Hacktor scan, even if you configured an [authentication provider](/docs/manual/english/platform-usage/penetration-testing/management/auth-providers.md). In addition, a CVE scan using an installed Pulsar is easier to manage and preferable from a security perspective because no credentials need to be stored and no access permissions need to be granted.

***

## Penetration Testing: Menu Structure

<i class="fa-computer-mouse">:computer-mouse:</i> Click the **Penetration Testing** icon ![](https://content.gitbook.com/content/V7OrHgKXA0t1jankQBYf/blobs/lOqPCrryhmSYfze58jzm/Enginsight-Menue%20Icon-Penetrationstests.jpg) in the sidebar to open the **Penetration Testing** menu.

{% hint style="info" %}
**Please note:** The order of the main menu items can be customized using drag and drop. Your menu may therefore appear in a different order than shown here.
{% endhint %}

The **Penetration Testing** menu is structured as follows:

{% columns %}
{% column width="33.33333333333333%" %}

<figure><img src="https://2423388680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV7OrHgKXA0t1jankQBYf%2Fuploads%2FbrXDuCJaazgnp9ce666z%2FEnginsight-EN-Menu-Penetration%20Tests-Full.jpg?alt=media&amp;token=d73a0475-2971-4aa4-a1d8-680f026522e3" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="66.66666666666667%" %}

* [Audits](/docs/manual/english/platform-usage/penetration-testing/audits.md): Here you can find a list of all reports for completed penetration tests. You can start a penetration test directly from this view.
* [Management](/docs/manual/english/platform-usage/penetration-testing/management.md):
  * [Audit Definitions](/docs/manual/english/platform-usage/penetration-testing/management/audit-definitions.md): Here you can create templates for your penetration tests.
  * [Target Groups](/docs/manual/english/platform-usage/penetration-testing/management/target-groups.md): Here you can define target systems to be assessed by a penetration test.
  * [Auth-Providers](/docs/manual/english/platform-usage/penetration-testing/management/auth-providers.md): Here you can provide credentials for the penetration test so that your systems can be analyzed in greater depth.
* [Required Services](/docs/manual/english/platform-usage/penetration-testing/required-services.md):
  * [Hacktors](/docs/manual/english/platform-usage/penetration-testing/required-services/hacktors.md): Here you can find an overview of all configured Hacktors and add further Hacktors.
    {% endcolumn %}
    {% endcolumns %}

***

## Further Resources

**Knowledge Base**

* [How does a penetration test with Enginsight work?](https://docs.enginsight.com/docs/knowledge-base/english/penetration-tests/how-does-a-penetration-test-with-enginsight-work)
* [How do I set up Field Level Encryption in Enginsight?](https://docs.enginsight.com/docs/knowledge-base/english/configuration/how-do-i-set-up-field-level-encryption-in-enginsight)
* [How can I use custom scripts in penetration tests with Enginsight?](https://docs.enginsight.com/docs/knowledge-base/english/penetration-tests/how-can-i-use-custom-scripts-in-penetration-tests-with-enginsight)
* [Where do I find which Enginsight logs?](https://docs.enginsight.com/docs/knowledge-base/english/logging/where-do-i-find-which-enginsight-logs)
* [How can I retrieve the logs of the Enginsight component Hacktor?](https://docs.enginsight.com/docs/knowledge-base/english/logging/how-can-i-retrieve-the-logs-of-the-enginsight-component-hacktor)

***
