Tech Forge

Exercises › Module 02

Map It, Rank It, Report It

An AI-assisted exercise on attack surface mapping, risk prioritization, and recon reporting. Suggested time: about 55 minutes.

Goal

Use an AI assistant to turn a pile of raw reconnaissance findings into a ranked attack surface table and a short recon report. Then check the AI's work yourself. Evidence before rank, ownership before scope: an inferred finding is a lead to validate, not a top risk, and an asset you don't own isn't yours to test.

Safety rules

1 Generate the recon findings

Paste this into your AI assistant. It creates the scope summary and about 15 raw findings. Save the output before moving on.

You are helping me build a fictional training case for an ethical hacking class. Everything must be invented: the client is 'Corvane Medical Supply Ltd', a fictional distributor of hospital supplies with an online ordering portal for clinics. The testing firm is 'Ironbark Security Group'. Use only .example domains (the client's main domain is corvane-medical.example) and documentation IP addresses (192.0.2.x, 198.51.100.x, 203.0.113.x). Do not include exploit code, tool commands, or real people, products, or companies.

Create two items:
1) A short Scope Summary: in-scope domain corvane-medical.example and its subdomains hosted by Corvane, the in-scope IP range 203.0.113.0/26, and the statement 'Systems operated by third-party providers are out of scope unless the provider gives written authorization.'
2) A table of 15 raw reconnaissance findings, written as if collected by a junior analyst. Columns: ID (R-01 to R-15), Asset (hostname or IP), Finding (one line), Source type (OSINT, Scan, Enumeration, or Public Records), Evidence (a short description of what was actually observed, or 'none'), Confidence (High, Medium, Low). Mix internet presence, web apps and APIs, remote access, mail/DNS, cloud storage, and people/identity clues (e.g., an employee email naming convention).

IMPORTANT, do not label or hint at these anywhere:
- Include exactly ONE high-severity-sounding finding that has NO direct evidence. It must be based only on an inference (for example, a job posting mentions a remote-access product, so the analyst assumes an outdated, vulnerable version is exposed). Its Evidence column should describe only the indirect clue, and its Confidence should be Low.
- Include exactly ONE asset that is a subdomain of corvane-medical.example but is a CNAME to a third-party SaaS help-desk provider called 'TessaraDesk' (e.g., pointing to corvane.tessaradesk.example), resolving to an IP outside 203.0.113.0/26. Give it a realistic-sounding finding.
- All other findings should have real observed evidence with mixed confidence levels.

Tip: if the AI labels or flags either planted item, ask it to regenerate the table without labels, or swap tables with a partner.

2 Map and rank it with AI

Act as the lead analyst at Ironbark Security Group. Using only the scope summary and findings table above:
A) Build an attack surface map as a table grouped by category (Internet presence, Web apps/APIs, Remote access, Mail/DNS, Cloud, People/identity). For each finding, mark the relationship as Confirmed or Inferred.
B) Score each finding 1-5 for Likelihood (reachability + exploitability), 1-5 for Business Impact, and 1-3 for Confidence (Low=1, Medium=2, High=3). Risk score = Likelihood x Impact x Confidence. Rank all findings from highest to lowest and assign a priority (Critical, High, Medium, Low).
C) Draft a one-page recon report: executive summary for non-technical leadership, the top 5 prioritized exposures with evidence, recommended next validation steps, and defensive recommendations.

Watch the #1 item and the asset owner column. The AI doesn't check evidence or ownership for you.

3 Review it yourself, then fix it

Do this review yourself before you ask the AI:

  1. For every finding, ask: what was actually observed? If the evidence is indirect or "none", it's Inferred, no matter how scary it sounds.
  2. Recalculate the score of the AI's #1 item using the real confidence. Does it still belong at the top?
  3. Check every asset against the scope: who operates it, and does it resolve inside 203.0.113.0/26? Watch for CNAMEs to other providers.
  4. Stretch goal: check that every Confirmed item has evidence a client could verify.

Then fill in the brackets and run:

Revise the attack surface table and recon report:
1) Finding [inferred finding ID] has no direct evidence. Re-label it Inferred, set Confidence to Low, recalculate its score, re-rank all findings, and move it to a 'Needs Validation' list with a safe, authorized validation step.
2) Asset [third-party asset] is operated by TessaraDesk, not Corvane. Remove it from the ranked findings and risk counts, and add an 'Ownership and Scope' note saying it is a third-party asset that needs written provider authorization before any testing, and that Corvane should review the vendor relationship.
3) Update the executive summary and top 5 so they match the new ranking.

Re-read the revision. The AI often leaves the old #1 in the executive summary or keeps the vendor asset in the counts.

Review checklist

Deliverables

Grading rubric (10 pts)

CriterionPts
Over-ranked inferred finding identified and re-scored, with reasoning3
Third-party SaaS asset identified (CNAME/IP evidence) and removed from scope3
Confirmed vs. Inferred labels and scores applied consistently; ranking correct2
Report is clear, consistent with the table, and has actionable recommendations2
Answer key (spoilers: finish the exercise first)

What a correct submission shows

Why it matters

Common mistakes

Instructor variant (same answer for everyone)

Add this line to the Step 1 prompt and hand out the table:

The inferred finding must be R-07: 'Outdated remote-access VPN appliance likely exposed on vpn.corvane-medical.example', with evidence only from a job posting asking for experience with that VPN product. The third-party asset must be R-12: support.corvane-medical.example, a CNAME to corvane.tessaradesk.example resolving to 198.51.100.77.

Answer: R-07 is inferred and over-ranked (move it to Needs Validation). R-12 belongs to TessaraDesk and is out of scope without the provider's written authorization.

Join the Tech Forge community

Share your attack surface map, compare rankings, and get feedback from other learners on the Tech Forge Discord.

Join the Discord

Or scan the code with your phone: techforge.community/discord

QR code linking to techforge.community/discord