Cybrary ForgeCYBRARY / FORGE
Curriculum
H-610·Cross-platform·45 min

Stand the Hyper-V cluster up: two nodes to the written baseline Start this lab

Two Windows Server nodes arrived with the Hyper-V role added and nothing else done: no time sources, no Credential Guard, live migration off, no quorum witness and one path to the volumes. Read the baseline score, bring the cluster to the written standard, and prove the score moved.

Mission brief · H-610

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

A Hyper-V node can see, stop and copy every machine running on it, so the settings that look like housekeeping — an agreed clock, Credential Guard, attestation, restricted remote management, events sent somewhere else — are the controls that decide whether anything you later find on that cluster can be trusted. Building to a written baseline turns the state of the platform into a number instead of an argument.

Concepts

A baseline is a score, not an opinion

The standard is a list of checks with an expected value each, so the platform's state is a number plus a set of named gaps. That is what lets you hand the work over half finished and what lets somebody else prove the work happened at all.

Quorum is the difference between a cluster and two servers

Two nodes cannot decide between themselves which one survives a split. A witness — cloud or file share — is the third vote, and without it the cluster stops instead of failing over. It is the one critical gap in the delivered build.

Migration is a network conversation worth protecting

Live migration carries a running machine's memory across the wire. Unauthenticated or unencrypted, that is a copy of everything the machine holds, available to anyone on the segment. Kerberos plus encryption is the baseline, not the hardening extra.

Some gaps are physical and belong on the handover

A second cable that does not exist cannot be created from a console. Recording it as outstanding, with what it needs and who has to do it, is part of finishing the job rather than an admission of failure.

Objectives graded

  • Open Hyper-V Manager and read the Baseline tab before changing a single setting.
  • Work the failures in severity order, starting with the missing quorum witness.
  • Set time sources, Credential Guard, attestation and restricted remote management on both nodes.
  • Enable live migration, authenticate it with Kerberos and encrypt it; forward events to the collector.
  • Set a witness, turn cluster-aware updating and balancing on, and add the second path to both volumes.
  • Give management its own VLAN, block MAC spoofing, turn both guards on and team two adapters.
  • Turn Secure Boot and a vTPM on for every generation 2 machine, switch to production checkpoints, register the machines as clustered roles and start them.
  • Read the score again and name the one gap the console cannot close.

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-h-610/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-hvadm01/sessionactionThe cluster was worked in the console rather than described from the ticket.
  6. 6.Write case field scoreBeforeactionscoreBefore → 33
  7. 7.Write case field failedBeforeactionfailedBefore → 40
  8. 8.Write case field criticalGapactioncriticalGap → witness
  9. 9.Write case field worstAreaactionworstArea → operations
  10. 10.Write case field scoreAfteractionscoreAfter → 99
  11. 11.Write case field unfixableCheckactionunfixableCheck → adapters

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 cluster was worked in the console rather than described from the ticket.
  • pass investigation · The cluster was measured before it was changed.
  • pass investigation · The size of the gap was counted rather than eyeballed.
  • pass investigation · Work was ordered by severity, starting with the critical gap.
  • pass investigation · The weakest area was identified from the per-area totals.
  • pass configuration · The cluster was actually configured and the improvement measured, not asserted.
  • pass configuration · The residual gap was named honestly instead of being quietly left out.

MITRE ATT&CK coverage

An unhardened Hyper-V cluster hands an intruder the management plane, the migration network and every machine on it at once. Building to the written baseline — attestation, Credential Guard, authenticated encrypted migration, forwarded events — closes the doors a hostile inventory of the nodes would walk through.

TechniqueNameTactic
T1082System Information DiscoveryDiscovery
T1078Valid AccountsDefense Evasion
T1016System Network Configuration DiscoveryDiscovery

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 cluster was worked in the console rather than described from the ticket.

    investigation · weight 15

  • The cluster was measured before it was changed.

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

  • The size of the gap was counted rather than eyeballed.

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

  • Work was ordered by severity, starting with the critical gap.

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

  • The weakest area was identified from the per-area totals.

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

  • The cluster was actually configured and the improvement measured, not asserted.

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

  • The residual gap was named honestly instead of being quietly left out.

    configuration · weight 10 · T1016 System Network Configuration Discovery (Discovery)

Common mistakes

  • Changing settings first and reading the score afterwards, so there is nothing to compare against.
  • Leaving management on the same VLAN as the workloads because it works anyway.
  • Registering machines as clustered roles without a witness, so failover has no quorum to act on.
  • Calling the build finished while the check nobody could close goes unmentioned.

Same idea, three vendors

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

ConceptCortex ForgeSummit SOARStoryline
caseIncidentContainerCase
alertAlertEventEvent
artifactIndicatorArtifactRecord
workflowPlaybookPlaybookStory
workflow-runPlaybook runPlaybook debug runStory run
nodeTaskBlockAction
connectorIntegrationAppCredential-backed action
connector-instanceIntegration instanceAssetResource
credentialCredentialAsset credentialCredential
approvalManual taskPromptPage
child-workflowSub-playbookChild playbookSub-story
context-pathContext pathDatapathEvent path
queueIncidentsEventsCases
taskWork Plan taskTaskCase task
noteWar Room entryNoteCase note

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)
caseIncidentContainerCaseIncidentCaseRecordCaseIncidentSecurity incident (SIR)
alertAlertEventEventAlertAlertInbound record / signalTrigger eventEscalated offense / alertSecurity alert
artifactIndicatorArtifact (CEF fields)Event payload fieldEntityEntityField / correlation valueEvent fieldArtifactObservable
workflowPlaybookPlaybookStoryPlaybook (Logic App)PlaybookPlaybookWorkflowWorkflow (BPMN)Flow / subflow
workflow-runPlaybook runPlaybook run / debug runEvent flowLogic App runPlaybook executionPlaybook executionExecutionWorkflow executionFlow execution
nodeTaskBlockActionAction / stepAction / stepActionStepFunction / scriptFlow action
connectorIntegrationAppHTTP Request action / ToolConnectorIntegrationIntegrationIntegrationAppSpoke
connector-instanceIntegration instanceAssetCredential + resource pairAPI connectionIntegration instance (environment-scoped)AssetIntegration connectionApp configuration (app.config)Connection & credential alias
credentialCredentialAsset configuration secretCredentialManaged identity / connection secretIntegration parameter (secret)Vault secretSecretApp host secretCredential record
approvalManual (data collection) taskPrompt blockPage (form) / Send to ChatApproval action (Teams / email)Manual actionTask / approval actionApproval step (Torq Chat / Slack)Manual task / phase gateApproval activity
child-workflowSub-playbookChild playbookSend to StoryNested Logic AppBlockSub-playbookNested workflowCalled workflowSubflow
context-pathContext path (${...})DatapathFormula (<<path.to.value>>)Expression (@{body('step')})Placeholder ([Entity.Identifier])Reference ($record.field)Expression ({{ .event.field }})Rule/script object (incident.properties)Data pill
queueIncidents viewEvent / Case listCasesIncidents gridCases queueApplication workspaceCasesIncident listSIR queue
taskWork Plan taskTask (workbook phase)Case taskIncident taskTaskTaskCase taskTask (within phase)Response task
noteWar Room entryNoteCase noteCommentCase wall commentCommentCase commentNoteWork note

What transfers

Any build-to-standard job runs the same way: measure first, work in severity order, measure again, and hand over what you could not close with the reason attached.