gPentestStart testing ↗
FIELD GUIDE / EXTERNAL NETWORK

From scope to sign-off.

60 practical procedures. Six phases. Clear evidence at every step.

Content review: 22 October 2026 · Free access
Jump to commands ↓
Start with the agreed scope.

This is an external network engagement workflow with web and identity checks where agreed. Internal, cloud, mobile and detailed application assessments need their own defined scope and test cases. Confirm written authorisation before active testing.

PHASE 01 / EXTERNAL NETWORK

Plan the engagement

Agree the boundaries before testing begins.

10 procedures. Open a step for instructions and the record to keep.

1.01

Define the outcome

Start with the business question the test should answer.

  1. Ask which services, data and business activities matter most. Identify realistic threats to those services.
  2. Agree measurable goals, such as whether an unauthenticated user can reach a restricted service or read another test user’s record.
  3. Record the test approach: white box, grey box or black box. State what each tester knows and which accounts will be provided.
Record to keep

A short brief with objectives, assumptions and agreed success criteria.

Link to this step ↗
1.02

Build an exact scope

Make it clear which systems and actions are allowed.

  1. List IP addresses, CIDR ranges, domains, URLs, API endpoints and approved environments. Include IPv6 where it is used.
  2. Identify exclusions, shared hosting, outsourced services and fragile systems. A wildcard domain does not automatically authorise testing every related address.
  3. Confirm ownership and obtain written approval before adding newly discovered assets. Keep an approved target list separate from research results.
Record to keep

A versioned target list with an owner, inclusions, exclusions and approval dates.

Link to this step ↗
1.03

Set permissions and test limits

Turn the brief into written rules of engagement.

  1. Obtain written permission from an authorised client representative before active testing. Check the conditions of relevant hosting and cloud providers.
  2. Agree which actions require additional permission: credential attacks, social engineering, data access, privilege changes, pivoting, persistence and disruptive tests.
  3. Set testing windows with a time zone, source addresses, rate limits and the process for scope changes. Name the person who may approve those changes.
Record to keep

Signed or otherwise formally approved rules of engagement and applicable provider conditions.

Link to this step ↗
1.04

Agree communications and stop conditions

Decide how testers and the client will respond to problems.

  1. Name a primary contact, backup contact and an emergency contact. Verify the contact route before testing.
  2. Agree urgent finding notification times, progress updates and a secure way to share evidence.
  3. Define stop conditions such as service instability, unexpected personal data, a suspected live incident or access to an out-of-scope system. Stop the affected activity, record what happened and get approval before resuming.
Record to keep

A communication plan, escalation route and clear pause and restart procedure.

Link to this step ↗
1.05

Plan technical coverage

Allow enough time for both broad discovery and manual investigation.

  1. Map the objectives to test areas, such as internet exposure, authentication, access control, transport security and supported software.
  2. Agree whether authenticated checks, a full TCP port range, selected UDP services and web or API testing are included. Record any sampling approach.
  3. Identify constraints such as WAF blocking, unavailable accounts or restricted time. Define when to report a coverage gap rather than silently omit it.
Record to keep

A coverage plan showing planned checks, test accounts, dependencies and limits.

Link to this step ↗
1.06

Set up a clean working environment

Make your results traceable and keep client data protected.

  1. Use a separate workspace or test machine for the engagement. Patch it, encrypt storage and restrict access to the testing team.
  2. Synchronise clocks and record the time zone. Capture tool and plugin versions and verify downloads from the official project.
  3. Prepare an asset inventory, activity log, finding register and change log. Keep credentials in an approved secret store, rather than command histories or shared notes.
Record to keep

A ready test environment and an evidence folder structure with agreed access controls.

Link to this step ↗
1.07

Plan data handling

Collect only the evidence needed to support each finding.

  1. Agree what may be collected, where it may be held and who may access it. Set retention and deletion dates for evidence and backups.
  2. Choose approved secure channels for transferring reports and raw evidence. Decide how secrets and personal data will be redacted.
  3. Confirm whether any hosted tool sends targets, results or telemetry to another service. Do not submit client data to public AI, cloud analysis or interaction services without approval.
Record to keep

A documented evidence handling plan covering collection, transfer, retention and deletion.

Link to this step ↗
1.08

Prepare accounts and recovery

Know how you will test access and undo changes.

  1. Where required, request separate test users for each relevant role, plus two users with the same role for ownership checks.
  2. Agree account lockout limits, test data, MFA arrangements and the allowed number of failed attempts. Do not weaken production controls merely to make testing easier.
  3. Ask the client to confirm recovery readiness for risky checks. Define who restores service and how changes or test artefacts will be removed.
