Field Manual
Your cybersecurity desk reference: commands, ports, packet filters, event IDs, troubleshooting and worked labs. Build a foundation, investigate evidence and validate what you find.
27 topics
Choose a route. Keep the reference close.
Follow a learning path or jump straight to a command, filter or checklist. Each topic includes prerequisites, a worked exercise, expected results and defensive context.
Assess & validate
Scope → recon → scanning → validation → report.
Start with the assessment workflow →How to use the examples & record evidence
Lab convention: 192.168.56.10 is the analyst and 192.168.56.20 is the target only when you configure them in your own isolated lab. Replace interface names, domains, file paths and indexes with your actual training values. A private address is not permission to test it.
Code blocks identify the shell or query language. Run Linux commands in the Linux guest and PowerShell commands in Windows; reference checklists are not commands. The examples were reviewed against linked documentation. They were not all executed across Windows, Linux and Splunk, and your software version and configuration may change the result.
Record: objective, scope, tool/version, UTC time, command or action, selected output, interpretation, alternative explanation, defense and cleanup. Use synthetic data and stop when the agreed objective is met.
Browse the manual
No matching topics. Try a different tool, command, or concept.
Breaking Into Cyber
Is Cyber Right for You?
Before you start: No prior technical experience. Keep a notebook for questions and discoveries.
Cybersecurity involves investigation, building, communication, and judgment. You do not have to enjoy every part of it. Try several kinds of work before choosing a specialization. Curiosity and a repeatable learning habit are more useful starting points than buying a stack of exams.
| Try this kind of work | What you practice | What to save |
|---|---|---|
| Investigate a suspicious login | Read evidence, compare explanations, communicate uncertainty | A short incident note |
| Build a small lab | Install, configure, troubleshoot, document | A network diagram and setup guide |
| Review access permissions | Compare intended access with actual access | A before-and-after permission table |
| Explain a security risk | Translate a technical weakness into a business consequence | A one-page recommendation |
Degrees, certifications, and prior IT work can help; employer requirements vary. A help-desk role can build strong foundations, but it is not the only route. Neither a certification nor visibility online guarantees a job. Your learning plan should fit your available time, responsibilities, and target roles.
- Start with two focused sessions each week and keep a record of what you tested.
- When stuck, record the exact error, your hypothesis, and one change at a time.
- Use breaks and sustainable study hours; ask for support when difficult material or investigations affect you.
Try it — worked exercise
Spend one session reading a provided log and another building a simple web server in your own lab. For each, write what interested you, what frustrated you, and what you want to understand next.
Expected result & troubleshooting
You should have two small artifacts and a better sense of the work you enjoy. Difficulty on a first attempt is normal; distinguish a missing prerequisite from a lack of interest.
Defender’s view / practical application
Analysts and engineers both need clear notes. Practice separating observed facts, interpretations, and next actions. That habit transfers across technical and governance roles.
Reference: NIST NICE Framework
Cyber Career Paths & Skill Evidence
Before you start: Understand the difference between building a control, testing it, and monitoring it.
| Path | Typical work | Useful foundations | Portfolio evidence |
|---|---|---|---|
| SOC / detection | Triage alerts, correlate logs, improve detections | Networking, Windows/Linux logs, query language | Investigation timeline with a false-positive explanation |
| Penetration testing | Scope tests, validate weaknesses, explain impact | Networking, web applications, operating systems | A scoped lab assessment and retest report |
| GRC / risk | Assess controls, track risk, support assurance | Writing, business processes, evidence quality | Control assessment with gaps and ownership |
| Security engineering | Build and maintain security controls | Systems administration, automation, identity | A hardened service with verification steps |
| Incident response / forensics | Collect evidence, establish timelines, support containment | Host artifacts, logs, preservation | Evidence register and incident narrative |
| Cloud / identity | Review permissions, configurations and cloud activity | Cloud networking, IAM, scripting | Least-privilege review using a sandbox account |
Job titles overlap. Use tasks and required skills to compare roles rather than assuming every “analyst” or “engineer” job is the same. Learn networking and operating-system basics before specializing. Add certifications when they support a role or an identified knowledge gap.
Try it — worked exercise
Choose three current job descriptions in one path. Build a matrix: recurring task → skill required → evidence you already have → a lab that closes the gap. Pick one gap for the coming week.
Expected result & troubleshooting
A useful plan contains specific actions such as “explain a failed login using its event fields,” rather than “learn all of security.” Do not count repeated job advertisements as independent evidence of demand.
Defender’s view / practical application
Every role benefits from understanding how its output is used: an alert needs an investigation path, a finding needs remediation, and a policy needs an owner and evidence of implementation.
Reference: NIST NICE Framework
Core Concepts
Core Concepts & Security Vocabulary
Before you start: No tooling required. Use a system you understand, such as a student portal.
| Term | Meaning | Example |
|---|---|---|
| Confidentiality | Restrict disclosure to authorized parties | A student sees only their own records |
| Integrity | Protect accuracy and authorized change | Grades cannot be silently altered |
| Availability | Make services usable when needed | Students can submit work before a deadline |
| Threat | A potential cause of harm | An attacker seeking student records |
| Vulnerability | A weakness that can be used or triggered | Missing object-level access control |
| Risk | Potential harm considered with likelihood and impact | Unauthorized record access and its consequences |
| Control | A measure that changes risk | Server-side authorization and audit logging |
| Authentication | Establish an identity | Sign in using a password and second factor |
| Authorization | Decide what that identity may do | Allow viewing one’s own grade |
| Accountability | Associate actions with an identity and evidence | Record who changed a grade and when |
| Common confusion | Useful distinction |
|---|---|
| Encoding / encryption / hashing | Encoding changes representation; encryption protects confidentiality with keys; hashing produces a digest. Password storage needs a suitable password-hashing scheme, not a plain fast hash. |
| Vulnerability / exploit / incident | A weakness, a technique that takes advantage of it, and a harmful security event are different things. |
| Severity / risk | A technical severity score does not account for all local exposure, business impact, or compensating controls. |
Try it — worked exercise
For the student portal, write one failure for each CIA property. Then choose a preventive control and an observation that would demonstrate the control works.
Expected result & troubleshooting
A good answer is testable: “User A cannot retrieve User B’s record, and the denied request is logged.” “The system is secure” is not a measurable result.
Defender’s view / practical application
Map each proposed control to evidence and a responsible owner. A control that exists on paper but cannot be demonstrated may not reduce the risk you identified.
Reference: FIRST CVSS v4.0
Threat Actors, Attack Types & Detection Logic
Before you start: Know the core vocabulary and the difference between an observation and a conclusion.
| Threat pattern | Possible activity | Evidence to seek | Control to consider |
|---|---|---|---|
| Credential misuse | Unexpected sign-ins or privilege use | Identity logs, device context, session history | MFA, least privilege, credential hygiene |
| Phishing | Requests to open a file or sign in elsewhere | Email headers, destination, attachment behavior | Reporting process, mail protections, identity controls |
| Unpatched exposed service | Unusual requests followed by execution | Service logs, process lineage, network records | Patch or remove exposure |
| Insider misuse | Access outside normal duties | Access logs plus business context | Segregation of duties and access review |
| Supply-chain compromise | Unexpected software or dependency changes | Build provenance, signatures, change records | Dependency controls and verified distribution |
| Misconfiguration | Public data or overly broad permissions | Configuration snapshots and access tests | Baselines and continuous review |
An IP address, a filename, or a failed login alone rarely identifies an attacker. Indicators of compromise are useful clues; behavior and context make them meaningful. Baselines must account for administrators, scheduled jobs, vulnerability scanners, and normal maintenance.
Try it — worked exercise
Scenario: a service account has 40 failed sign-ins followed by one success. Write three explanations: password attack, stale saved credentials, and a legitimate password change. List the evidence that would distinguish them.
Expected result & troubleshooting
You should identify the host, account, time window, failure reasons, successful session, and any subsequent action. The success may be unrelated unless you correlate the details.
Defender’s view / practical application
Build detections around a question and an action: what makes this unusual, what could explain it, and what should the analyst check next? A high alert count is not the same as good detection coverage.
Reference: MITRE ATT&CK · Microsoft event 4625
Home Lab
Home Lab Setup & System Basics
Before you start: A computer with virtualization support, free disk space, and guest images matching its CPU architecture.
| Option | Use | Important note |
|---|---|---|
| VirtualBox | A small desktop VM lab | Use compatible host and guest builds; an amd64 image does not become ARM-native automatically. |
| VMware Workstation / Fusion | Desktop virtualization | Broadcom provides these at no cost for personal, educational and commercial use; download/support requirements still apply. |
| UTM / ARM-native guests | Apple Silicon study environments | Verify the guest architecture and workload; emulating x86 is different from native virtualization. |
| Dedicated hypervisor | Multiple persistent lab machines | Budget host resources and isolate its management interface. |
Suggested starting allocation for a basic Kali VM: 4 GB RAM and 40–60 GB disk, adjusted to your host and tasks. This is a planning baseline, not a universal product minimum. Start with Kali plus one ordinary Linux target; add Windows and a domain controller after basic networking works. Large SIEM stacks need their own sizing review.
- Download from the vendor and verify its published checksum.
- Create separate lab-only accounts and an isolated network.
- Take a clean snapshot before exercises; snapshots are not independent backups.
- On Kali, use the distribution’s guest packages rather than assuming an ISO-based Guest Additions install is required.
- Keep a record of image version, architecture, IP address and snapshot name.
Terminal
# Linux inventory — run inside your VM
uname -m
cat /etc/os-release
ip -br addr
ip route
df -h
free -h
# Kali guest tools, if needed after updating the VM
sudo apt update
sudo apt install virtualbox-guest-x11Try it — worked exercise
Boot your Linux VM, record its architecture and IP, take a snapshot, create a text file, and restore the snapshot. Check whether the test file remains.
Expected result & troubleshooting
The VM should boot cleanly and the post-snapshot file should disappear after restoration. If the VM cannot start, check host virtualization support, available RAM, and architecture compatibility before changing networking.
Defender’s view / practical application
A reliable lab makes security experiments reproducible. Keep targets isolated, avoid personal credentials, and record every deliberate configuration change.
Reference: Kali virtualization guides · Kali guest tools · VMware download and licensing
Lab Networking, IPv4 & Troubleshooting
Before you start: Know which machine is the host, which are guests, and which interface is used for the exercise.
| Virtual network mode | Typical reachability | Training implication |
|---|---|---|
| Internal network | Guests on the same named internal network | Useful for a self-contained target network; no default host/internet access. |
| Host-only | Host plus guests on that network | The host is exposed to the lab; this is not complete separation from your computer. |
| NAT | Guest can initiate outbound connections | Not equivalent to full isolation; it may reach services beyond the lab. |
| Bridged | Guest joins the physical network | Avoid for deliberately vulnerable targets. |
| IPv4 notation | Addresses in block | Conventional usable hosts |
|---|---|---|
| /24 · 255.255.255.0 | 256 | 254 |
| /25 · 255.255.255.128 | 128 | 126 |
| /26 · 255.255.255.192 | 64 | 62 |
| /27 · 255.255.255.224 | 32 | 30 |
| /28 · 255.255.255.240 | 16 | 14 |
| /32 | 1 | One specific address |
The host counts above describe conventional subnets with network and broadcast addresses; /31 point-to-point links are a special case. Private address space includes 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. Private does not mean authorized: your employer or household may use the same ranges.
Linux / PowerShell — run only the commands for your OS
# Linux: address → route → neighbor → service
ip -br addr
ip route
ip neigh
ping -c 3 192.168.56.20
ss -lntup
# Windows PowerShell equivalents
Get-NetIPConfiguration
Get-NetRoute -AddressFamily IPv4
Get-NetNeighbor
Test-NetConnection 192.168.56.20 -Port 8000Try it — worked exercise
Put two lab guests on one isolated network: analyst 192.168.56.10/24 and target 192.168.56.20/24, after confirming that subnet does not conflict with your existing networks. Compare guest-to-guest connectivity with the configured routes. Do not add a gateway unless the exercise needs one.
Expected result & troubleshooting
Both guests should have the intended addresses. A blocked ping does not prove the host is down; test a known allowed TCP service. If a guest unexpectedly reaches the internet, inspect every adapter, forwarding rule, NAT service and host route.
Defender’s view / practical application
A sensor on a switched or virtual network does not automatically see all traffic. Capture at an endpoint, configure supported mirroring, or route traffic through the sensor. Record the visibility boundary.
Reference: Oracle virtual networking · Linux ip reference · Linux ss reference
Passive Recon & OSINT
Passive Recon, DNS & Evidence Quality
Before you start: Use your own domain or an explicitly scoped training domain. Distinguish third-party lookups from direct target requests.
Passive research uses information already published or held by third parties. It is not a promise of “no footprint.” Search providers and platforms may log your activity. Opening a discovered website contacts that site; authoritative DNS lookups and some tools can also generate target-visible traffic.
| Source | Useful for | Limitation |
|---|---|---|
| Search engines | Indexed pages and documents | Results can be stale or incomplete. |
| Certificate transparency | Names appearing in issued certificates | A certificate does not prove a host is live or owned today. |
| RDAP / registration data | Registration and network allocation context | Privacy services, hosting providers and resellers complicate attribution. |
| Public repositories / job postings | Published technology and organizational clues | A mention is not proof of a deployed product or vulnerability. |
Terminal
# Search-engine queries — replace example.com with your scoped domain
site:example.com filetype:pdf
site:example.com "security"
site:example.com "careers"
# DNS queries — these are queries to a resolver, not guaranteed invisible
dig example.com A +noall +answer
dig example.com AAAA +noall +answer
dig example.com MX +noall +answer
dig example.com NS +noall +answer
dig example.com TXT +noall +answer
dig example.com SOA +noall +answer
# Query the exact name/type needed; ANY is not a complete zone dump.Try it — worked exercise
Build a small asset-evidence table with hostname, source URL, collection time, apparent owner, confidence, and an explicit “not yet validated” flag. Cross-check one result using a second independent source.
Expected result & troubleshooting
You should distinguish an observed name from an approved test target. Do not expand scope based on a search result. Missing records may reflect caching, filtering, split DNS or an incorrect name.
Defender’s view / practical application
Use the same inventory to identify unintended disclosures and stale public records. Remove unnecessary exposure through the responsible owner rather than attempting to hide essential public services.
OSINT Tools & Research Notes
Before you start: Define the question, approved scope and minimum information needed before choosing a tool.
| Tool / service | Best use | Check before relying on output |
|---|---|---|
| crt.sh | Explore certificate transparency names | Certificate dates, wildcard names and ownership |
| Shodan / Censys | Review previously observed internet services | Observation date, account access and scope |
| theHarvester | Aggregate configured public-source results | Supported backends, API keys, limits and tool help |
| Maltego | Explore documented relationships | Transform provenance and whether a transform contacts a target |
| Recon-ng | Organize modular reconnaissance | Module source, permissions and dependencies |
| RDAP / registry lookup | Registration and network context | Whether the registrant, operator and customer differ |
Tool help and reference note
# Record installed-tool help before choosing source-specific flags
theHarvester -h
recon-ng -h
# A research note, not a command
Question: Which hostnames are publicly associated with the scoped domain?
Observation: A certificate includes portal.example.com.
Source and time: Record the exact certificate/source and UTC time.
Confidence: Moderate association; current ownership not established.
Next action: Ask the asset owner to validate scope.Use API keys through each tool’s supported secret configuration. Avoid placing them in screenshots, shared notebooks, shell history or URLs. A dataset with many records is not necessarily accurate or recent.
Try it — worked exercise
Take five findings from one source. Deduplicate names, preserve original evidence, and label each as confirmed, plausible, contradicted or unresolved. Explain one discarded result.
Expected result & troubleshooting
A smaller evidence-backed list is better than an unqualified tool dump. If a source returns zero results, check syntax, API access, rate limits and date coverage before concluding that an asset does not exist.
Defender’s view / practical application
OSINT hygiene includes published metadata, naming conventions and accidental disclosures. Keep findings focused on the authorized organization; minimize unrelated personal information.
Active Scanning & Enumeration
Nmap — Discovery, Ports, Services & NSE
Before you start: Nmap installed; one approved lab target at 192.168.56.20; a known service to compare with results.
| Flag | Purpose | Interpretation |
|---|---|---|
| -sn | Host discovery without a port scan | A non-response may reflect filtering. |
| -sT | TCP connect scan | Uses the OS connection mechanism. |
| -sS | SYN scan | Usually requires raw-packet privileges. |
| -sU | UDP scan | Responses may be slow or ambiguous. |
| -sV | Service/version probing | An identification is evidence, not proof of exploitability. |
| -O | OS detection | Requires privileges and suitable responses. |
| -Pn | Skip discovery; treat target as up | Useful for known live hosts that block discovery; increases work. |
| -p 22,80,443 | Selected ports | Use a narrow set first. |
| -p- | TCP ports 1–65535 by default | Plan time and impact before expanding. |
| -oA name | Save normal, XML and grepable output | Use a descriptive evidence basename. |
Terminal
# Discovery limited to the authorized training subnet
nmap -sn 192.168.56.0/24 -oA lab-discovery
# One known target, narrow service set
nmap -sT -sV -p 22,80,443,8000 --reason 192.168.56.20 -oA lab-services
# A known host that blocks discovery
nmap -Pn -sT -p 8000 192.168.56.20
# Optional UDP checks, only when included in lab scope
sudo nmap -sU -p 53,123,161 192.168.56.20 -oA lab-udp
# Read script descriptions before executing scripts
nmap --script-help "vuln and safe"
nmap -sV -p 8000 --script http-title,http-headers 192.168.56.20NSE correction: --script "vuln and safe" selects the intersection. --script vuln,safe selects either category and is not “safe vulnerability scripts only.” A safe label does not guarantee zero impact. Review individual scripts. -A enables OS detection, version detection, default scripts and traceroute; it is not merely a faster scan.
| State | Meaning |
|---|---|
| open | An application is accepting traffic on this port. |
| closed | The host responded but no application is listening there. |
| filtered | Filtering prevents Nmap from determining open/closed. |
| open|filtered | The response does not distinguish these possibilities, common with UDP. |
Try it — worked exercise
Start the small HTTP lab in the exploitation section, then scan port 8000. Save output, stop the server, and repeat. Compare the evidence rather than only the service label.
Expected result & troubleshooting
Expect an open port while the server is listening, and a different state after it stops, depending on the firewall. If the result disagrees, check the listening address, VM IP, firewall and network mode.
Defender’s view / practical application
Compare scan timestamps and source IPs with firewall or endpoint logs. Use this to test telemetry coverage, not to assume every scan produces an IDS alert.
Reference: Nmap script selection · Nmap port states · Nmap service detection
SMB & Windows Enumeration
Before you start: A Windows or Samba lab server, a known share and a lab account approved for access tests.
Terminal
# Linux: list shares; enter the lab password at the prompt
smbclient -L //192.168.56.20 -U labuser
# Open only the named training share
smbclient //192.168.56.20/training -U labuser
# Inside smbclient
ls
pwd
help
quit
# Windows PowerShell: local server configuration, with suitable rights
Get-SmbShare
Get-SmbShareAccess -Name training
Get-SmbSession
Get-SmbServerConfiguration |
Select-Object EnableSMB1Protocol,EnableSMB2Protocol,RequireSecuritySignature| Observation | What it does / does not establish |
|---|---|
| A share is listed | The name is discoverable; it does not prove the account can read every file. |
| Access denied | A particular action failed under this identity; do not assume all identities are denied. |
| A file can be read | Document the exact file and identity; avoid collecting unrelated contents. |
| SMB signing enabled | Check whether it is required and negotiated; signing is different from encryption. |
| Old SMB service | Confirm dialects, patch state and exposure; port 445 alone does not establish EternalBlue. |
Assess share permissions and file-system permissions together. Test using the intended ordinary user, not only an administrator. Keep credentials out of command arguments and reusable reports.
Try it — worked exercise
Place a harmless instructor-provided text file in the training share. Compare listing and reading it as two lab identities with different permissions. Record the intended and observed results.
Expected result & troubleshooting
The restricted identity should receive the intended denial. If both users succeed, inspect group membership, inherited permissions and cached sessions before claiming a vulnerability.
Defender’s view / practical application
Correlate authentication records with share/object auditing when configured. A network logon is common administration activity; detection needs the identity, host, resource and behavior together.
Reference: Samba smbclient reference · Microsoft event 4625
Common Services & Attacks
Ports, Protocols & Service Checks
Before you start: Know TCP versus UDP and remember that software can listen on nonstandard ports.
| Port / transport | Common service | What to check |
|---|---|---|
| 20/21 TCP | FTP data/control | Whether TLS is negotiated; cleartext credentials need context and evidence. |
| 22 TCP | SSH / SFTP | Authentication methods, keys, supported algorithms and exposure. |
| 23 TCP | Telnet | Cleartext remote access; identify any justified legacy requirement. |
| 25 TCP | SMTP relay | Relay restrictions, STARTTLS, mail flow and access policy. |
| 53 UDP/TCP | DNS | Resolution, recursion policy, transfers and logging. |
| 67/68 UDP | DHCPv4 | Approved servers and address leases. |
| 80 TCP | HTTP | Redirect behavior, sensitive content and authentication. |
| 88 UDP/TCP | Kerberos | Domain authentication context. |
| 110/995 TCP | POP3 / implicit TLS | Transport protection and authentication. |
| 123 UDP | NTP | Time synchronization and permitted peers. |
| 135 TCP | Windows RPC endpoint mapper | Required management access; dynamic ports may follow. |
| 137/138 UDP,139 TCP | NetBIOS | Legacy name/session requirements. |
| 143/993 TCP | IMAP / implicit TLS | Transport protection, STARTTLS and authentication. |
| 161/162 UDP | SNMP / traps | Version, access restrictions and secrets. |
| 389/636 TCP | LDAP / LDAPS | Signing, channel binding where applicable, TLS and access. |
| 443 TCP; often UDP | HTTPS / HTTP/3 over QUIC | Certificate validation, protocol and application behavior. |
| 445 TCP | SMB | Dialect, signing, encryption and permissions. |
| 465/587 TCP | Mail submission | Implicit TLS versus STARTTLS configuration. |
| 1433/3306/5432 TCP | SQL Server / MySQL / PostgreSQL | Network exposure, authorization and patch level. |
| 3389 TCP/UDP | RDP | Access path, MFA gateway controls and patch state. |
| 5985/5986 TCP | WinRM | HTTP/HTTPS transport and permitted management identities. |
| 8080/8443 TCP | Alternate HTTP/HTTPS | Identify the actual service; do not assume an admin panel. |
Terminal
# Inspect headers on your training service
curl --head --max-time 10 http://192.168.56.20:8000/
# Inspect a response without following redirects automatically
curl --silent --show-error --dump-header response-headers.txt --output response-body.html http://192.168.56.20:8000/
# Confirm a listener on the Linux target
ss -lntupTry it — worked exercise
Compare a service’s configured port, local listening socket and remote scan result. Record transport, address, product evidence and whether authentication is required.
Expected result & troubleshooting
A matching port number is a starting hypothesis. HEAD may be unsupported even when GET works. TLS errors should be investigated, not routinely bypassed with curl’s insecure option.
Defender’s view / practical application
Prioritize unnecessary exposure and weak access boundaries. The presence of a port is not automatically a reportable vulnerability.
Reference: curl reference · Linux ss reference · Nmap service detection
Attack Techniques & Defensive Mapping
Before you start: A scoped lab or supplied scenario. Map the observed behavior, not just a tool’s name.
| Technique / weakness | What to validate | Useful defensive evidence | Remediation direction |
|---|---|---|---|
| SQL injection | Input changes query behavior in a training app | Application/database errors and unusual query patterns | Parameterized queries and least-privilege DB access |
| Cross-site scripting | Untrusted input reaches an executable browser context | Application evidence and browser behavior | Context-aware encoding and appropriate sanitization |
| Broken access control / IDOR | One identity accesses another identity’s object | Object IDs, requester identity, authorization decisions | Enforce authorization server-side per object/action |
| SSRF | Server makes an unintended outbound request | Application and egress records | Constrain destinations and access to internal services |
| Command injection | Input reaches OS execution | Process lineage and application inputs | Avoid shell execution; use safe APIs and strict validation |
| Path traversal | Input escapes an intended file boundary | Requested path and file access evidence | Canonicalize and enforce allowed paths |
| Credential reuse / pass-the-hash | Reused authentication material grants access | Authentication package, source and follow-on activity | Reduce credential exposure and reuse; restrict administration |
| Persistence | Changes cause code or access to survive | Task, service, autorun and configuration changes | Remove unauthorized changes and fix entry paths |
MITRE ATT&CK catalogs adversary behavior; OWASP WSTG organizes web testing. A weakness such as XSS is not automatically equivalent to a single ATT&CK technique. Choose a mapping after understanding execution context, objective and evidence.
Try it — worked exercise
In an instructor-provided web lab, compare access to a test record as its owner and as another ordinary user. Document the request, response and expected authorization rule. Use only synthetic records.
Expected result & troubleshooting
A valid finding shows unauthorized access, not merely a different status code. Exclude cached content and intentionally public records before concluding that access control failed.
Defender’s view / practical application
Write a paired test: the authorized action should succeed and the unauthorized action should fail. Log enough identity and resource context to distinguish them.
Reference: OWASP Web Security Testing Guide · MITRE ATT&CK · PortSwigger Web Security Academy
Network Analysis
IPv6 Fundamentals & Targeted Checks
Before you start: An IPv6-enabled lab host. Substitute the actual interface name and a known lab address.
| Prefix / address | Purpose | Practical note |
|---|---|---|
| 2000::/3 | Currently assigned global unicast space | Not every subrange is ordinary public host space. |
| 2001:db8::/32 | Documentation examples | Not a real internet-routable target. |
| fc00::/7 | Unique local address space | fd00::/8 is used for locally assigned ULAs; not globally routed. |
| fe80::/10 | Link-local | Restricted to the local link; specify the interface when needed. |
| ::1/128 | Loopback | This host only. |
| ::/128 | Unspecified | Not an ordinary destination address. |
| ff00::/8 | Multicast | ff02::1 denotes all nodes on the link. |
IPv6 uses 128-bit addresses. A /64 contains 264 addresses, so an exhaustive sweep is not a sensible host-discovery method. Use DNS, address inventories, neighbor information, logs and known endpoints. Neighbor Discovery replaces ARP’s IPv4 role; it uses ICMPv6. Avoid blanket ICMPv6 blocking.
Terminal
# Linux: inspect your own interfaces and known neighbors
ip -6 addr show
ip -6 route show
ip -6 neigh show
# Link-local ping: replace eth0 and the address with actual lab values
ping -6 -c 3 fe80::1%eth0
# DNS AAAA asks for an IPv6 record; transport can still be IPv4
dig example.com AAAA +noall +answer
# Scan one explicitly configured ULA lab endpoint, not a /64
nmap -6 -sT -p 22,80,443 fd12:3456:789a::20
# Windows PowerShell
Get-NetIPAddress -AddressFamily IPv6
Get-NetRoute -AddressFamily IPv6
Get-NetNeighbor -AddressFamily IPv6Try it — worked exercise
Find your guest’s link-local address and interface. Communicate with a known peer on the same isolated link. Compare the neighbor table before and after. Separately check whether your lab has a configured ULA or global address.
Expected result & troubleshooting
A link-local address does not imply internet connectivity. If a link-local request fails, check interface scope, peer address and firewall policy. Do not replace real addresses with 2001:db8 examples and expect connectivity.
Defender’s view / practical application
Inventory and monitor IPv6 alongside IPv4. Assess rogue router advertisements, unexpected DNS behavior and policy differences using evidence; IPv6 being enabled is not by itself a vulnerability.
Reference: IANA IPv6 address space · Linux ip reference
Wireshark & TShark — Packet Analysis
Before you start: A supplied PCAP or capture permission on your own lab interface. Confirm the capture point and time zone.
| Display filter | Use |
|---|---|
| ip.addr == 192.168.56.20 | Either IPv4 endpoint |
| ipv6.addr == fd12:3456:789a::20 | Either IPv6 endpoint |
| tcp.port == 8000 | TCP source or destination port |
| tcp.flags.syn == 1 && tcp.flags.ack == 0 | Initial SYN packets |
| tcp.analysis.retransmission | Packets classified as retransmissions |
| dns.flags.response == 0 | DNS requests |
| dns.flags.rcode != 0 | DNS responses with nonzero return code |
| http.request | Decoded HTTP requests |
| http.response.code >= 400 | Decoded HTTP error responses |
| tls.handshake | Visible TLS handshake records |
| tcp.stream eq 0 | One TCP stream; replace its index |
| arp || icmp || icmpv6 | Address resolution / control traffic |
Capture-filter reference / terminal
# Capture filters (different syntax from display filters)
host 192.168.56.20
tcp port 8000
net 192.168.56.0/24
not tcp port 22
# TShark: analyze an existing capture
tshark -r lab.pcapng -Y 'dns.flags.response == 0'
tshark -r lab.pcapng -Y 'http.request' -T fields -e frame.time -e ip.src -e http.host -e http.request.uri
tshark -r lab.pcapng -q -z conv,tcp
tshark -r lab.pcapng -Y 'tcp.stream eq 0' -VCapture filters decide what is collected; display filters select from what was collected. Follow TCP Stream, Protocol Hierarchy and Conversations help connect packets into a story. TLS application data remains encrypted without suitable session secrets and supported decryption; “Follow Stream” does not defeat encryption. A capture cannot show traffic outside its visibility.
Try it — worked exercise
Capture one request to your lab’s HTTP server on port 8000. Find the TCP handshake, request method, response status and connection endpoints. Compare a fresh connection with a repeated browser request.
Expected result & troubleshooting
You should identify an HTTP transaction when the traffic is captured and decoded. If no packets appear, check interface selection and filters. Checksum warnings can result from host offloading; retransmissions can reflect capture loss as well as network problems.
Defender’s view / practical application
Join network observations with endpoint and service logs. Record what the capture cannot establish, including traffic on other paths and encrypted content.
Reference: Wireshark User’s Guide · TShark reference · Wireshark DNS fields
Vulnerability Assessment
Vulnerability Assessment, Prioritization & Reporting
Before you start: A defined asset list, assessment window, contact and evidence location.
| Step | Required output |
|---|---|
| Scope | Systems, exclusions, identities, test window, allowed methods and stop conditions |
| Discover | Observed assets and services, reconciled with the approved list |
| Assess | Scanner configuration, credentials used and coverage limitations |
| Validate | Evidence that the affected condition exists; distinguish affected from exploitable |
| Prioritize | Exposure, business impact, exploit activity and compensating controls |
| Report | Reproducible findings with owners and proposed remediation |
| Retest | Evidence that the correction works and the intended service still functions |
| CVSS severity band | Score |
|---|---|
| None | 0.0 |
| Low | 0.1–3.9 |
| Medium | 4.0–6.9 |
| High | 7.0–8.9 |
| Critical | 9.0–10.0 |
Record the CVSS version and vector, not just a number. Severity bands do not prescribe universal 30/90/180-day deadlines. Remediation priority also depends on exposure, business context, active exploitation and the organization’s policy. CISA KEV is evidence of exploitation in the wild; absence from KEV is not evidence of safety.
Example finding — illustrative, not a live assessment
Finding: Lab HTTP directory listing exposes a synthetic note
Asset: 192.168.56.20:8000
Observed condition: The root path lists note.txt without authentication.
Evidence: Request/response, timestamp, file name; use synthetic contents.
Impact: In this configuration, anyone who can reach the service can retrieve it.
Limits: This is a deliberate training server, not proof of a production exposure.
Fix: Stop the unnecessary server or replace it with a properly configured service.
Retest: Confirm the listing is unavailable and the intended function still works.Try it — worked exercise
Compare two hypothetical findings: a high-severity isolated test service and a lower-scored internet-facing issue with known exploitation. Write the missing questions before choosing a remediation order.
Expected result & troubleshooting
A defensible priority explains why the asset matters, who can reach it, what controls exist and how urgently action is needed. Do not lower severity simply because you failed to exploit a condition.
Defender’s view / practical application
Keep detection and remediation connected. Preserve evidence of exposed behavior and verify monitoring during the retest; a clean scanner result alone may not prove the control works.
Reference: FIRST CVSS v4.0 · CISA Known Exploited Vulnerabilities · OWASP Web Security Testing Guide
Nessus — Scan Setup, Limits & Validation
Before you start: One or two approved lab targets. Check the license and scan policy available in your installed version.
Offer checked September 12, 2026: Tenable’s current Essentials product page describes a 30-day, non-commercial/personal license for up to 5 IPs, without reporting or data export. It also describes Essentials Plus access for verified students and instructors. Older references to an unrestricted-duration 16-IP Essentials offer should not be used to plan a new lab. Review current terms and preserve your own permitted notes before expiry.
| Configuration | Why it matters |
|---|---|
| Target list | A subnet typo can include systems outside the lab. Start with an explicit address. |
| Scan template | Know which checks and port-discovery settings it enables. |
| Credentials | An authenticated scan can examine local state that a network-only scan cannot. |
| Plugins / feed | Record the update date and any license-related delay. |
| Service sensitivity | Fragile services need agreed limits and a stop contact. |
| Coverage | Credential failure, offline hosts and filtering are gaps, not clean results. |
- Create a named lab policy and record its important settings.
- Run a narrow baseline scan and confirm the intended target answered.
- Inspect plugin output and affected software/configuration.
- Cross-check one result using local configuration or a vendor advisory.
- Apply a reversible lab remediation, then repeat the same relevant checks.
Try it — worked exercise
Scan one ordinary lab VM before and after a planned package update. Compare the scanner evidence with the guest’s installed package records. Identify at least one result that needs context rather than automatic acceptance.
Expected result & troubleshooting
Your notes should show whether the scan authenticated and what changed. If credentials fail, fix and rerun the coverage step. Do not treat an empty result list as proof of no vulnerabilities.
Defender’s view / practical application
Label authorized scanner addresses in your monitoring records while still watching for unusual activity from them. Scanner suppression should be precise and time-bounded, not a permanent blind spot.
Reference: Tenable Nessus Essentials
Exploitation Fundamentals
Exploitation Concepts & Controlled Validation
Before you start: An isolated training target and a snapshot. Match each test to the exact lab objective and authorized impact.
Exploitation demonstrates that a weakness can produce an unintended effect. It does not always create a shell: reading another test user’s record or bypassing a workflow can establish impact. Begin with the least invasive proof that answers the question, then document what remains untested.
| Metasploit term | Meaning |
|---|---|
| Module | A specific scanner, exploit, post module or other function |
| Payload | Code run after a successful exploit, where applicable |
| RHOSTS / RPORT | Target address(es) and target port |
| LHOST / LPORT | Callback address/port when required by the chosen payload |
| Session | An established interaction with a target |
| check | Module-specific vulnerability check; may be absent or have side effects |
Terminal
# Metasploit console reference: inspect before selecting an action
msfconsole
search type:auxiliary name:http_version
use auxiliary/scanner/http/http_version
info
show options
set RHOSTS 192.168.56.20
set RPORT 8000
run
back
sessions
exitThe example above identifies an HTTP service; it does not exploit one. For an exploit exercise, use the instructor’s exact target/module and read its documentation, options and side effects. Never assume check is harmless. Bind sessions require the tester to reach a listener on the target; reverse sessions require the target to reach the tester. Routing, firewall rules and addressing decide whether either can work.
Worked lab — intentional HTTP exposure
# On the isolated Linux target, in a new empty training directory
mkdir -p ~/c6-http-lab
cd ~/c6-http-lab
printf 'Synthetic training note
' > note.txt
python3 -m http.server 8000 --bind 192.168.56.20
# On the analyst VM
curl --fail --show-error http://192.168.56.20:8000/note.txt
# Stop the server with Ctrl-C on the target when finished.Try it — worked exercise
Use the commands to serve a synthetic note on the isolated network. Retrieve it once, capture the request/response and explain the lack of authentication. Stop the server and verify the service is no longer available.
Expected result & troubleshooting
The response should contain “Synthetic training note.” This demonstrates exposed content, not arbitrary code execution. If binding fails, the target does not have that address or the port is occupied. Python’s development server is not a production service.
Defender’s view / practical application
Correlate the request with the target’s access log and process/listener evidence. For more advanced exercises, define the detection and cleanup checks before running the exploit.
Reference: Metasploit module workflow · Metasploit module checks and side effects · Python development HTTP server
Post-Exploitation & Privilege Escalation
Post-Exploitation, Evidence & Cleanup
Before you start: An explicitly authorized lab session. Define which post-access actions are allowed before attempting them.
| Question | Read-only starting point | What to record |
|---|---|---|
| Who am I? | whoami / id | Identity, groups, effective privileges |
| Where am I? | hostname; OS and version checks | Hostname, OS, session type |
| What can I reach? | Routes and listening sockets | Observed routes; do not expand scope automatically |
| What did the test change? | Your own action log | Files, processes, accounts, permissions, tasks |
| How do we restore? | Snapshot or documented rollback | Cleanup owner, evidence and verification |
Linux / Windows — use the appropriate shell
# Linux session orientation
whoami
id
hostname
pwd
ip route
ss -lntup
# Windows session orientation
whoami
whoami /groups
whoami /priv
hostname
ipconfig /all
route print
netstat -anoCredential access, persistence, lateral movement and data transfer each require explicit scope. A foothold does not authorize every action on the host. For a beginner exercise, prove access with a synthetic marker and document identity; avoid collecting real secrets. An ordinary shell and Meterpreter have different commands—use the current session’s help, not a mixed command list.
Reference checklist
Action log fields:
UTC time | session/host | action | observed result | artifact | cleanup
Cleanup checklist:
Stop the training process; remove only the named lab artifacts.
Revert approved permission changes or restore the agreed snapshot.
Confirm the expected services and access still work.
Record what could not be restored and notify the instructor/owner.Try it — worked exercise
After the HTTP lab, list the listening service and process, stop it, and record the before/after evidence. Inventory only the files created by that exercise and remove them after retaining the required training notes.
Expected result & troubleshooting
Cleanup should be demonstrable: no training listener, no unexpected running process and a complete action log. Do not delete logs to “clean up”; they are part of the evidence.
Defender’s view / practical application
The same action log is a detection-validation timeline. Compare each planned action with available process, authentication and network records, and document missing coverage.
Reference: Linux id reference · Linux ip reference · Linux ss reference
Windows Privileges, Services & Hardening
Before you start: A Windows lab VM. Use a standard user first; obtain approved elevation only where a command requires it.
Windows PowerShell
# Identity and token context
whoami /all
whoami /groups
whoami /priv
# PowerShell: inventory without changing services or accounts
Get-CimInstance Win32_OperatingSystem |
Select-Object Caption,Version,BuildNumber
Get-CimInstance Win32_Service |
Select-Object Name,State,StartName,PathName
Get-ScheduledTask |
Select-Object TaskName,TaskPath,State
Get-LocalGroupMember -SID 'S-1-5-32-544'
# Inspect permissions on an instructor-provided path
Get-Acl 'C:\Lab\training.txt' | Format-List| Condition to investigate | Necessary follow-up |
|---|---|
| Writable service path | Can the ordinary user modify a file that a privileged service actually executes? |
| Unquoted service path | Are there spaces, a writable candidate path and a relevant launch path? |
| Scheduled task | Who can change its action or the referenced file, and under which identity does it run? |
| Token privilege | Is it enabled, in what token, and what additional preconditions apply? |
| Patch finding | Does the exact product/build and configuration match the advisory? |
Try it — worked exercise
Inspect a harmless instructor-created service definition and its executable path. Record the service account, executable and directory permissions. Do not replace the executable or alter the service to prove your observation.
Expected result & troubleshooting
A useful result connects a privileged execution context to an actual writable path or unsafe permission. An unquoted path or a present privilege alone does not prove an exploitable condition. LocalAccounts cmdlets require a supported Windows environment; they are not available in 32-bit PowerShell on a 64-bit system.
Defender’s view / practical application
Restrict local administrator membership, protect service binaries and directories, audit privileged changes and use Windows LAPS where appropriate. Test remediation with the same low-privilege identity, then confirm the service still starts.
Reference: Microsoft local group membership · Microsoft Windows LAPS
Linux Permissions, Privileges & System Checks
Before you start: A Linux lab account and a directory containing only training files.
Terminal
# Identity, release and sudo policy (may prompt for your password)
id
uname -r
cat /etc/os-release
sudo -l
# File and directory ownership; numeric permissions
ls -ld ~/c6-http-lab
ls -l ~/c6-http-lab
stat ~/c6-http-lab/note.txt
# Local service and process inventory
ps -eo user,pid,ppid,comm --sort=user
ss -lntup
systemctl list-timers --all
# Bounded permission search inside the training directory
find ~/c6-http-lab -type f -perm -0002 -print
# Optional system inventory, with permission; results are not findings alone
find /usr/bin -xdev -type f -perm -4000 -print
getcap -r /usr/bin 2>/dev/null| Permission / concept | Meaning |
|---|---|
| r / w / x on a file | Read contents / modify contents / execute |
| r / w / x on a directory | List names / change entries / traverse |
| Owner, group, others | Three permission classes; ACLs can add detail |
| SUID / SGID | Special execution or directory behavior; inspect purpose and permissions |
| Linux capabilities | Fine-grained privileges associated with processes or files |
| sudo policy | Specific commands and identities a user may invoke; check exact rules |
| Kernel version | One input to advisory matching; distributions may backport fixes |
A SUID binary, root-owned process or old-looking version string is not automatically a vulnerability. Connect the observation to an actual unauthorized capability. Avoid downloading and executing an enumeration script merely because a checklist names it.
Try it — worked exercise
Create a synthetic text file in your training directory. Compare chmod 600 note.txt with chmod 644 note.txt, then restore 600. Explain who can read the file under each mode and whether the directory permits traversal.
Expected result & troubleshooting
The owner retains read/write permission in both cases; 644 adds group/other read access. Permission-denied results may be caused by parent-directory permissions or ACLs. Run changes only on the named training file.
Defender’s view / practical application
Review sudo rules, writable execution paths, service accounts and scheduled jobs. Preserve audit records and verify the corrected permissions using the identity that previously had excessive access.
Reference: sudo reference · Linux id reference · Linux ss reference
Blue Team & Defense
Active Directory — Identity, Attacks & Defense
Before you start: A dedicated lab domain with synthetic users; distinguish domain controllers, member servers and workstations.
| AD concept | Why it matters |
|---|---|
| Domain controller | Provides directory and authentication functions; high-value administrative boundary |
| Kerberos / SPN | Service authentication depends on accounts and registered service names |
| NTLM | Different authentication protocol with different risks and compatibility constraints |
| Group membership | Privileges can be inherited through nested groups |
| Delegation | A service may act on behalf of users under particular conditions |
| Local vs domain admin | Different scopes; one does not automatically mean the other |
| BloodHound collection | Maps relationships that may form attack paths; collection is not itself proof of exploitation |
Windows PowerShell — lab directory queries
# PowerShell with the ActiveDirectory module / RSAT in the lab
Get-ADDomain
Get-ADDomainController -Filter *
Get-ADUser -Filter * -Properties Enabled,PasswordLastSet |
Select-Object SamAccountName,Enabled,PasswordLastSet
Get-ADGroupMember -Identity 'Domain Admins' -Recursive
Get-ADComputer -Filter {TrustedForDelegation -eq $true} |
Select-Object Name,DNSHostName
# Review accounts registered for services
Get-ADUser -LDAPFilter '(servicePrincipalName=*)' -Properties ServicePrincipalName |
Select-Object SamAccountName,ServicePrincipalName| Attack pattern | Evidence and limitations | Defensive direction |
|---|---|---|
| Kerberoasting | Service-ticket requests plus account and encryption context; 4769 alone is normal | Managed service accounts where appropriate; strong credentials and service account review |
| Pass-the-hash | Unexpected NTLM authentication plus access/activity context | Reduce credential reuse, segment administration, monitor identity behavior |
| Delegation abuse | A relevant configuration and a usable path, not just a label | Review delegation and protect privileged accounts |
| DCSync-like replication | Directory access/replication evidence from an unexpected principal or host | Restrict replication rights and investigate non-DC use |
| Golden-ticket hypothesis | Requires broader authentication investigation; no single generic filter proves it | Protect domain secrets and follow an incident-specific recovery plan |
Try it — worked exercise
Create a diagram of your lab domain. Choose one synthetic user, trace direct and nested group membership, and explain one permitted action and one denied action. Record the source of each permission.
Expected result & troubleshooting
You should be able to explain the access path rather than merely display a graph. Domain query failures may mean the RSAT module is absent, DNS is wrong, or the account lacks access. Event 4769 fields vary by Windows version and updates.
Defender’s view / practical application
Use separate admin identities, limit delegation, review privileged groups and manage local passwords with Windows LAPS. Changes such as reducing NTLM need compatibility assessment and staged validation.
Reference: Microsoft event 4769 · Microsoft Windows LAPS
SIEM, Windows Events & Splunk Query Library
Before you start: For real data: identify the index, sourcetype, log source, permissions, time range and extracted fields. Synthetic queries need only a Splunk search interface.
Start with raw evidence, then normalize. Event IDs are meaningful only with their provider/log. The absence of an event can mean auditing was disabled, collection failed or the time range is wrong. Windows 4688 requires process-creation auditing; command-line text needs its separate policy setting.
| Event / log | Meaning | What to correlate |
|---|---|---|
| 4624 · Security | Successful logon | Identity, logon type, source, host and Logon ID |
| 4625 · Security | Failed logon | Target identity, status/substatus, source and repetition |
| 4648 · Security | Explicit credentials used | Caller process, target and whether use is expected |
| 4672 · Security | Special privileges assigned at logon | Often normal for administrators/services; correlate identity |
| 4688 · Security | Process created | Image, parent, token and command line if configured |
| 4698 · Security | Scheduled task created | Task content, creator and change window |
| 4720 · Security | User account created | Creator, purpose and later group membership |
| 4724 · Security | Password reset attempted | Reset initiator and approved help-desk activity |
| 4728 / 4732 / 4756 · Security | Member added to global/local/universal security group | Exact group, member and authorized change |
| 4768 / 4769 · Security on DC | Kerberos TGT / service-ticket request | Account, service, host and baseline |
| 4771 · Security on DC | Kerberos pre-authentication failure | Failure code and identity |
| 1102 · Security | Audit log cleared | Responsible identity and related activity |
| 7045 · System | Service installed | Binary path, service identity and change context |
| Sysmon 1 / 3 / 11 / 22 | Process / network / file-create / DNS events | Provider and configuration; network logging is not on by default |
SPL syntax desk reference
| Command | Use |
|---|---|
| search | Filter events or later results |
| table | Select and order columns |
| stats | Aggregate results, often by one or more fields |
| timechart | Aggregate across time bins |
| eval | Create or transform fields |
| where | Filter by evaluated expressions |
| sort | Order results; “sort 0” avoids the default result limit |
| dedup | Keep distinct values; consider whether duplicates are meaningful |
| bin | Group values such as timestamps into intervals |
| coalesce | Choose the first non-null field value; validate field meanings first |
SPL — synthetic dataset; no Windows log ingestion required
| makeresults count=6
| streamstats count as n
| eval _time=now()-(6-n)*60, user="labuser",
src_ip="192.168.56.10", EventCode=if(n<6,4625,4624)
| stats count(eval(EventCode=4625)) as failures,
count(eval(EventCode=4624)) as successes by user src_ipSPL templates — replace index and map fields to your own data
index=YOUR_WINDOWS_INDEX earliest=-24h
| stats count by sourcetype
index=YOUR_WINDOWS_INDEX earliest=-24h EventCode=4625
| table _time host EventCode TargetUserName IpAddress Status SubStatus
index=YOUR_WINDOWS_INDEX earliest=-24h EventCode=4625
| bin _time span=5m
| stats count as failures by _time host TargetUserName IpAddress
| where failures>=5
| sort 0 - failures
index=YOUR_WINDOWS_INDEX earliest=-24h EventCode=4688
| table _time host SubjectUserName NewProcessName ParentProcessName CommandLine
index=YOUR_WINDOWS_INDEX earliest=-24h EventCode=4625
| timechart span=15m count by host limit=10The templates assume EventCode and XML-style Windows fields are extracted. Some inputs use EventID, Account_Name, or normalized fields instead. Inspect a raw event before adapting the query. The threshold of five failures is a lab demonstration, not a production rule. These queries organize evidence; they do not prove password spraying, lateral movement or privilege escalation.
PowerShell — local Windows log inspection
# Windows PowerShell: inspect local events, with permission to read the log
Get-WinEvent -FilterHashtable @{
LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-1)
} -MaxEvents 20 | Select-Object TimeCreated,Id,MachineName,MessageTry it — worked exercise
Run the synthetic SPL example, then change one generated outcome and explain the result. For a real-log exercise, generate one approved failed login on a lab account, note the UTC time, and find its event on the relevant host.
Expected result & troubleshooting
The unchanged synthetic query produces one row: five failures and one success. Real log fields and collection are environment-dependent. Empty results require checking collection, permissions and time range before changing the detection.
Defender’s view / practical application
Correlate failures with successful sessions and subsequent behavior. Document false positives, telemetry dependencies, review steps and a clear escalation reason before promoting a query into an alert.
Reference: Splunk synthetic results · Splunk timechart · Microsoft event 4625 · Microsoft event 4688
Incident Response — Triage, Evidence & Recovery
Before you start: An incident contact list, a reporting channel and authority for containment decisions.
NIST SP 800-61 Rev. 3, published in April 2025, supersedes Rev. 2 and integrates incident response with CSF 2.0. Preparation and improvements extend across risk management; operational response includes Detect, Respond and Recover. The practical checklist below is a training workflow, not a substitute for your organization’s incident plan.
| Stage | Immediate questions | Record |
|---|---|---|
| Triage | What triggered the alert? Is there an incident, and what is uncertain? | Source, times, affected assets, confidence |
| Scope | Which identities, hosts and services may be involved? | Timeline and relationships with evidence links |
| Contain | What action limits harm, who authorizes it and what could it disrupt? | Decision, owner, action, rollback and business impact |
| Preserve | What evidence is volatile or at risk of loss? | Collection method, custodian, hashes and transfer log |
| Eradicate | What caused access, and what must be removed or corrected? | Remediation actions and verification |
| Recover | Can the service return safely and remain monitored? | Recovery checks, owner acceptance and watch period |
| Improve | Which control, process or visibility gap mattered? | Prioritized corrective actions and follow-up |
Reference — fill in with case-specific facts
Incident note template
Case ID / analyst / UTC time:
Trigger and evidence source:
Confirmed observations:
Current hypothesis and confidence:
Affected identities, hosts and services:
Containment decision / authority / impact:
Evidence locations and custodians:
Next action / owner / due time:
What would change this assessment?Keep original evidence and analyze working copies. A hash helps detect change; it does not establish when, where or by whom the evidence was collected. Record those details separately. Avoid automatically rebooting a suspect host or deleting files before considering volatile evidence and containment needs.
Try it — worked exercise
Use the five-failure/one-success training sequence. Draft a triage note with two competing explanations. Add a hypothetical process event after the success and explain how it changes your confidence and next steps.
Expected result & troubleshooting
A good response identifies missing evidence and a justified next action. Do not declare a breach from the authentication sequence alone. Record the difference between detection time and estimated activity time.
Defender’s view / practical application
Response improves when owners, authority and evidence paths are already known. Test handoffs and recovery, not only alert generation.
Reference: NIST SP 800-61 Rev. 3
CTF & Practice Platforms
Practice Platforms, Lab Notes & Writeups
Before you start: A training account or a locally isolated target; read each platform’s scope and publication rules.
| Resource | Use it for | Select an exercise that… |
|---|---|---|
| PortSwigger Web Security Academy | Web vulnerability explanations and interactive labs | Lets you explain a request/response and its remediation |
| TryHackMe | Guided security learning and lab practice | Matches your prerequisites and current access plan |
| Hack The Box | Technical practice across systems and applications | Has an appropriate starting level and documented scope |
| picoCTF | Foundational challenge practice | Builds one concept you can reproduce |
| Local Linux/Windows lab | Repeatable configuration and detection tests | Produces both activity and observable evidence |
Platform paths, free access and account features change. Check the current platform page before committing time or money. Use an old deliberately vulnerable image only in an isolated environment; it teaches a historical condition, not necessarily a modern deployment.
| Writeup component | What to include |
|---|---|
| Objective | Question, prerequisites and scope |
| Method | Why you chose each action |
| Evidence | Relevant commands, timestamps and selected outputs |
| Interpretation | What the evidence supports and what it does not |
| Defense | Prevention, detection and how you would retest |
| Reflection | Wrong assumptions, troubleshooting and next learning step |
Try it — worked exercise
Complete one authorized web access-control lab. Write a short explanation without publishing a restricted solution or live challenge flag. Add a regression test that describes the fixed behavior.
Expected result & troubleshooting
Someone else should understand the reasoning without needing your account or secrets. Screenshots alone are insufficient if they omit the method. Redact tokens, personal data and unrelated infrastructure.
Defender’s view / practical application
Use the same lab to practice logging and reporting. A strong portfolio shows judgment and clear communication, not just completed flags.
Reference: PortSwigger Web Security Academy
Cover6 Learning Paths & Practice Sequence
Before you start: Choose a track based on your existing skills. Use the manual as a companion rather than a requirement to finish every topic in order.
| Path | Study order | Finish with |
|---|---|---|
| Start here | Career exploration → core concepts → home lab → network basics | A lab diagram and a plain-language explanation of a connection |
| Defender | Foundations → Wireshark → Windows/AD → SIEM → incident response | A short investigation with evidence and alternative explanations |
| Assessment / pentest | Foundations → scope → recon → Nmap → service validation → reporting | A scoped assessment with remediation and retest |
| Skills refresher | Search for a tool or concept → check prerequisites → run a bounded exercise | Updated personal notes and a verified result |
- Breaking Into Cyber — explore the career and learning route.
- Intro to Cyber — connect the core concepts.
- Home Lab Setup — establish a repeatable practice environment.
- Cover6: First Watch — explore the defender learning experience.
- Cover6: First Shell — explore the assessment learning experience.
- Cover6 Academy — check current course availability, prerequisites and access terms.
Treat progression as demonstrated ability: can you reproduce the result, explain the evidence and recover the lab? A completed video is useful exposure, but it does not establish that skill on its own.
Try it — worked exercise
Choose one path and schedule three sessions: learn the concept, perform an exercise, and explain the result from memory. At the end, choose a follow-on topic based on the difficulty you actually encountered.
Expected result & troubleshooting
You should finish with a specific artifact rather than only time watched. If prerequisites are missing, return to the relevant foundation and retry the same exercise.
Defender’s view / practical application
Practicing both the activity and the evidence helps connect offensive testing with defensive outcomes. Keep the same lab notebook across courses so you can compare progress.
Certifications & Next Steps
Certification Planning, Costs & Renewal
Before you start: Identify your target role, existing skills, budget and any employer-specific requirement.
There is no universal “Security+ first, always” rule. Security+ can support a broad security foundation; A+ or networking study may be more useful first when operating-system and network basics are missing. An exam is one way to demonstrate knowledge, not a guarantee of employment.
| Learning need | Possible certification direction | Before purchasing |
|---|---|---|
| Hardware / OS support | CompTIA A+ | Check both required exams, active series and regional voucher rules. |
| Networking foundation | CompTIA Network+ | Compare the current objectives with your practical gaps. |
| Broad security concepts | CompTIA Security+ or ISC2 CC | Compare objectives, role needs and eligibility. |
| Detection / analysis | A role-relevant analyst certification | Pair study with logs, investigations and written analysis. |
| Assessment / pentest | A practical assessment certification | Check lab prerequisites, reporting requirements and retake terms. |
| Governance / advanced roles | A role-relevant governance or senior certification | Verify experience and endorsement requirements before describing yourself as certified. |
Budget checklist
- Current regional exam price and taxes; do not reuse old dollar figures from a cheat sheet.
- Number of exams, voucher expiry, retake conditions and ID requirements.
- Training and practice materials you actually need.
- Renewal fees, continuing-education requirements and the relevant renewal cycle.
- Any academic or employer benefit, verified directly with its provider.
ISC2 offer update: new enrollment in the One Million Certified in Cybersecurity program ended May 20, 2026. Existing participants should check their own code/access conditions and the program’s remaining deadlines. CC should no longer be described as a free exam available to every new learner.
Use CompTIA’s official site and the ISC2 CC page to confirm the active exam, regional price and renewal rules before paying. Prices vary by region and offer; use the current provider checkout amount when budgeting.
Study planning reference
Objective → evidence → gap → study action
Example: Explain access control
Evidence: Demonstrate allowed/denied access with two lab users.
Gap: Cannot yet distinguish authentication from authorization.
Study action: Review the concept and repeat the test without notes.
Ready check: Explain why each incorrect practice answer is wrong.Try it — worked exercise
Choose one exam only after reviewing its current objectives. Mark each objective as explain, demonstrate, or needs study. Build a budget with provider-confirmed amounts and record when you checked them.
Expected result & troubleshooting
A readiness decision should combine understanding, practical evidence and representative practice performance. An arbitrary 85% practice score does not guarantee an official exam pass.
Defender’s view / practical application
Certification study is strongest when tied to real tasks: configuration, investigation, risk explanation and verification. Keep the credential’s limits clear.
Reference: ISC2 CC certification · ISC2 free-program transition
Career Notes, Community & Technical Communication
Before you start: A small piece of work you can explain honestly and share within its rules.
Your notes, diagrams, questions and explanations make your skills easier to assess. Build professional relationships through useful participation: ask clear questions, follow up on help, and share lessons you can support. Visibility helps people understand your work, but it does not replace skill or guarantee an offer.
| Artifact | Make it useful by including |
|---|---|
| Lab writeup | Scope, reasoning, selected evidence, limitations and cleanup |
| Resume bullet | What you did, the environment and a result you can demonstrate |
| Help request | Exact problem, expected behavior, actual error and attempts |
| Interview example | Situation, your action, result and what you learned |
| Community contribution | A useful explanation, review, workshop contribution or reproducible fix |
Reference — model your question on the evidence
A useful help request
Goal: I am trying to reach my isolated lab HTTP service.
Expected: HTTP 200 from 192.168.56.20:8000.
Actual: Connection refused from the analyst VM.
Checked: Guest IP, network mode, route and firewall rule.
Evidence: The target has no listener on port 8000.
Question: What should I check in the server startup output?- Cover6 Community — check current community activities.
- Cover6 Academy — find current courses and learning resources.
- Share only exercises you are permitted to publish; remove credentials, private records and unrelated host details.
- Describe the work as a lab when it was a lab. Do not present a simulated engagement as client experience.
Try it — worked exercise
Turn one exercise from this manual into a one-page writeup and a two-minute explanation. Ask a peer to identify what they can reproduce and what is unclear.
Expected result & troubleshooting
A strong explanation includes what failed and how you corrected it. If a reviewer cannot follow the setup or evidence, improve the documentation before adding more screenshots.
Defender’s view / practical application
Communication is part of security delivery: the next analyst, engineer or owner must be able to act on your work. Clear limitations build trust.