Home › Practice Tools › Cybersecurity Terminal - Wazuh / Kali
๐Ÿ›ก๏ธ
Cybersecurity

Cybersecurity Terminal - Wazuh / Kali

Practice common Linux/Kali recon commands in a safe, fully offline terminal sandbox. Save your session as a shareable practice report.
Ideal for: Students moving from theory to hands-on Linux recon commands ahead of Kali-based coursework or labs.

What you'll practice

Start practicing

Cybersecurity Terminal - Wazuh / Kali is part of Practice Tools. Sign in or create an account, then subscribe for โ‚ฆ4,000/month to unlock it.

๐Ÿ“‹ Lab Instructions

Step-by-step exercises for Cybersecurity Terminal - Wazuh / Kali - read them here, then practice live in the tool above.

Beginner Level Lab Instructions

Last updated: August 9, 2026
Lab: Kali/Wazuh Terminal โ€” Beginner (Expanded Edition)
Practice Lab ยท Beginner ยท Expanded Edition

Kali/Wazuh Terminal โ€” First Steps in the Sandbox

A fully offline, simulated Linux terminal for practicing everyday recon and sysadmin commands. Nothing you type here touches a real system.

ToolKali/Wazuh Terminal Simulator
LevelBeginner
Time45โ€“60 minutes
PrerequisiteNone

Before you start โ€” what this tool actually is

Kali is a real Linux distribution built specifically for security work, and Wazuh is a real open-source security monitoring platform. Together, this simulator's name signals what it's teaching: the everyday command-line habits a security analyst or sysadmin uses constantly โ€” checking who you are, what's running, what's listening on the network, and what files are around โ€” before doing anything more advanced.

This simulator is a safe, offline stand-in. Every command you type is matched against a small, fixed set of realistic canned responses โ€” nothing here executes on a real machine, and nothing you do can break anything or affect a real network.

Launch the simulator from your dashboard. You'll see a terminal prompt: practice@kali:~$. Type help at any time to see every command this sandbox supports.

Learning objectives

  1. Run and interpret basic identity commands (whoami, id, pwd)
  2. List files in the current directory and read their contents
  3. Check what processes are running on a system
  4. Check what network ports are open and listening
  5. Check basic network configuration
  6. Use command history to review what you've already run
  7. Build the habit of typing commands yourself instead of copy-pasting, to build real muscle memory

Quick reference โ€” every command in this sandbox

CommandWhat it does
helpLists every supported command
whoamiShows the current user
pwdShows the current working directory
idShows user ID, group ID, and group memberships
uname -aShows system/kernel information
ls / ls -laLists files in the current directory (long form shows permissions/size)
cat <file>Prints the contents of a file
ps auxLists running processes
netstat -tulpnLists listening network ports and the programs behind them
ifconfigShows network interface configuration
historyShows every command you've run this session
clearClears the terminal screen

Part 1 โ€” Who am I, and where am I?

1

Identity basics

practice@kali:~$ whoami practice
practice@kali:~$ pwd /home/practice
practice@kali:~$ id uid=1000(practice) gid=1000(practice) groups=1000(practice),27(sudo)
Task: Run all three commands yourself. Then answer: what does the number after uid= tell you? What does it mean that this user is in the sudo group specifically โ€” what kind of power does that group generally grant on a real Linux system?
Why this matters: Before you investigate anything else on a machine, you always establish who you are and what you're allowed to do. This is the very first thing a real analyst checks, every time.

Part 2 โ€” What's the system itself?

2

System information

practice@kali:~$ uname -a Linux kali-lab 6.1.0-kali7-amd64 #1 SMP x86_64 GNU/Linux
Task: Run this yourself. Identify the hostname, the kernel version, and the CPU architecture from the output. Why would knowing the exact kernel version matter to someone investigating whether a machine is vulnerable to a specific, publicly known bug?

Part 3 โ€” Look around: files in the current directory

3

Listing files

practice@kali:~$ ls notes.txt flag.txt
Task: Run plain ls first. Then run ls -la and compare the output. What extra information does the long-form listing (-la) give you that plain ls doesn't?
Why this matters: The long listing shows file permissions and size โ€” details that matter a lot in a real investigation (e.g., a file only the owner can read vs. one anyone can read).

Part 4 โ€” Read the files

4

Reading file contents with cat