Record to keep

An account and role matrix, agreed test records and a recovery contact.

Link to this step ↗
1.09

Choose and review automation

A tool’s default options may exceed the agreed brief.

  1. Inspect scan policies, templates, wordlists, recursion, redirects and any checks that write data or call external services.
  2. Pin tool and template versions for repeatability. Try unfamiliar or risky checks in an isolated lab before client use.
  3. Set scope allowlists and exclusions at each stage. Review output before passing it to another tool. Keep a human approval step before exploit execution or changes.
Record to keep

A reviewed tool plan with configuration, versions, approved targets and expected effects.

Link to this step ↗
1.10

Hold the start meeting

Resolve the final gaps before requests reach the client’s systems.

  1. Walk through the target list, test window, emergency contacts and exclusions with the client.
  2. Confirm source addresses, connectivity, account access and whether monitoring teams should expect the activity.
  3. Record approval to start. If a dependency is missing, agree a revised plan and state the effect on coverage.
Record to keep

A start record and a confirmed, current scope baseline.

Link to this step ↗

Before you move on

PHASE 02 / EXTERNAL NETWORK

Gather information

Build a reliable picture of the approved attack surface.

10 procedures. Open a step for instructions and the record to keep.

2.01

Gather public leads

Use public information to build a candidate asset list.

  1. Review the organisation’s public sites, registration records, certificate transparency records and public technology references.
  2. Use passive discovery sources to identify names and infrastructure. Record the source and observation date, as records may be old.
  3. Treat discovered assets as leads. Confirm ownership and scope before making direct requests to them.
Record to keep

A candidate asset list with evidence sources, dates and ownership confidence.

Link to this step ↗
2.02

Review DNS and registration data

Understand how approved names connect to services.

  1. Record relevant A, AAAA, CNAME, MX, NS and TXT responses. Distinguish authoritative responses from cached resolver results.
  2. Check whether names point to a CDN, reverse proxy, third-party service or an old environment. A shared IP address may serve many unrelated customers.
  3. Only perform zone transfer attempts, dictionary discovery or takeover validation when allowed. Do not register third-party resources to prove a suspected takeover without approval.
Record to keep

A DNS map with resolved addresses, aliases, provider context and unresolved questions.

Link to this step ↗
2.03

Map external services

Correlate the available records before scanning.

  1. Compare the approved asset list with passive search results and client records. Include externally reachable VPNs, remote administration, mail and development services.
  2. Check IPv4 and IPv6 coverage and note which paths are reachable from your agreed test location.
  3. Keep public search-engine observations separate from current direct observations. A historic banner is not proof that a system is still exposed.
Record to keep

An external service inventory with the basis for each observation.

Link to this step ↗
2.04

Check the target list before discovery

Catch scope mistakes before automation multiplies them.

  1. Review host files for duplicate targets, expanded ranges and accidental third-party entries.
  2. Confirm how tools handle DNS changes and redirects. Stop a redirect or resolution chain from expanding testing outside approved systems.
  3. Start with a small agreed sample and check traffic, output and client service health before broadening.
Record to keep

A reviewed active target list and a record of the initial discovery checks.

Link to this step ↗
2.05

Discover TCP services

Identify reachable ports without confusing reachability with security.

  1. Begin with the agreed port set, then expand to the full TCP range if it is in scope and time permits. Use documented timing and concurrency settings.
  2. Confirm whether failed host discovery hides reachable services. Use no-ping scanning only where suitable and authorised.
  3. Record open, closed and filtered states separately. Recheck unexpected results and distinguish a blocked scan from a closed service.
Record to keep

Timestamped TCP results with exact options, source address and untested port ranges.

Link to this step ↗
2.06

Discover relevant UDP services

UDP needs its own coverage and careful interpretation.

  1. Select UDP ports based on the agreed brief and likely services, such as DNS, NTP, SNMP or VPN endpoints.
  2. Use modest concurrency and client-agreed limits. UDP checks can be slow and silence alone does not prove a port is closed.
  3. Confirm open or ambiguous results with a suitable protocol request where allowed. Record open-or-filtered results as uncertain.
Record to keep

A UDP coverage record showing confirmed services, uncertain results and omitted ports.

Link to this step ↗
2.07

Identify the actual service

A port number and a version banner are clues, not conclusions.

  1. Use a normal protocol exchange and selective version detection to identify the software and protocol.
  2. Record banners, TLS certificates and the observed behaviour. Distinguish direct observations from a tool’s guesses.
  3. Review service-specific options before running scripts. Do not run all discovery or vulnerability scripts as a blanket default.
