Penetration testing

A Report You Can Actually Act On

Most security reports are a scanner export with the severity column sorted. That tells you what a tool noticed, not what an attacker could reach. We run a custom Kali-based toolkit against an agreed scope. We verify findings by reaching the thing rather than by inferring it, then hand you a report your engineers can work from on Monday.

Nothing runs before written authorisation and an agreed window.

Before anything runs
  • Written authorisation and a signed scope. Which hosts, which applications, which accounts, and who to call if something goes wrong. No exceptions and no verbal go-aheads.
  • An agreed window, so your on-call is not diagnosing us at 2am.
  • Rules of engagement in writing: what is in scope, what is explicitly out, and where we stop rather than continue.
  • A named contact on both sides and a way to abort mid-test.
A finding we cannot reproduce for you is not a finding, it is a guess with a severity label.
What you get

The Deliverable, In Detail

A report is the product here, so it is worth being specific about what is in it.

Findings ranked by reachability
Not by a generic score. A critical-rated issue behind three controls an attacker would have to defeat first is ranked below a medium one exposed to the internet. The order is the advice.
Reproduction steps for every finding
Enough for your engineer to see it themselves without us on the call. If we cannot write those steps, the finding does not go in as confirmed. It goes in as unverified, labelled that way.
Evidence, captured at the time
Requests, responses and screenshots, with timestamps, so a finding can be checked months later when the system has moved on.
A fix recommendation you can argue with
Including where we think the cheapest correct fix differs from the obvious one. Also where a compensating control is the honest answer instead of a code change.
What we could not test, and why
Out of scope, blocked, or ran out of window. A report with no such section is telling you it is complete, which no test ever is.
A retest after you fix
Included. A finding is closed when we have failed to reproduce it, not when a ticket is marked done.
How we run it

Authorise, Reach, Prove, Retest

1

Scope and authorise, in writing

What is in, what is out, when, and who can stop it. This is the step that separates a penetration test from an incident, and it is not negotiable on either side.

2

Enumerate with our own toolkit

A Kali-based suite we maintain, so the tooling is consistent between engagements and between testers. A re-run six months later is then comparable to the first one, rather than a different exercise.

3

Verify by reaching it, not by inferring it

A scanner's opinion is a lead, not a finding. Anything we cannot demonstrate is reported as unverified rather than promoted to a severity it has not earned.

4

Report, then retest

Ranked findings with reproduction steps, then a retest once you have fixed them. Closing a finding is our job to prove, not yours to assert.

We report what we could not test as prominently as what we could. A test is a sample of a system at a point in time, and a report that reads as exhaustive is misleading you about the one thing that matters most.
Scope

What We Test

01

External Perimeter

What is reachable from the internet, and what it exposes once reached. Includes the hosts nobody remembers standing up.

02

Web Applications And APIs

Authentication, authorisation and tenancy boundaries: whether a user can reach another user's data, which is the failure that actually costs you.

03

Internal Network

What an attacker reaches after the first foothold, and how far a single set of credentials travels.

04

Cloud Configuration And Identity

Roles, permissions, exposed storage and the access paths nobody documented. Frequently where the shortest route runs.

What we don't claim

The Boundaries, Up Front

Security is a field where overclaiming is both easy and expensive, so these are stated before you ask.

A test report is not a certification

We are not an accreditation body and a report from us is not an attestation. If you need a certified assessment against a named standard, we will tell you. We will help you scope it for someone who holds that accreditation.

Not a compliance sign-off

A test can produce evidence for an audit. It does not discharge a regulatory obligation, and we will not let a report be presented as though it does.

Nothing runs unauthorised

We test only what you own or can demonstrate authority over, under written scope. We will decline an engagement rather than test an estate on a verbal assurance from the wrong person.

No destructive or denial-of-service testing

Not as a default, and not at all against production unless you have asked for it in writing and understood what it means. Proving a system can be broken by breaking it is rarely worth what it costs.

Social engineering and physical only if scoped

Phishing your staff or walking into your building are separate exercises with their own consent and HR implications. They are never bundled in silently.

No claim of completeness

A test is a sample, taken in a window, by people who are good but finite. What we did not reach is in the report, and a supplier who implies otherwise is selling you comfort.

Also from TechJoy

The Rest Of The Stack

Talk to us

Tell Us What You Need Proven

That might be an external perimeter before a customer security review, or an application before launch. It might also be a retest of findings somebody else gave you and you are not sure about.

  • Written scope and authorisation first
  • Findings ranked by reachability
  • Retest included
  • What we could not test is in the report
  • Wisconsin-based team

Ask about a test

We reply within one business day.

No spam. TechJoy will never share your information. We use your phone number only to reply.

We test only under written authorisation and an agreed scope. A report from TechJoy is evidence, not an accreditation or a compliance attestation, and it never claims to be complete. What we could not reach is stated in it. No client is named anywhere on this site.