practice@kali:~$ cat notes.txt Recon notes: target lab range 10.10.10.0/24. Remember to check for default creds before anything else.
Task: Read notes.txt. What does this note tell you about what this machine was being used for before you got here? Now try cat flag.txt โ€” what do you see? (This is a harmless, self-contained training marker, not a real secret โ€” but noticing it and reading it carefully is still the skill being tested.)
Task: Try cat /etc/passwd. On a real Linux system, this file lists every user account. How many user accounts do you see listed here, and what are their usernames?
Task: Now try cat doesnotexist.txt โ€” a file you know doesn't exist. What error do you get, and why is it useful that the system tells you clearly rather than just doing nothing?

Part 5 โ€” What's running right now?

5

Process list

practice@kali:~$ ps aux USER PID CMD root 1 /sbin/init practice 812 sshd: practice@pts/0 practice 900 -bash
Task: Run ps aux yourself. Identify which process is owned by root and which are owned by practice. What does PID 1 (/sbin/init) represent on a Linux system, and why does it always run as root?

Part 6 โ€” What's listening on the network?

6

Listening ports

practice@kali:~$ netstat -tulpn Proto Local Address State PID/Program tcp 0.0.0.0:22 LISTEN 812/sshd tcp 0.0.0.0:80 LISTEN 1200/nginx
Task: Run this yourself. Match each open port to the service you'd expect on it โ€” what is port 22 normally used for, and what is port 80 normally used for? Cross-reference: does the process behind port 22 match anything you saw in your Part 5 process list?
Why this matters: This is one of the most useful habits in this whole lab โ€” cross-referencing two different commands' output to build a fuller picture than either one gives you alone.

Part 7 โ€” Network configuration

7

Interface info

practice@kali:~$ ifconfig eth0: flags=4163 inet 10.10.10.50 netmask 255.255.255.0
Task: Run this yourself. What is this machine's own IP address? Compare it to the "target lab range" mentioned in notes.txt from Part 4 โ€” is this machine part of that same range?

Part 8 โ€” Review your session

8

Command history

practice@kali:~$ history whoami pwd id uname -a ls ls -la cat notes.txt ...
Task: Run history and confirm it shows everything you've typed so far, in order. Why is a full command history valuable during a real investigation, beyond just personal convenience?

Part 9 โ€” Put it together: a one-paragraph host summary

Task: Without re-running any commands, write a short paragraph (4โ€“6 sentences) summarizing this machine based only on what you've already learned: who the current user is and what privileges they have, what the system is, what's running, what's listening on the network, and anything notable from the files you read. Treat it like a mini profile of a machine you've just been handed for the first time.
Why this matters: This is the actual point of the whole lab. Individually, each command gives you one small fact. Combining them into a coherent picture of "what is this machine, and what's on it" is the real skill โ€” not memorizing twelve separate commands in isolation.

Common mistakes to avoid

  • Copy-pasting instead of typing. The muscle memory from actually typing these commands is a real part of what this lab is building โ€” it's a habit worth starting correctly from day one.
  • Reading command output without connecting it to anything else. Part 6 is designed specifically to catch this โ€” the port list means much more once you connect it to the process list.
  • Skipping ls -la because plain ls "already showed the files." The extra detail (permissions, size) is often exactly what a real investigation needs.
  • Not trying a command that will fail on purpose (like cat doesnotexist.txt). Learning what an error looks like is just as useful as learning what success looks like.

Glossary

UID / GID
Numeric identifiers for a user and their primary group on a Linux system
sudo group
A group whose members are typically allowed to run commands with elevated (administrator-level) privileges
Process
A running instance of a program, each with its own process ID (PID)
Listening port
A network port a program has opened to accept incoming connections
Kernel
The core part of the operating system that manages hardware and system resources

Submit your work

Click ๐Ÿ’พ Save This Session as a Project inside the simulator before you close it โ€” this saves every command you ran and its output. Title it clearly, e.g. "Kali Terminal โ€” Beginner Lab", and include your Part 9 host summary in your saved notes or a short attached write-up.

Stretch goals (optional)

  1. Without looking at the Quick Reference table, try to recall and type all twelve supported commands from memory. Which ones did you forget?
  2. Re-read notes.txt one more time. It mentions checking for default credentials โ€” based only on what you found in this lab (the process list, the open ports, the files), what would your very next step be if this were a real investigation and you actually could run more commands?
  3. Explain, in 2โ€“3 sentences and in your own words, the difference between whoami and id โ€” they both tell you about the current user, but they don't give you the same information.
CRMNuggets Practice Tools โ€” Kali/Wazuh Terminal Simulator