Record to keep

An inventory of observed services with confidence, evidence and version assumptions.

Link to this step ↗
2.08

Map web and API entry points

Find the routes and roles that need deeper investigation.

  1. For each approved web origin, record redirects, virtual hosts, login points, API documentation and available test roles.
  2. Crawl within explicit host and path boundaries. Exclude logout, delete, payment and other state-changing actions unless agreed.
  3. Record each endpoint, method, parameters and required role. Include alternate API versions and test environments that are explicitly in scope.
Record to keep

A web and API surface map with role requirements and coverage gaps.

Link to this step ↗
2.09

Review public files and metadata

Look for useful exposure without collecting unrelated data.

  1. Inspect relevant public documents, robots.txt, sitemaps, scripts and obvious exposed backup or configuration paths within the agreed limits.
  2. Look for internal names, software references, repository links or secrets. Do not assume an unlinked path is access controlled.
  3. Record a small redacted sample. If a live secret is suspected, notify the client and agree any validation rather than using it across other services.
Record to keep

A record of relevant disclosures, their public location and the agreed response.

Link to this step ↗
2.10

Create the test plan from the findings

Use the observed attack surface to guide the next phase.

  1. Group assets by service, technology and business purpose. Mark high-value access paths and externally exposed management systems.
  2. Develop testable hypotheses, such as whether an old VPN service is affected by a relevant vendor advisory.
  3. Reconcile discoveries with the client. Turn unresolved access problems, missing accounts and unconfirmed assets into explicit limitations.
Record to keep

A prioritised test queue with assets, hypotheses, permissions and required evidence.

Link to this step ↗

Before you move on

PHASE 03 / EXTERNAL NETWORK

Identify vulnerabilities

Use automation for coverage and manual checks for confidence.

10 procedures. Open a step for instructions and the record to keep.

3.01

Build a coverage matrix

Track checks so that omissions remain visible.

  1. For each asset or service group, list applicable checks, test user or role, tool or manual method and evidence reference.
  2. Use statuses such as planned, tested, not applicable, blocked and not tested. Explain blocked or skipped work.
  3. Reconcile the matrix with the inventory throughout the engagement, including newly approved assets.
Record to keep

A current coverage matrix that supports the final scope and limitations statement.

Link to this step ↗
3.02

Run controlled vulnerability scans

Use scans to identify leads and improve coverage.

  1. Update feeds before the agreed scan, then record the engine and feed or template versions used. Select only relevant approved checks.
  2. Set scope, timeouts and concurrency. Exclude disruptive checks unless explicitly approved, and watch for errors or service impact.
  3. For authenticated scans, verify that authentication actually succeeded and the expected permissions were available. Mark partial or failed authentication.
Record to keep

Raw scan results, configuration and evidence of successful authentication where used.

Link to this step ↗
3.03

Assess patch and software exposure

Confirm applicability before reporting a known vulnerability.

  1. Compare observed products with vendor advisories, supported release information and CVE records. Identify the affected component and its prerequisites.
  2. Consider vendor backports and hidden version details. Seek authorised configuration evidence or a non-destructive validation when a banner is insufficient.
  3. Check CISA KEV and FIRST EPSS for additional prioritisation context. These signals do not prove that a particular target is exploitable.
Record to keep

A validated mapping between affected assets, conditions, advisory references and confidence.

Link to this step ↗
3.04

Review TLS and SSH

Check the way exposed services protect communication and remote access.

  1. Review certificate trust, validity, hostname matching and chain handling using the actual service hostname.
  2. Assess supported protocols, cipher choices and key exchange against the client’s agreed baseline and current vendor guidance.
  3. For SSH, review algorithms, key strength and permitted authentication methods. State whether the finding is an observed negotiation result or a configuration fact.
Record to keep

Protocol negotiation evidence and a clear explanation of the practical weakness.

Link to this step ↗
3.05

Review other exposed network services

Choose checks that fit the protocol and business purpose.

  1. For DNS and mail, assess permitted access, information exposure, transport protection and relevant configuration. Relay tests must use controlled addresses and agreed limits.
  2. For SMB, RDP, databases and management interfaces, check exposure, access restrictions, authentication and encryption. Avoid writing or enumerating production data unless needed and approved.
  3. Review VPN and edge devices using vendor advisories and the allowed methods. Do not apply an intrusive check simply because a service looks old.
Record to keep

A service-by-service record of the check, observed result and supporting evidence.

Link to this step ↗
3.06

Test authentication and session controls

