Cybrary ForgeCYBRARY / FORGE
Curriculum
V-520·Cross-platform·45 min

The platform you inherited: measure it before you touch it Start this lab

Everything runs on one host, every guest was sized by whoever asked loudest, and the archive store has a single path. The ticket says 'the virtual machines are slow' with no numbers attached. Measure the contention, name the cause, fix it, and measure again.

Mission brief · V-520

Tier 3 analyst on the incident response bench

Tier 3 — deep host and forensics
Business important
Track default

You are acting as

the break-glass IR account `svc-ir`, checked out of the vault for this incident — never the compromised identity

How you got here

The detection fired in the EDR console. You opened a live-response session from that detection, so your shell rides the EDR agent channel — containing the host will *not* cut you off, which is exactly why you contain from here rather than over SSH.

Your access

  • EDR console (detections + live response)

    Endpoint detection & response

    • Read the detection and process tree
    • Look up host criticality, owner and VIP flags
    • Open a live-response session on the host
    • Contain the host over the agent channel
    • Not yours: Disable user accounts (that's the identity team)
    • Not yours: Delete evidence
  • Live-response shell on the affected host

    Host shell session

    • Read the filesystem, logs and running state
    • Collect a triage package
    • Not yours: Reboot or reimage without owner approval

What's at stake

The affected host

Owner: The system's business owner, named on the asset record

Containing a host you haven't identified can stop revenue. Check criticality and owner before you isolate anything.

Rules of engagement

You may act alone

  • Investigate from the live-response session
  • Collect evidence and triage packages
  • Contain a standard-criticality host

Ask a human first

  • Containing a mission-critical host — asset owner and on-call manager first
  • Disabling a user identity — identity team, and HR/legal if it looks like an insider

Why this matters

"The virtual machines are slow" is a symptom with at least four different causes underneath it, and they leave different fingerprints: time spent waiting for a core, memory taken back from inside the guests, memory pushed to disk, and storage taking longer to answer. Reading those four figures turns an argument into a diagnosis.

Concepts

Wait time is the figure that matches the complaint

A guest that is ready to run but has no physical core free is doing nothing, and that wasted time is what the user feels. It rises far faster than the oversubscription ratio that causes it, which is why a host that looks only moderately busy can feel unusable.

Oversized guests make contention worse, not better

A guest with more virtual cores than it uses still has to be scheduled as a whole, so the largest guests wait longest and make everything around them wait too. Sizing down is usually faster than adding hardware.

Reclaimed memory comes before swapping

When memory is promised twice, the platform first asks the guests to give some back, and only pushes pages to disk when that is not enough. Seeing reclamation with no swapping means you caught it one step early.

Storage response time is a queue, not a speed

Latency rises when requests wait their turn, so a single path, a deep queue and a full datastore all show up the same way. Adding the second path changes the queue and therefore the figure; it does nothing for the cores.

Objectives graded

  • Read the Performance tab before changing anything and write down the three figures that are out of line.
  • Separate the symptoms — wait time, reclaimed memory, storage response — from the one cause underneath them.
  • Turn a guest off before resizing it; the platform refuses otherwise, and the refusal is the lesson.
  • Put each guest back to a size the work needs and spread them across both hosts.
  • Add the second path to the datastores and note which figure it moves and which it does not.
  • Read every figure you filed at the start once more and close with the before-and-after pair.

Live walkthrough

The reference response, executed by the same engine that grades your attempt. Yours will differ — the rubric reads end state and evidence, not the shape of your workflow.

  1. 1.Approve reversible actionpromptapproval gateApprove reversible action
  2. 2.Write case field credentialRefactioncredentialRef → vault/soc-automation
  3. 3.Attach evidence: case/soar-v-520/evidenceactionThe learner attached at least one linkable piece of evidence to the case.
  4. 4.Write case field closureNoteactionclosureNote → written
  5. 5.Attach evidence: range/hst-nw-plat01/sessionactionThe platform was worked in the console rather than described from the ticket.
  6. 6.Write case field worstHostactionworstHost → nw-esx-01
  7. 7.Write case field cpuReadyPctactioncpuReadyPct → 16.5
  8. 8.Write case field vcpuRatioactionvcpuRatio → 2.5
  9. 9.Write case field balloonedGbactionballoonedGb → 139.5
  10. 10.Write case field goldLatencyMsactiongoldLatencyMs → 46.1
  11. 11.Write case field cpuReadyAfteractioncpuReadyAfter → 0

Gate approved — 100%

16 of 16 rubric rules hold.

Gate denied — 92%

Refusing the consequential action is a defensible choice with a measured cost; the difference is what the lab is teaching.

  • pass behavior · The workflow reached a terminal success state on the graded run.
  • pass safety · A reversible action passed through a human approval gate.
  • pass efficiency · No non-idempotent operation was retried without an idempotency key.
  • pass configuration · Every action node resolves its secret from the vault, never an inline field.
  • pass investigation · The learner attached at least one linkable piece of evidence to the case.
  • pass explanation · The case carries an analyst closure note explaining the outcome.
  • pass behavior · No innocent asset in the alert batch was contained, disabled or revoked.
  • pass configuration · The playbook survived the integration faults it met and still finished.
  • pass investigation · Nothing was changed in the estate before evidence had been gathered.
  • pass investigation · The platform was worked in the console rather than described from the ticket.
  • pass investigation · The complaint was pinned to a named host rather than left as 'the VMs'.
  • pass investigation · Contention was measured as wait time, which is the figure that matches the complaint.
  • pass investigation · The cause of the wait was quantified, not just observed.
  • pass investigation · The memory symptom was found before it turned into swapping.
  • pass investigation · The storage symptom was measured and tied to the same cause.
  • pass configuration · The fix was verified by re-reading the figure that started the complaint.

MITRE ATT&CK coverage

Reading a hypervisor's real load — which host carries what, how oversubscribed it is, where the storage goes — is the same enumeration an intruder does after landing on a management seat, and the figures are the ones that decide whether a complaint is capacity or compromise.

TechniqueNameTactic
T1082System Information DiscoveryDiscovery
T1046Network Service DiscoveryDiscovery
T1078Valid AccountsDefense Evasion

What each rubric rule proves

  • The workflow reached a terminal success state on the graded run.

    behavior · weight 20

  • A reversible action passed through a human approval gate.

    safety · weight 15

  • No non-idempotent operation was retried without an idempotency key.

    efficiency · weight 10

  • Every action node resolves its secret from the vault, never an inline field.

    configuration · weight 10

  • The learner attached at least one linkable piece of evidence to the case.

    investigation · weight 10

  • The case carries an analyst closure note explaining the outcome.

    explanation · weight 10

  • No innocent asset in the alert batch was contained, disabled or revoked.

    behavior · weight 15

  • The playbook survived the integration faults it met and still finished.

    configuration · weight 15

  • Nothing was changed in the estate before evidence had been gathered.

    investigation · weight 10

  • The platform was worked in the console rather than described from the ticket.

    investigation · weight 15

  • The complaint was pinned to a named host rather than left as 'the VMs'.

    investigation · weight 10 · T1082 System Information Discovery (Discovery)

  • Contention was measured as wait time, which is the figure that matches the complaint.

    investigation · weight 10 · T1082 System Information Discovery (Discovery)

  • The cause of the wait was quantified, not just observed.

    investigation · weight 10 · T1082 System Information Discovery (Discovery)

  • The memory symptom was found before it turned into swapping.

    investigation · weight 10 · T1082 System Information Discovery (Discovery)

  • The storage symptom was measured and tied to the same cause.

    investigation · weight 10 · T1046 Network Service Discovery (Discovery)

  • The fix was verified by re-reading the figure that started the complaint.

    configuration · weight 15 · T1078 Valid Accounts (Defense Evasion)

Common mistakes

  • Treating the four symptoms as four problems instead of asking what single decision produced them.
  • Resizing a guest that is running and concluding the platform is broken when it refuses.
  • Quoting utilization as evidence of contention when wait time is the figure that shows it.
  • Declaring success without reading the opening figure again.

Same idea, three vendors

Vocabulary is generated from the teaching profiles, so it always matches what the consoles render.

ConceptCortex ForgeSummit SOARStoryline
artifactIndicatorArtifactRecord

Where does this value come from?

The same reference to an enrichment node's verdict, written three ways:

  • Cortex Forge: ${enrich-sender.verdict}
  • Summit SOAR: enrich-sender.verdict
  • Storyline: <<enrich-sender.verdict>>

The same concepts in shipping products

The consoles you practice in use teaching names. These are the words the real vendors print in their own documentation, so the vocabulary survives the day you sit in front of a production tenant.

ConceptCortex XSOARXSOAR 8.xSplunk SOARSplunk SOAR 6.x (formerly Phantom)TinesTines (2026 cloud)Microsoft Sentinel + Logic AppsSentinel (Defender portal, 2026)Google SecOps SOARSecOps SOAR (formerly Siemplify)Swimlane TurbineTurbine (2026)Torq HyperautomationTorq (2026)IBM QRadar SOARQRadar SOAR (Resilient) 51.xServiceNow Security OperationsSecOps (Flow Designer era)
artifactIndicatorArtifact (CEF fields)Event payload fieldEntityEntityField / correlation valueEvent fieldArtifactObservable

What transfers

Any shared-capacity complaint answers this way: measure the wait, name the thing being shared, change one thing, and measure the same figure again.