Intermediate Lab Instructions

Last updated: August 9, 2026
Lab: Kali/Wazuh Terminal โ€” Intermediate (Expanded Edition)
Practice Lab ยท Intermediate ยท Expanded Edition

Kali/Wazuh Terminal โ€” Correlating a Host's Story

You already know each command individually. This lab is about cross-referencing them into a coherent picture of one machine.

ToolKali/Wazuh Terminal Simulator
LevelIntermediate
Time75โ€“90 minutes
PrerequisiteBeginner Lab

What's different at this level

The Beginner lab taught you what each command does in isolation. Real analysts almost never care about a single command's output on its own โ€” the value comes from correlating multiple commands together: does the user's group membership match what they're actually able to see? Does the process list match the open ports? Does a file's content change how you read everything else?

This lab has no new commands to learn. Every task below uses the exact same command set from the Beginner lab โ€” the difference is entirely in how deliberately you connect their outputs.

Learning objectives

  1. Cross-reference process list output against network port output to confirm which process owns which port
  2. Cross-reference user identity/group membership against file permissions to reason about real access
  3. Use file contents as investigative context that reframes everything else you find
  4. Build a structured host profile instead of a list of disconnected facts
  5. Identify what a fixed, offline sandbox cannot show you, and reason about what a real next step would be

Part 1 โ€” Full recall, no hints

1

Warm-up

Task: Before running anything, write down from memory every command this sandbox supports and one sentence on what each returns. Then run help and check yourself. Any gap here is worth closing before continuing โ€” this lab assumes fluent recall.

Part 2 โ€” Identity vs. actual access

2

What does group membership actually imply?

practice@kali:~$ id uid=1000(practice) gid=1000(practice) groups=1000(practice),27(sudo)
practice@kali:~$ ls -la -rw-r--r-- 1 practice practice 88 notes.txt -rw------- 1 practice practice 28 flag.txt
Task: Look at the permission strings on both files (-rw-r--r-- vs. -rw-------). In plain terms, who else besides the file owner can read notes.txt? Who else can read flag.txt? Now connect this to the id output โ€” being in the sudo group affects what commands this user can run with elevated privileges, but does it change these specific file permissions on its own? Explain the distinction between "elevated privileges available" and "elevated privileges currently being used."
Why this matters: A very common beginner mistake is assuming "this user has sudo access" automatically means "this user can read everything." Permissions and privilege are related but not identical โ€” a real analyst checks both, separately.

Part 3 โ€” Cross-reference processes and open ports

3

Does the process list match the port list?

practice@kali:~$ ps aux USER PID CMD root 1 /sbin/init practice 812 sshd: practice@pts/0 practice 900 -bash
practice@kali:~$ netstat -tulpn Proto Local Address State PID/Program tcp 0.0.0.0:22 LISTEN 812/sshd tcp 0.0.0.0:80 LISTEN 1200/nginx
Task: Match PID 812 across both outputs โ€” what does it confirm? Now look closely: PID 1200 (nginx) appears in the port list on port 80, but does not appear anywhere in your ps aux output. Write 2โ€“3 sentences on what this mismatch could mean in a real investigation, and why a mismatch like this is exactly the kind of thing that should make an analyst pause rather than move on.
Why this matters: In a real environment, a listening service with no matching visible process is a genuine red flag โ€” it can indicate a process hidden from a normal process listing, a stale/leftover port binding, or simply a visibility gap in your tooling. Recognizing the mismatch matters more than knowing which explanation is correct here โ€” this sandbox is fixed, so you can't dig further, but noticing the gap is the actual skill.

Part 4 โ€” Let file content reframe your read of the network

4

Notes as investigative context

practice@kali:~$ cat notes.txt Recon notes: target lab range 10.10.10.0/24. Remember to check for default creds before anything else.
practice@kali:~$ ifconfig eth0: flags=4163 inet 10.10.10.50 netmask 255.255.255.0
Task: Now that you've read the note, look again at your Part 3 port list (SSH on 22, nginx on 80). Given the note's specific warning about checking for default credentials, which of those two open services would you prioritize checking first, and why? Write your answer as a one-sentence justification, the way you'd note a priority in a real recon log.
Why this matters: This is the core intermediate skill: a plain fact (an open port) means something different once you have context (a note telling you what to specifically worry about). The same port list, read before vs. after this note, should lead to a different next step.

Part 5 โ€” System details as a filtering tool

5

Does the OS/kernel change your risk read?