Check the complete sign-in journey, not only the password field.

  1. Use test accounts to assess login, password reset, MFA, session expiry, logout and account recovery where these paths are in scope.
  2. Check that rate limiting, lockout and error messages behave as agreed. Keep failed-attempt tests within the documented account limits.
  3. Review token handling, cookie attributes and invalidation after logout or credential changes. Never put reusable tokens in report screenshots.
Record to keep

Reproducible observations of authentication and session behaviour, with secrets redacted.

Link to this step ↗
3.07

Test authorisation by role and ownership

Prove that access is enforced on the server.

  1. Use two test users with the same role to check whether one can read or change the other’s agreed test record.
  2. Compare lower-privilege and higher-privilege roles across endpoints, methods and sensitive fields. Check APIs as well as browser pages.
  3. Test only approved records and tenants. A hidden button or client-side restriction is not proof that access is enforced.
Record to keep

An expected-versus-actual access matrix and a minimal reproducible example for any failure.

Link to this step ↗
3.08

Review web inputs and business rules

Follow a structured method for the web coverage that was agreed.

  1. Select relevant OWASP WSTG test cases and record their versioned references. Assess input handling, file upload, path handling, request processing and server-side access to other services.
  2. Check workflow rules using test data, including whether steps can be skipped or restricted fields changed. Avoid production transactions.
  3. Agree any out-of-band callback service and data destination before use. Stop if validation would reach an unapproved internal or external target.
Record to keep

Test-case references, request and response evidence and a clear statement of application coverage.

Link to this step ↗
3.09

Review cloud and identity boundaries

Keep an external test distinct from an internal or cloud configuration review.

  1. Check approved internet-facing storage, development endpoints, remote access and identity entry points for unintended exposure.
  2. For authenticated cloud, directory or tenant testing, agree a separate permission set and exact account, subscription, project or tenant boundaries.
  3. Do not treat linked cloud resources, federation partners or internal systems reached through a weakness as automatically in scope.
Record to keep

Boundary findings and a list of separate assessments needed for untested areas.

Link to this step ↗
3.10

Validate, deduplicate and prioritise

Turn scanner output into defensible findings.

  1. Reproduce each issue with the least disruptive reliable check. Classify it as confirmed, unverified or false positive, and explain the reason.
  2. Group repeated instances where the root cause and fix are shared, while preserving every affected asset. Keep distinct attack paths understandable.
  3. Use the agreed severity scheme. Where CVSS is used, include the version, vector and rationale, then add business context and exploitation evidence.
Record to keep

A reviewed findings register with severity, confidence, affected assets and urgent notifications.

Link to this step ↗

Before you move on

PHASE 04 / EXTERNAL NETWORK

Validate impact

Demonstrate realistic impact within the agreed limits.

10 procedures. Open a step for instructions and the record to keep.

4.01

Choose the proof of impact

Test the hypothesis that matters to the client.

  1. Define the suspected weakness, access needed, expected outcome and the smallest proof that would support it.
  2. Check that exploitation, any privilege change and the target asset are permitted by the rules of engagement.
  3. Agree any extra approval, recovery steps or monitoring needed before execution. If proof is too risky, document the limitation and supporting evidence.
Record to keep

A test plan for the proof, including preconditions, limits and expected changes.

Link to this step ↗
4.02

Review the method in a lab

Understand unfamiliar code before it touches client infrastructure.

  1. Read the relevant exploit or module and its dependencies. Check for destructive behaviour, unrelated callbacks and data collection.
  2. Match the method to the observed product, architecture and configuration. A CVE name alone is not enough.
  3. Where possible, test against a comparable isolated environment. Record the source, version or hash and the settings selected.
Record to keep

A reviewed method and a record of the expected side effects and limitations.

Link to this step ↗
4.03

Run a minimal proof

Demonstrate the weakness without unnecessary access.

  1. Execute the agreed check against a confirmed in-scope asset during the approved window.
  2. Use a benign marker, test record or limited response to prove the result. Avoid bulk extraction or production changes.
  3. Record the exact steps and outcome. Stop once the required evidence is obtained, and notify the client if the result meets the urgent escalation criteria.
Record to keep

A repeatable proof tied to the asset, time, identity and observed result.

Link to this step ↗
4.04

Establish the access obtained

Describe what the proof actually allowed.

  1. Identify the account, role, host and service context available after the successful test.
  2. Check a limited set of agreed capabilities using test data or safe read-only actions.
  3. Separate demonstrated access from assumptions. Do not claim administrator access, broad data exposure or full compromise without evidence.
