Penetration › Module 1 › Lesson 2
RoE Written
If it is not written, it is not in scope — draft YOUR pentest RoE for $LAB_HOST.
Visual · pentest_roe_written
RoE = written who / what / when / stop. $LAB_HOST only. Original Cyberlium.
Opening
Curiosity is not authorization. A pentest RoE file you chmod 600 is.
Rules of Engagement for pentest labs answer: which host ($LAB_HOST you control), which operator (you on your hardware), which actions (recon, enumeration, lab-only exploit validation per brief — never stranger production), where notes live ($HOME/cyberlium-lab), and stop conditions (any IP not $LAB_HOST, production employer assets without contract, dorm LANs, café Wi-Fi, internet ranges). Original Cyberlium. You draft RoE before any offensive tool touches a target. You do not copy a bug-bounty scope and aim it at a school network. Next: Lab VMs Only.
1. Four RoE lines: who, what, where, stop
Who: the asset owner (you) on hosts you control. What: pentest methodology on $LAB_HOST only per lab brief — no stranger exploitation. Where: notes under $HOME/cyberlium-lab, mode 600. Stop: any IP or hostname not $LAB_HOST, employer production without contract, dorm sweeps, café gateways, public cloud IPs you do not own.
Written scope is how you refuse 'hack my roommate's PC' in Discord. Their machine needs their RoE — not your exploit chain.
Command guide
Try these commands — Four RoE lines: who, what, where, stop
═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)
PTES — http://www.pentest-standard.org/ OffSec — https://www.offsec.com/
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install nmap
macOS:
Command — copy this
brew install nmap
Windows:
Command — copy this
choco install nmap # or download https://nmap.org/download.html
═══ LINUX / macOS ═══
Command — copy this
mkdir -p "$HOME/cyberlium-lab" nmap -sn 127.0.0.1 printf 'assets: intentional lab VMs only stop: DoS, phishing, ransomware ' > "$HOME/cyberlium-lab/t19-roe-draft.txt" grep stop "$HOME/cyberlium-lab/t19-roe-draft.txt"
Primary tools to practice this lesson: nmap. Reference sites: PTES (http://www.pentest-standard.org/); OffSec (https://www.offsec.com/). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.
2. Authorization is not 'the port replied'
A responsive ping does not grant permission to pentest. Scope is host-level: $LAB_HOST is in; everything else is out until a signed engagement says otherwise — this course is not that engagement.
Professional pentest teams attach RoE to contracts and legal review. Steal the habit (write scope, respect stop) and leave stranger networks alone.
3. Stop conditions you can say out loud
If the target is not $LAB_HOST in your file, stop. If someone asks you to nmap the dorm subnet, stop. If a tutorial exploits a public cloud range, stop and rewrite to $LAB_HOST.
Next lesson locks the asset boundary: intentional vulnerable lab VMs only, not bridged stranger LANs.
4. What you ship: four written RoE lines for pentest work
who/what/where/stop on disk. $LAB_HOST named. NEVER stranger LANs, café Wi-Fi, internet ranges. chmod 600.
5. What you record before the next lesson
Date. Four RoE lines. $LAB_HOST named. File t19-m01-l02-roe-written.txt chmod 600.
6. Wrong vs right: stranger nets vs YOUR lab VMs
Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.
Wrong
Keep RoE 'in your head.' Exploit classmate IP because they 'said it is fine' without written scope.
Right
Write four lines and stop conditions. Next: Lab VMs Only.
Mission: freeze pentest RoE before tools
1) Write who/what/where/stop in $HOME/cyberlium-lab. 2) Name $LAB_HOST as the only in-scope host. 3) List stop conditions including dorm LANs and café Wi-Fi. Never exploit visible neighbor devices.
Stuck? Ask Cyberlium AI Mentor
Ask Mentor for a RoE template shape — not for a list of classmate IPs to exploit.
Knowledge Check
APPLY: A classmate shares their laptop IP and says 'practice pentest.' Your RoE lists only $LAB_HOST. You:
Multiple choice
Knowledge Check
APPLY: True or False: A responsive port authorizes pentesting that host.
True or False
Knowledge Check
APPLY: RoE 'stop' should include:
Multiple choice