practice@kali:~$ uname -a Linux kali-lab 6.1.0-kali7-amd64 #1 SMP x86_64 GNU/Linux
Task: This kernel version is recent, not an old/outdated one. Contrast that against your Part 4 note about default credentials. Write 2โ€“3 sentences on why "the software is up to date" and "the system is secure" are not the same claim โ€” this exact gap is why credential hygiene and patching are treated as two separate, equally important defensive practices in real environments.

Part 6 โ€” Build a structured host profile

6

Put every prior part together

Task: Fill out this table using only what you've already found in Parts 1โ€“5 โ€” no new commands needed:
FieldYour finding
Current user & privilege level
OS / kernel
Own IP address
Running processes of note
Open ports & matching (or mismatched) processes
Notable file contents
Your #1 priority follow-up, and why

Part 7 โ€” Recognize the sandbox's edges

7

What can't this tool show you?

Task: This sandbox has a fixed, small command set โ€” there's no grep, no piping commands together, no sudo -l to check what the current user can actually run with elevation, no way to check scheduled tasks (cron), and no way to check for unusual startup programs. In 4โ€“5 sentences, explain: if this were a real machine and you had a real terminal, what would be the very next 2โ€“3 commands you'd want to run, based specifically on the PID 1200 mismatch from Part 3 and the default-credentials warning from Part 4? You don't need real syntax memorized perfectly โ€” describe what you'd want to check and why.
Why this matters: Recognizing what a tool can't tell you is just as valuable a skill as reading what it can. A real investigation constantly runs into the edges of whatever access or tooling you currently have โ€” knowing what to ask for next is what keeps an investigation moving forward.

Deliverable: Host Investigation Notes

Compile a short write-up with:

  1. Your completed Part 6 host profile table
  2. Your Part 3 process/port mismatch analysis
  3. Your Part 4 priority justification
  4. Your Part 7 "next commands I'd want" reasoning

Common mistakes at this level

  • Treating each command's output as a separate fact instead of cross-referencing. Part 3's PID mismatch only means anything if you're actively comparing two outputs, not reading them one at a time in isolation.
  • Confusing "has sudo access" with "currently has elevated access to everything." See Part 2 โ€” this is a common and important misunderstanding to correct early.
  • Reading notes.txt once and not returning to it. Part 4 is designed to show that context you gathered earlier should actively change how you read facts you gather later.
  • Getting stuck on Part 7 because "the tool doesn't support that command." The task isn't to run the command โ€” it's to reason about what you'd want to check next, using only what you already know.

Glossary (new terms at this level)

Process/port correlation
Confirming that a listening network port is actually backed by a real, visible running process
File permission bits
The rwx-style string (e.g. -rw-r--r--) showing who can read, write, or execute a file โ€” owner, group, and everyone else
Credential hygiene
Practices around setting, changing, and protecting passwords/credentials, distinct from patching or software updates
Cron
A Linux scheduling system for running commands automatically at set times โ€” a common thing real investigators check that isn't available in this sandbox

Submit your work

Save your session before closing the simulator, with a short note on what stood out to you. Title it "Kali Terminal โ€” Intermediate Investigation", and attach your full Deliverable write-up alongside the saved session.

Stretch goals (optional)

  1. Rewrite your Part 6 host profile as if handing it to a colleague who has never seen this machine โ€” would they understand the priority follow-up without you explaining it out loud?
  2. Revisit Part 3's mismatch. Without assuming the worst, write the most boring, non-malicious explanation for why PID 1200 might not show up in ps aux even though it's clearly listening on port 80. Why is it useful to also consider the mundane explanation, not just the alarming one?
  3. Time yourself running through Parts 1โ€“6 a second time, from a completely fresh session. How much faster is your second pass, and what does that tell you about how much of this lab is now habit rather than active thinking?
CRMNuggets Practice Tools โ€” Kali/Wazuh Terminal Simulator

Expert Level Lab Instructions

Last updated: August 9, 2026
Lab: Kali/Wazuh Terminal โ€” Expert (Expanded Edition)
Practice Lab ยท Expert ยท Expanded Edition

Kali/Wazuh Terminal โ€” Cold-Start Host Triage

No walkthrough. No hints. A machine has been handed to you with one sentence of context โ€” investigate it the way a real analyst would.

ToolKali/Wazuh Terminal Simulator
LevelExpert
Time90โ€“120 minutes
PrerequisiteBeginner + Intermediate Labs

The scenario