Record to keep

An access summary with demonstrated rights and untested possibilities clearly separated.

Link to this step ↗
4.05

Assess privilege changes when approved

Find whether the access boundary can be crossed.

  1. Review relevant configuration, assigned rights and trust relationships within the approved host or directory scope.
  2. Choose a controlled validation rather than running every local enumeration or exploitation script.
  3. Use a benign proof for any approved privilege change and record all changes. Do not collect unrelated secrets merely because the new role allows it.
Record to keep

An evidenced privilege path, its preconditions and the affected security boundary.

Link to this step ↗
4.06

Assess lateral paths when approved

A path to another system still needs its own scope check.

  1. Confirm each destination, identity and technique against the approved target list before making a connection.
  2. Assess whether existing permissions, trust or network access allow a controlled action on the destination.
  3. Limit pivoting and remote execution to the agreed proof. Record the complete chain and remove temporary routes, tunnels or sessions afterwards.
Record to keep

An attack-path record linking the entry point, intermediate access and final approved result.

Link to this step ↗
4.07

Handle exposed credentials carefully

A discovered secret creates a handling task as well as a finding.

  1. Record the location and a redacted identifier for the secret. Do not paste the full value into shared notes or report drafts.
  2. Get approval for any credential validation or offline password assessment. Agree the target, attempt limit and handling of recovered values.
  3. Ask the client to rotate or revoke exposed secrets and record the recommendation. Do not test them against unrelated services.
Record to keep

A controlled secret exposure record and an agreed remediation and validation plan.

Link to this step ↗
4.08

Check detection if included

Help the client understand what its monitoring observed.

  1. Agree whether detection validation is part of the engagement and which team will review the logs.
  2. Give the team timestamps, source addresses and agreed indicators for the actions performed.
  3. Record what was detected, missed or not reviewed. A penetration test alone does not establish complete monitoring effectiveness.
Record to keep

A joint detection record with evidence sources and the limits of the exercise.

Link to this step ↗
4.09

Respond to unexpected events

Keep the engagement controlled when the result differs from the plan.

  1. Pause the affected activity if there is instability, unexplained access, out-of-scope exposure or evidence of a possible live incident.
  2. Preserve a limited audit record and notify the named contact. Avoid further investigation beyond the testing authorisation.
  3. Agree who will restore service or handle the incident. Resume only after the agreed authority confirms the revised plan.
Record to keep

An event log, notification record and explicit approval for any restart.

Link to this step ↗
4.10

Close the proof and record the chain

Make the result useful for remediation and later verification.

  1. End test sessions and remove temporary artefacts as agreed. Record outstanding changes for the client.
  2. Link each step in the attack path to a finding and evidence reference. Explain any alternative conditions that could change the result.
  3. State which fixes would break the path, then carry the verified evidence into the report.
Record to keep

A concise attack narrative, evidence links and an updated change log.

Link to this step ↗

Before you move on

PHASE 05 / EXTERNAL NETWORK

Report and clean up

Turn technical evidence into clear decisions and fixes.

10 procedures. Open a step for instructions and the record to keep.

5.01

Build the report structure

Make it useful for both decision-makers and technical teams.

  1. Include document control, classification, recipients, testing dates, objectives and an executive summary.
  2. Document scope, methodology, coverage, limitations, a findings summary and the detailed technical findings.
  3. Include remediation priorities, retesting arrangements, cleanup status and supporting references. Keep confidential raw evidence in an agreed separate location if needed.
Record to keep

A report outline that matches the client’s delivery and confidentiality requirements.

Link to this step ↗
5.02

Write the executive summary

Explain the business meaning of the results.

  1. State the main risks in plain English and describe the most important demonstrated attack paths.
  2. Identify the changes that would reduce the most exposure. Explain where immediate action is needed.
  3. Describe material limitations and any positive controls observed without implying that untested systems are secure.
Record to keep

A short management summary with clear priorities and an honest statement of assurance.

Link to this step ↗
5.03

Write each technical finding

Give the client enough detail to reproduce and fix it.

  1. Record a stable finding ID, title, affected assets, prerequisites, description and observed result.
  2. Include reproducible steps, redacted evidence, the impact demonstrated and a clear severity rationale.
  3. Recommend a practical fix and a verification method. Link vendor guidance and relevant CVE, CWE or versioned test-case references.
Record to keep

A complete finding that separates fact, inference and untested impact.

Link to this step ↗
5.04

Explain severity and priority

