Documentation Pentest Granting access for internal networks

Granting access for internal networks

How to temporarily reach a private asset for our pentesters.

To test an asset on a private network, our IPs need to reach it. This guide covers the 4 most common ways to grant access and when to use each.

Where to find HackerSec IPs: for security, we keep our up-to-date IPs available only to authenticated clients. Log in to the platform and go to Company settings › Network and Firewall tab — you'll find the IPs there with a copy button.

Option 1: Publish through your load balancer or CDN

The most practical method for anyone who already runs a load balancer, CDN, or reverse proxy in front of their applications. You publish a temporary staging address on that existing ingress and restrict access to HackerSec IPs only, without touching the perimeter firewall and without standing up any new server.

When to use

What to do

  1. Get the HackerSec IPs from Company settings › Network and Firewall tab (after login).
  2. Create a temporary, non-obvious hostname (e.g., pentest-a9f3.yourcompany.com) on your load balancer/CDN pointing to the internal staging application.
  3. Restrict the origin to HackerSec IPs only (Security Group, NSG, WAF rule, or CDN IP allowlist), for both IPv4 and IPv6.
  4. Configure a Skip / Bypass of the content-based WAF rules (SQLi, XSS, RCE, bot detection, rate limiting) for HackerSec IPs during the test.
  5. Send the generated URL in the credentials field of the test.

Typical setup time: 30 minutes to 1 hour.

Harden the access

Since the address is public during the test window, we recommend pairing the IP allowlist with: a non-guessable hostname, a per-test secret (a header token or mTLS we validate at the ingress), and a short time window. Remove the rule when the test ends to revoke access immediately.

Option 2: Allow our IPs on the firewall

The most direct method. You add the HackerSec IPs to the firewall rule protecting the asset, and our team reaches the endpoint normally.

When to use

What to do

  1. Get the HackerSec IPs from Company settings › Network and Firewall tab (after login).
  2. Access the firewall config that protects the asset.
  3. Allowlist both IPs (IPv4 and IPv6) on the firewall. Modern systems use dual-stack, and the request may come via either.
  4. Add a rule allowing traffic only from those IPs (inbound, HTTPS or the service-specific port).
  5. Optional: add extra auth (mTLS, token header, WAF rule) if the asset is sensitive.
  6. Send the asset URL in the credentials field of the test.

Typical setup time: 1 to 4 hours, depending on your infrastructure.

⚠️ Cloudflare and WAFs notice: allowlisting the IP does not disable content-based WAF rules, bot detection, or rate limiting. For the pentest to work fully (including tests with SQLi, XSS, RCE payloads, etc.), also configure a Skip / Bypass rule for these modules for HackerSec's IPs during the test.

After the test

Remove the firewall rule to revoke access. That ends the exposure immediately.

Option 3: Bastion Host (Jump Server)

A dedicated, monitored host inside your network serves as the single entry point. Our pentesters SSH into the bastion and, from there, reach the asset. This is the most classic pattern for compliance because all activity goes through a centralized, auditable point.

When to use

What to do

  1. Stand up (or reuse) an SSH-accessible Linux bastion host in a subnet that can reach the target asset.
  2. Create a temporary user (e.g., pentest-hackersec) with the SSH public key we'll send you.
  3. Get the HackerSec IPs from Company settings › Network and Firewall tab (after login) and allowlist only those IPs on the bastion firewall, on port 22.
  4. Send the bastion address, username, and port in the credentials field of the test. If TOTP 2FA is required, include the seed.
  5. Recommended: enable session recording (auditd, tlog-rec-session, or tools like Teleport, JumpCloud, AWS Systems Manager Session Manager) for full audit coverage.

Typical setup time: 2 to 6 hours, depending on whether the bastion already exists.

Advantages

After the test

Disable the pentest-hackersec user or remove the public key from authorized_keys. Keep session logs for at least the period required by your compliance (typically 1 to 5 years).

Option 4: Cloudflare Tunnel

Alternative when you can't change the firewall or the asset is on a fully private network with no public IP. A Cloudflare program (cloudflared) runs inside your network and creates a secure tunnel to us, without opening any firewall port.

When to use

What to do

  1. Get the HackerSec IPs from Company settings › Network and Firewall tab (after login).
  2. Create a free account at Cloudflare.
  3. Install cloudflared on a host inside your network (Linux or Windows). See the official docs.
  4. Run cloudflared tunnel create pentest-hackersec and follow the wizard.
  5. Configure Cloudflare Access with an allowlist of the HackerSec IPs.
  6. Send the generated URL (e.g., https://pentest-hackersec.trycloudflare.com) in the credentials field of the test.

Typical setup time: 30 minutes to 1 hour.

Advantages

Login credentials

Granting network access is separate from providing login credentials. On step 2 of the wizard you choose:

Questions

If you have questions about which option to choose or during setup, talk to your Account Manager. They follow the configuration through until the test starts.