A colleague hands you SSH-style access to a box and says only: "This host got flagged by our monitoring as behaving a little strangely. Can you take a quick look and tell me if it's actually a problem?"

No other hints. No pointer to a specific file, process, or port. You have exactly the command set this sandbox supports โ€” nothing more โ€” and your job is to reach a defensible verdict and write a handover note a colleague could act on without redoing your work.

Learning objectives

  1. Run a full host triage from a cold start, in a self-chosen order, with no hints
  2. Separate identity/privilege findings from process/network findings from filesystem findings, then recombine them into one picture
  3. Treat an unexplained mismatch (a listening port with no matching process) as a real finding requiring investigation, not a detail to skip past
  4. State clearly what's confirmed by direct evidence in this sandbox vs. what would require capabilities the sandbox doesn't have
  5. Reach and defend an overall verdict using only what's actually available to you
  6. Write a structured handover note suitable for a real team, including a section on this sandbox's investigative limits

Phase 0 โ€” Investigation ground rules (write this first)

PHASE 0

Set your constraints before you start

Write down, before running a single command:

  • You have only this terminal's fixed command set โ€” no piping, no grep, no sudo -l, no cron inspection, no log files beyond what cat can reach
  • Your job is to triage, not remediate โ€” you're deciding "is this actually a problem," not fixing anything
  • Every claim in your final note must be backed by something you can point to in this session's actual output
Why this matters: Real investigations are almost always conducted with incomplete tooling or access. Being disciplined about the boundary between "what I can prove right now" and "what I'd need more access to confirm" is a core expert-level habit, not a formality.

Phase 1 โ€” Establish identity and privilege first

PHASE 1

Who am I, and what can I do?

Task: Run whoami, id, and pwd. Record the user, their UID/GID, and their group memberships. State explicitly: does this user's group membership grant elevated privileges in principle, and separately, is there any evidence in this session that elevated privileges are currently in use? These are two different questions โ€” answer both.

Phase 2 โ€” Establish the system baseline

PHASE 2

What is this machine?

Task: Run uname -a and ifconfig. Record the OS/kernel version and the machine's own IP address. Note whether the kernel version looks current or outdated to you, based on general knowledge โ€” this becomes relevant context later, not a standalone finding on its own.

Phase 3 โ€” Full filesystem sweep

PHASE 3

What's actually here?

Task: Run ls -la and record every file, its permissions, and its size. Then cat every single file you can access โ€” including /etc/passwd โ€” even ones that don't look immediately interesting. Record each file's content and its permission string side by side.
Why this matters: A cold-start investigation means you don't yet know which file matters. Reading everything available, cheaply, before deciding what's significant is the correct order of operations โ€” deciding what's "probably not relevant" before you've even looked is how real findings get missed.

Phase 4 โ€” Process and network sweep

PHASE 4

What's running, and what's listening?

Task: Run ps aux and netstat -tulpn. Build a single combined table with every process and every listening port, and explicitly mark, for each open port, whether its stated PID/program has a matching entry in your process list.
PortProgramPIDMatches a process in ps aux?
22/tcpsshd812
80/tcpnginx1200

Phase 5 โ€” Investigate the mismatch

PHASE 5

Follow up on what Phase 4 surfaced