Use scores consistently without letting them replace judgement.

  1. Use the client’s agreed rating method. For CVSS, show the version and full vector as well as the score.
  2. Explain how exposure, privileges, business importance, demonstrated access and existing controls affect the result.
  3. Use KEV or EPSS as dated prioritisation inputs where relevant. Do not describe EPSS as certainty or a CVSS score as the whole business risk.
Record to keep

A consistent rating rationale and an ordered remediation plan.

Link to this step ↗
5.05

Document coverage and limits

Make the boundaries of the conclusion visible.

  1. Compare the final target list with the coverage matrix and state which checks were completed.
  2. List unreachable assets, blocked scans, missing roles, time restrictions and excluded techniques.
  3. Describe whether WAF or allowlisting conditions affected testing and whether internal, cloud or dedicated application testing was outside scope.
Record to keep

A coverage statement that the client can reconcile with the authorised brief.

Link to this step ↗
5.06

Check evidence and reproducibility

A finding should survive independent review.

  1. Ask a qualified reviewer to follow the reproduction steps where practical, using the agreed environment or retained evidence.
  2. Confirm asset identifiers, timestamps, severity, request and response details and the proposed fix.
  3. Remove secrets, personal data and client identifiers that are not needed by the intended recipient. Use evidence references consistently.
Record to keep

A reviewed report with traceable evidence and a record of quality checks.

Link to this step ↗
5.07

Complete technical cleanup

Leave no untracked test changes behind.

  1. Reconcile the change log against test accounts, files, scheduled jobs, agents, sessions, tunnels and configuration changes.
  2. Remove approved test artefacts and verify the result. Coordinate secret rotation, account removal or restoration with the client.
  3. Do not delete security logs or evidence of the test from client systems. State any item that remains, who owns it and when it will be resolved.
Record to keep

A cleanup register with removed, verified and outstanding items.

Link to this step ↗
5.08

Give remediation instructions

Make the next action clear and achievable.

  1. Describe the root cause and the recommended configuration, code change or vendor update.
  2. Where an immediate fix is not possible, explain an interim control and its limits.
  3. Identify the service owner where known, the agreed target date and the evidence needed to confirm the fix. Avoid claiming a universal remediation deadline.
Record to keep

A prioritised action list with ownership, target dates and verification criteria.

Link to this step ↗
5.09

Deliver and explain the report

Check that the intended recipients can act on the result.

  1. Send the final version through the agreed secure route and confirm receipt.
  2. Walk management through priorities and the technical team through findings, evidence and remediation.
  3. Answer questions, record accepted corrections and issue a controlled revision if needed. Keep a record of which version each recipient received.
Record to keep

A delivery record, discussion notes and a final controlled report version.

Link to this step ↗
5.10

Agree the retest baseline

Set a clear boundary for the follow-up.

  1. Agree which finding IDs, assets, roles and attack paths will be retested and when.
  2. Record changes to the environment and whether regression checks are included.
  3. Keep the original result intact. Retest outcomes should reference it rather than silently rewrite the original assessment.
Record to keep

An approved retest plan linked to the delivered report.

Link to this step ↗

Before you move on

PHASE 06 / EXTERNAL NETWORK

Close the engagement

Confirm the handover and carry lessons into the next test.

10 procedures. Open a step for instructions and the record to keep.

6.01

Confirm remediation readiness

Check that the client is ready for a meaningful retest.

  1. Ask the client which fixes are in place and request relevant change references.
  2. Confirm target addresses, application versions, accounts and test data. Recheck that the retest permission and window are current.
  3. If an asset is unavailable or a fix is incomplete, agree whether to defer the test or record it as not retested.
Record to keep

A retest start record showing the current environment and agreed scope.

Link to this step ↗
6.02

Repeat the original check

Test the same security boundary that failed previously.

  1. Follow the original reproduction steps with equivalent privileges and conditions.
  2. Check that the root cause is addressed rather than only the original input or path being blocked.
  3. Where agreed, test a small set of related paths and regression cases. Record any limitations caused by a changed environment.
Record to keep

Fresh evidence that can be compared with the original finding.

Link to this step ↗
6.03

Record each retest outcome

Use terms that do not overstate what was verified.

  1. Mark each issue resolved, partially resolved, unresolved or not retested.
  2. State the date, test method, evidence and remaining exposure. Explain any changed severity rather than silently replacing it.
  3. Record newly discovered issues separately and follow the agreed process for additional scope and urgent notifications.
Record to keep

A retest register with finding IDs, outcomes and supporting evidence.

Link to this step ↗
6.04

Retest important attack paths

