Skip to content

Project · Ethical Hacking and Penetration Testing (legal labs)

Project: scan, enumerate and triage

Projectintermediate· about 4 hours· 6 steps

The brief

Against your authorised lab target you run an nmap host discovery and a service/version scan, enumerate a service, then turn the results into a triaged list by CVSS band in Python. Every step is paired with how a defender would detect it and how they would fix the weakness.

Why it matters

Scanning and enumeration are the daily bread of a penetration tester, and CVSS triage is how findings get prioritised in every report. Doing it with detection and fixes in mind is what separates an ethical professional from a script-runner.

Skills you practise

  • nmap host discovery and version scans
  • service enumeration
  • parsing scan output in Python
  • CVSS v3 bands
  • detection and remediation

You need

  • Your isolated lab: Kali plus Metasploitable 2 (recommended) on a host-only network
  • nmap (built into Kali)

What you will have at the end

triage.py (tested parsing and CVSS banding) and findings.txt (a triaged findings table with detection and fix for each item).

How it is marked (rubric, 100 points)
Scanning doneHost discovery and a version scan ran against the in-scope target and were captured.30
Code worksparse_ports and cvss_band pass every check, including closed ports and out-of-range scores.30
EnumerationA service was enumerated and the exposure recorded.15
Triage with defenceFindings are banded worst-first, each with a detection and a fix.25

0/6 steps done

Step 1 of 6

Discover live hosts

An nmap ping scan of your lab network lists the target as up.

Start by finding what is alive. nmap -sn does a "ping scan": it checks which hosts respond, without scanning ports. Scan only your authorised range. Note every host reported "up".

Detection and fix: a burst of ARP or ICMP to many addresses is what an IDS flags as a sweep; defenders rate-limit and log it.

Run this on your machine, then paste the output below
$ nmap -sn 192.168.56.0/24
Your notes: triage.py, findings.txt

Write down each command you ran. It goes into your project summary.