Task: One entry in your Phase 4 table should not have a matching process. Treat this the way you would in a real investigation: write down every plausible explanation you can think of, from mundane to concerning (e.g., a process that isn't showing up in this particular listing for a benign reason, versus something intentionally hidden). For each explanation, note what additional command or access โ€” beyond what this sandbox provides โ€” you'd need to confirm or rule it out.
Why this matters: This is the single most important phase in the lab. The correct expert-level answer is not to declare this definitely malicious or definitely benign โ€” it's to treat it as an open, correctly-scoped question, and be explicit about exactly what's missing to close it.

Phase 6 โ€” Reconcile filesystem context against your network/process findings

PHASE 6

Does anything you read in Phase 3 change your read of Phase 4/5?

Task: Go back to your Phase 3 file contents. Does anything you read there change how seriously you take the Phase 5 mismatch, or point you toward a specific priority? Write 3โ€“4 sentences connecting the two phases explicitly โ€” don't just restate each finding separately.

Phase 7 โ€” Confirmed vs. suspected

PHASE 7

Label every finding honestly

Task: List every finding from Phases 1โ€“6 and explicitly label each one:
FindingConfirmed (direct evidence from this session) or Suspected (would need more access to confirm)
Why this matters: Overstating certainty is one of the most damaging habits in real incident response โ€” it erodes trust in future reports from the same analyst. A mature investigator is comfortable saying "suspected, not confirmed" out loud.

Phase 8 โ€” Reach a verdict

PHASE 8

Answer the actual question you were asked

Task: Your colleague asked one plain question: "is this actually a problem?" Choose one:
  • No action needed โ€” nothing found here actually indicates a problem
  • Needs follow-up โ€” something warrants further investigation with access this sandbox doesn't provide
  • Confirmed issue โ€” you have direct, sandbox-available evidence of an actual problem
Task: Justify your choice in 2โ€“3 sentences, using only your Phase 7 table.

Deliverable: Host Triage Handover Note

1. Summary (2โ€“3 sentences)

What you found and your overall verdict, written for someone who will read only this section.

2. Host Profile

User/privilege, OS/kernel, IP, and a clean version of your Phase 4 process/port table.

3. Key Finding

The Phase 5 mismatch, your list of plausible explanations, and what's needed to close each one out.

4. Evidence

The exact commands and outputs backing every confirmed item from Phase 7 โ€” specific enough that a colleague could re-run this exact session and see the same thing.

5. Open Questions

Every suspected item from Phase 7, and the specific additional access or tooling that would resolve each one.

6. Recommendation

A real, specific next step โ€” not "investigate further" alone.

7. Limitations of This Assessment

2โ€“3 sentences on what this fixed-command sandbox structurally cannot check (piped/chained commands, sudo -l, cron jobs, log files beyond what's readable here) โ€” and why a real investigation would need that access before this could be fully closed out.

Grading rubric

CriteriaWhat "expert level" looks like
Investigation orderIdentity โ†’ system โ†’ filesystem โ†’ process/network โ†’ follow-up, self-directed, not copied from a fixed checklist without reasoning
Mismatch handlingPhase 5 treats the unmatched port as a genuinely open question with multiple explanations, not a rushed verdict either way
Confirmed vs. suspected disciplinePhase 7 table is honest โ€” not everything gets labeled "confirmed" just because it was found
Cross-phase reasoningPhase 6 genuinely connects filesystem content to the network/process finding, rather than treating them as separate sections
Evidence precisionSection 4 of the deliverable is specific enough to be reproduced by someone else
Honest limitationsSection 7 correctly names what this specific sandbox cannot check, not a generic disclaimer

Common mistakes at this level

  • Declaring the mismatch "definitely fine" or "definitely malicious" in Phase 5. The correct expert answer holds the tension โ€” open question, clearly scoped, not resolved with a guess.
  • Treating Phases 1โ€“4 as independent checklist items instead of building toward Phase 5/6. This lab is designed so early phases set up the one finding that actually matters later.
  • Labeling everything "confirmed" in Phase 7 because it was technically observed. Observing a mismatch is confirmed. Explaining why it exists is not, unless you have direct evidence for the specific cause.
  • A Limitations section that's generic boilerplate. "This assessment has limitations" isn't useful โ€” name the specific missing capability (piping, sudo -l, cron) and what it would have let you check.
  • Skipping Phase 0. Without explicit ground rules, it's easy to drift into claiming more certainty than the sandbox actually supports.

Glossary (expert terms used in this lab)

Cold-start triage
Investigating a system with no prior hints about what specifically is wrong, starting from a broad baseline sweep
Confirmed vs. suspected finding
The distinction between something directly proven by available evidence and something merely consistent with a problem, pending further access
Process/port mismatch
A listening network port whose stated owning process does not appear in the visible process list โ€” a common real-world red flag worth investigating, not ignoring
Handover note
A written record passed to another analyst or team, meant to be actionable without requiring them to redo the original investigation

Submit your work

Save your full session as your final report before closing the simulator. Title it "Kali Terminal โ€” Expert Host Triage", and attach your complete 7-section Handover Note alongside the saved session.

Stretch goals (optional)

  1. Rewrite your Deliverable Section 1 (Summary) as a single Slack message to a busy colleague who will act on it without reading the rest. Does it still convey the right verdict and urgency?
  2. Go back to Phase 5 and write the strongest possible argument for the most alarming explanation of the mismatch, even if you don't personally believe it's most likely. Then write the strongest argument for the most mundane explanation. Holding both seriously, at the same time, is a real investigative discipline.
  3. If a future version of this sandbox added one new command, which would most help you resolve Phase 5's open question, and why? (grep? sudo -l? something else?) Justify your choice in 2โ€“3 sentences.