A fixed component may not remove every route to the same outcome.

  1. Where included, repeat the key steps that connected the original entry point to the demonstrated impact.
  2. Confirm which changes broke the path and whether equivalent authorised routes remain.
  3. Explain any parts that could not be retested. Avoid claiming that all routes are closed after checking one route.
Record to keep

An updated attack-path explanation and a clear statement of what was verified.

Link to this step ↗
6.05

Issue the retest report

Keep the original assessment and follow-up easy to compare.

  1. Reference the original report version and list the retest dates, scope and environment changes.
  2. Summarise resolved, partially resolved, unresolved and not retested findings, with evidence links.
  3. State that the result applies to the checks and conditions observed at that time. Do not present it as a guarantee of future security.
Record to keep

A controlled retest report and updated remediation status.

Link to this step ↗
6.06

Revoke temporary access

End the access that was granted for the engagement.

  1. Reconcile supplied accounts, API keys, VPN profiles, certificates and allowlist entries with the client.
  2. Have the responsible owner remove or expire them and rotate shared or exposed secrets where appropriate.
  3. Verify revocation using an agreed check. Record any remaining access and its named owner.
Record to keep

An access closure record with verification and outstanding items.

Link to this step ↗
6.07

Close evidence handling

Apply the retention plan across all working copies.

  1. Review working machines, shared folders, report drafts, cloud storage and backups used during the engagement.
  2. Delete or retain each category according to the agreement and record any permitted exception.
  3. Confirm who owns any retained evidence and when it will be reviewed or deleted. Do not claim secure erasure of backups you cannot verify.
Record to keep

A retention and deletion record with locations, dates and accountable owners.

Link to this step ↗
6.08

Complete the client handover

Make sure no operational task is left without an owner.

  1. Confirm receipt of final reports, cleanup records and the retest results where included.
  2. Record open questions, accepted risks and client actions without treating silence as acceptance.
  3. Close the engagement administration, including invoices or internal approvals where relevant.
Record to keep

A handover record and a list of remaining actions with owners.

Link to this step ↗
6.09

Capture lessons learnt

Improve the method without carrying client secrets into future work.

  1. Review estimation, test coverage, tool performance, communication and the usefulness of the report.
  2. Record repeated root causes and procedural improvements using anonymised examples.
  3. Update checklists, lab tests or report guidance. Keep client-specific evidence in the agreed engagement records.
Record to keep

A small set of practical improvements assigned to the testing team.

Link to this step ↗
6.10

Plan the next assurance step

Help the client decide what should happen after this test.

  1. Recommend checks for material changes, newly exposed services and systems that were outside scope.
  2. Suggest a focused reassessment or specialist application, identity or cloud review where the evidence supports it.
  3. Agree follow-up responsibility and timing based on the client’s risk and obligations, rather than assuming one test covers everything.
Record to keep

A proportionate follow-up plan linked to the engagement’s findings and limitations.

Link to this step ↗

Before you move on

QUICK REFERENCE

Choose checks by service.

Port numbers are common conventions, not proof of the protocol in use. Select checks from observed behaviour and the agreed brief.

ServiceWhat to assessEvidence and interpretation
DNSAuthoritative and recursive behaviour, permitted transfers, stale aliases and public records.Record exact query, server and response. A discovered name is not automatically in scope.
TLS servicesCertificate trust and hostname, chain, protocols and encryption choices.Use the intended hostname and SNI. Check against the agreed baseline and current vendor guidance.
SSHNegotiated algorithms, key strength, authentication and access restrictions.Distinguish a remotely observed capability from a setting confirmed through authorised configuration review.
HTTP / HTTPSVirtual hosts, redirects, exposed files, session controls and in-scope application functions.Capture redacted requests and responses. Missing headers alone do not establish a high-severity vulnerability.
APIIdentity, object and field access, role boundaries, input handling and resource limits.Use agreed test objects and roles. Avoid uncontrolled bulk requests or production transactions.
SMTP / mailRelay restrictions, transport protection and relevant domain records.Use controlled senders and recipients. Mail-domain record checks do not prove complete phishing resistance.
SMB / RDPUnexpected exposure, authentication, encryption or signing requirements where applicable.Record the actual negotiated behaviour. Do not infer a weakness solely from an open management port.
VPN / edge devicesReachability, supported releases, relevant advisories, authentication and recovery paths.Match the product and prerequisites. Restrict intrusive checks and account attempts to the agreed limits.
Databases / managementNetwork restrictions, identity controls, encryption and unintended unauthenticated access.Prefer a test record or metadata proof. Do not extract production tables just to demonstrate read access.
Cloud / storageApproved public resources, unintended data access and identity boundaries.A configuration or tenant review needs its own permission set and coverage plan.
PRACTICAL COMMANDS

