Skip to main content

Cybersecurity

Enterprise pentest: when to run one, and what it should actually cover

A penetration test is not an automated scan and it is not a paperwork audit. It is useful when you need to know what an attacker could actually chain together, then fix that in an order that holds.

BE-R8 min

Three people review a diagram of connected nodes. The centre node is lime green.
In this article
  1. A pentest, a vulnerability scan and an audit are not the same thing
  2. When a pentest becomes worth doing
  3. Define the scope
  4. Web applications and APIs
  5. Infrastructure
  6. On site
  7. Rules of engagement
  8. Production, or a dedicated environment?
  9. What the report has to make possible
  10. After the report: remediation and a retest
  11. And red team?

A penetration test is often requested at the moment someone has to “do security”: before a go-live, after an incident, because a client demands it, or because a scan returned a long list. The request is reasonable. It is badly framed if the pentest is expected to replace an inventory, a configuration review, or the work of fixing things.

A pentest answers a narrow question. Given a scope you have authorised, what can someone who is actually trying obtain, and what does that mean for the business? The rest — the raw vulnerability list, the policy, the patch queue — belongs to other exercises.

A pentest, a vulnerability scan and an audit are not the same thing

A scan probes services and versions, then flags what looks like a known vulnerability. It is useful for covering a lot of ground and for repeating the exercise often. It does not show whether the flaw is exploitable in your context, or what a chain of steps can reach.

An audit compares what you have with a reference, or with your own rules: accounts, backups, logging, separation of environments, rights. Much of it can be done from documents and configuration. It does not try to get in.

A pentest tries. Inside the written frame, a tester looks for a path: an application flaw, weak segmentation, an exposed secret, a chain of rights that are too broad. The result that matters is not the line count. It is the scenario, the evidence, and the impact if nobody fixes it.

Mixing the three up sets the wrong expectation. A “red” scan is not a failed pentest. A pentest that finds only a moderate issue was not necessarily too short: it may have shown that the easy path is not there. That only holds if the scope was the right one.

When a pentest becomes worth doing

The test is worth the cost when the result can change a decision or an order of fixes. A few moments come up often:

  • before an exposed go-live, once the application stands up and the scope is no longer changing every day;
  • after a significant change: a new exposed component, an authentication rebuild, opening up to partners, merging environments;
  • when the system is already reachable from the outside, or from a network where privileged accounts move around;
  • when a contract, a client or an insurer wants evidence of a test on a named scope, on a named date;
  • periodically on systems whose outage or leak is expensive, at a rhythm tied to that criticality, not to a generic calendar.

It is of little use very early, on a prototype that will be rewritten, or immediately after a scan whose obvious findings nobody has handled. Fix what a tool already shows, then test the chain. That uses the testing time better.

The wider question — what to protect, in which order, beyond a single test — is securing applications and infrastructure.

Define the scope

Without a scope there is no test. There is an exploration, and nobody can say whether it covered what matters.

Web applications and APIs

Authenticated paths, not only the home page. The real roles. The functions that change data or trigger a payment, a send, an approval. The APIs as they are actually called, including the ones no interface shows any more but that still answer.

Infrastructure

External: whatever is reachable from the internet, including the test environments left open. Internal: what a machine or an account already on the network can reach. The two do not stand in for each other. A sound application behind a flat network is still a problem. A careful network in front of an application that trusts whatever it receives is one too.

On site

A physical visit, or a test on the local network, makes sense when the scenario you worry about starts with access to the building, a socket, or a piece of equipment. It is not an automatic add-on to an application pentest. It is a separate mission, with its own constraints: hours, escort, zones that are off limits.

The scope also closes on what is excluded. A partner you do not have permission to touch. An industrial system whose shutdown is not acceptable. Production itself, if you have chosen not to attack it. The exclusion has to be as explicit as the inclusion.

Rules of engagement

The rules fit on a few pages, and they need a signature from someone who can commit the organisation:

  • explicit authorisation, the scope, the dates;
  • the hours, and what is forbidden during the working day;
  • techniques that are allowed and those that are not: denial of service, social engineering, phishing employees, exploitation that would modify real data;
  • the test accounts provided, and the accounts that must not be targeted;
  • contacts reachable during the test, including a path if something breaks;
  • how you stop if a real incident is declared at the same time;
  • what happens to any data that is seen: retention, encryption, destruction at the end of the engagement.

Those rules protect both sides. The tester knows how far to go. The organisation knows what was permitted, and can tell a test alert from an alert that is not one.

Production, or a dedicated environment?

Testing in production shows the real configuration, the data as it is actually exposed, and the oversights a clean copy does not have. The risk is disrupting a service, locking accounts, or touching data that should not have been touched.

Testing on a dedicated environment limits that risk. It is only worth it if the environment still resembles production: same versions, same roles, the same integrations that matter, realistic data that is not the real data. A copy six months old, or a sandbox missing the exposed component, is reassuring and inconclusive.

A frequent compromise is to split the work. Non-destructive checks on production — configuration, headers, authentication, exposure — and deeper attempts on a dedicated target whose drift you have checked. The report has to say where each finding was obtained. A flaw seen only on the copy does not have the same status as a flaw seen in production, until the difference is explained.

Day-to-day running of those environments — who deploys, who watches, who separates access — sits with cloud and managed operations as much as with the test. A pentest does not repair a deployment nobody can reproduce.

What the report has to make possible

A report that lists flaws without a path to a fix gets filed. For each finding that matters, the reader should be able to:

  • understand the scenario in one reading, without reversing a tool;
  • see evidence precise enough to reproduce the fix, not precise enough to publish as a how-to;
  • judge the impact in their context, not only a generic score;
  • know which fix closes the path, and which ones only hinder one step;
  • order the work: what is exposed now, what waits for a change, what is useful hardening but secondary.

Priority is a discussion. A “critical” flaw on a component that cannot be reached is not the first fix. A moderate flaw that opens client files from the internet is. The report should give the material for that judgement, not confiscate it.

After the report: remediation and a retest

The test stops at the finding. The value is in what changes next. Each point you keep has an owner, a delay tied to the exposure, and evidence of the fix. “We updated it” is evidence only if the path that was tested no longer works.

The retest covers the fixes that were announced, not a new scope slipped in along the way. It confirms the scenario is closed, and it says if the fix opened another one. Points you did not take on stay open. Dropping them from the next version of the report creates a sense of progress that did not happen.

Between two tests, scanning and configuration review take their role back. They catch ordinary drift. The next pentest starts from a system that has moved, instead of finding the same doors.

Cybersecurity and penetration testing covers that sequence: framing the test, running it, a report you can act on, then support through the fixes. A test with no follow-up is a document. Follow-up with no test is a list of intentions.

And red team?

A red team engagement is not a larger pentest. A pentest looks for what is weak inside a known scope, with the cooperation of the people who run it. A red team pursues an objective — reach a set of data, a process, a right — over a longer period, and also measures whether detection and response work.

The rules are stricter still, because not every defending team is in on it, and because the scenario may cross several systems. It is not the first exercise for an organisation that has not yet dealt with the results of a scan and a focused pentest. It becomes useful when the basics hold and the question becomes: would we see an attack that takes its time?

The right next step is rarely “the biggest test on offer”. It is the test whose scope matches the risk you want to reduce, with a clear authorisation, and a report someone can turn into an order of fixes.

A similar decision on your desk?

If the subject matches a choice you are making, we can talk it through without starting a project.

Write to BE-R