Understand each request.

These examples are for Linux or a compatible shell. They use documentation targets, not permission to scan them. Replace targets only with approved assets and check options against your installed version.

Nmap’s scan-rate options do not provide a universal traffic limit for every probe or script. Agree tool-specific settings, monitor the service and stop if needed. Commands here are reference text and are not run by this website.

DNS address record
dig example.com A

Replace example.com with an approved domain. Keep the response, resolver and timestamp.

DNS IPv6 record
dig example.com AAAA

Check IPv6 coverage separately. An IPv4-only test may miss an exposed IPv6 service.

DNS mail route
dig example.com MX

Record mail routing without assuming that a third-party provider is authorised for active testing.

Selected TCP discovery
nmap -sT -p 22,80,443 --max-rate 25 -oA tcp-selected 192.0.2.10

Documentation address only. Replace it with an authorised target. This requests TCP connections on three ports. Agree the actual rate for the environment.

Service identification
nmap -sT -sV --version-light -p 22,80,443 -oA service-review 192.0.2.10

Run after confirming the ports and permission. Version probes add traffic and may affect fragile services. A banner does not prove vulnerability.

Full TCP range
nmap -sT -p- --max-rate 25 -oA tcp-full 192.0.2.10

Use only when full-range coverage is agreed. Port 1 through 65535 is covered; port 0 is not. This may take substantial time.

Selected UDP discovery
sudo nmap -sU -p 53,123,161 --max-rate 5 -oA udp-selected 192.0.2.10

Requires suitable privileges. Use only approved UDP checks. Silence may produce open|filtered, which needs further validation.

HTTP response headers
curl --head --max-time 10 https://example.com/

Replace with an approved origin. HEAD does not fully assess the application. No redirect-following or disabled certificate verification is included.

TLS certificate validation
openssl s_client -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error </dev/null

Use an approved hostname. Review the trust and hostname result; this command alone does not assess all TLS protocols or ciphers. Shell syntax is for Linux or a compatible shell.

Evidence file checksum
sha256sum evidence-file.txt

Local file only. A checksum helps identify a particular file; access control and a reliable audit trail are still needed.

RECORDS THAT SUPPORT THE RESULT

Keep the evidence useful.

Store client records in your approved engagement workspace. The guide only saves checkpoint ticks locally, and has no fields for targets, notes or secrets.

RecordUseful fields
Scope registerAsset ID; approved hostname, address or range; owner; environment; inclusion or exclusion; approver; approval date.
Coverage matrixAsset; test case and version; role; method; date; tested, blocked, not applicable or not tested; reason; evidence reference.
Activity logTimestamp and time zone; tester; source; destination; command or action; tool version; options; outcome; evidence reference.
Change and cleanup logChange ID; host; account, file, session or setting; time; purpose; removal action; verification; outstanding owner.
Finding registerFinding ID; title; affected assets; status and confidence; severity; evidence; owner; target date; retest outcome.

Technical finding structure

Finding fieldWhat to include
Identifier and titleUse a stable ID and a specific title describing the failed control.
Affected systemsIdentify the exact host, URL, endpoint and role or configuration. List all confirmed instances.
Description and conditionsExplain the expected control, observed failure, prerequisites and assessment date.
Reproduction and evidenceGive precise steps and redacted request, response or configuration evidence. Link to protected originals if needed.
Impact and confidenceState what was demonstrated. Label inferred consequences and unverified paths explicitly.
Severity and rationaleUse the agreed scheme. If using CVSS, give its version, vector and score. Add the business context.
Remediation and verificationExplain the root-cause fix, any interim control and the exact result expected in a retest.
ReferencesLink applicable vendor guidance, CVE or CWE entries and versioned test-case references.

Retest outcomes

OutcomeMeaning
ResolvedThe agreed check no longer demonstrates the original issue under the tested conditions.
Partially resolvedSome instances or conditions are fixed, but material exposure remains.
UnresolvedThe original issue remains reproducible.
Not retestedThe issue was outside the retest scope, unavailable or otherwise not checked. State why.
PRIMARY REFERENCES

Methodology and review notes.

This guide combines established lifecycle principles with practical testing guidance. It does not claim certification, exhaustive coverage or endorsement by the organisations below. Technology-specific vendor guidance and the signed brief take precedence when choosing a test.

Reviewed on 22 October 2026. Source editions, tool options and provider conditions may change. Record the exact releases and requirements used for each engagement. Some reference sites may require an account or restrict automated access.