Cybrary ForgeCYBRARY / FORGE
Theory · breach walk

How a breach unfolds, and how a SOC answers it

Read this before the full breach walk. Each section covers one phase of a real intrusion, the ATT&CK techniques it maps to, and an incident where it played out that way. The step table below is the exact chain the range seeds.

SOAR station

Entry: the way in is rarely exotic

Most intrusions start on something that was already reachable from the internet.

An unpatched public application, an exposed remote-access service, or a valid credential bought from a broker accounts for the overwhelming majority of first steps. Nothing about that first moment looks like an attack in the logs: a request is served, a session is created, an account signs in. What follows it is the tell.

Because entry is quiet, defenders almost never detect it live — they reconstruct it afterwards from the first noisy step. That is why the exploit and the payload are filed as two separate findings: one answers how they got in, the other answers what they did once inside.

The practical consequence is patch and exposure hygiene carries detection weight. Every internet-facing service you cannot name is a step of the chain you will only ever see in hindsight.

T1190 · Exploit Public-Facing Application (Initial Access)
T1059.004 · Command and Scripting Interpreter: Unix Shell (Execution)

In the wild: The 2017 Equifax breach began with a single unpatched web application framework; the attackers were inside for 76 days before anyone noticed the traffic leaving.

Foothold: beacons and persistence buy them time

The attacker's first objective is not your data — it is surviving a reboot.

A beacon calls out on a regular interval to an address the estate has never spoken to before. The regularity is the detection: human traffic is bursty and irregular, automation is not. Jitter widens the window but rarely erases the pattern.

Persistence follows immediately — a scheduled task, a service, a run key, a cron entry. It is cheap to plant and it is the single thing that makes eviction hard later: containment that removes the session but leaves the persistence returns the attacker to you within the hour.

Dwell time is decided here. Industry measurements put median dwell in the days-to-weeks range, and nearly all of that time is spent in this phase, waiting.

T1071.001 · Application Layer Protocol: Web Protocols (Command and Control)
T1053.005 · Scheduled Task/Job: Scheduled Task (Persistence)

In the wild: In the SolarWinds intrusion the implant beaconed with long, deliberate delays specifically so the interval would look like ordinary telemetry.

Identity: discovery, then credentials

Lateral movement is an identity problem wearing a network costume.

Discovery comes first: the directory is read for accounts, groups and service names. It is usually permitted, which is exactly why it is missed — the finding is the breadth and the timing, not the permission.

Then credentials. Kerberoasting asks for service tickets and cracks them offline; AS-REP roasting needs no credential at all when pre-authentication is disabled; credential dumping lifts material straight from memory. All three end at the same place: a valid account the estate trusts.

From there movement is legitimate authentication. No exploit, no malware — an account that is allowed to sign in, signing in somewhere it never has before. Your baseline of who normally touches what is the detection.

T1087.002 · Account Discovery: Domain Account (Discovery)
T1558.003 · Kerberoasting (Credential Access)
T1558.004 · Steal or Forge Kerberos Tickets: AS-REP Roasting (Credential Access)
T1021.002 · SMB/Windows Admin Shares (Lateral Movement)

In the wild: Repeated healthcare and manufacturing ransomware cases turn on one service account with a weak password and a service principal name attached to it.

Collection, staging and impact

Data loss is sized at the collection step, not at the exfiltration step.

Collection is a share or a database read end to end. Staging packs it into one archive, usually in a temporary directory, usually out of hours. Both are loud if anyone is counting reads and watching file writes by volume.

The archive is also the cleanest evidence you will ever get of what was taken, which is why preserving it before removing it matters more than speed. Delete it and you spend the rest of the investigation estimating loss from access logs.

Attempts against backups are the pre-ransom signal. A refused deletion of recovery points is still a finding: it says encryption is next, and the window to act is minutes, not days.

T1039 · Data from Network Shared Drive (Collection)
T1074.001 · Data Staged: Local Data Staging (Collection)
T1490 · Inhibit System Recovery (Impact)
T1567.002 · Exfiltration Over Web Service: Exfiltration to Cloud Storage (Exfiltration)

In the wild: Ransomware crews now routinely delete shadow copies and attack backup servers before encrypting, precisely because intact recovery points remove their leverage.

Where SOAR fits in all of this

Automation does not decide. It removes the minutes between deciding and acting.

A playbook splits an incident into six phases — triage, investigate, contain, eradicate, recover, review — and each phase into tasks that are either automated, analyst-led, a decision or an approval. Enrichment, scoping and evidence collection automate well. Containment and eradication carry an approval gate because they cause impact.

Coverage is the honest measure: how many steps of a known chain raise an alert at all. A playbook cannot respond to a step nothing detects, so the coverage line is published beside the playbook rather than hidden in a report.

Response is then measured on time, not effort: time to detect, time to acknowledge, time to contain, time to recover. Those four numbers, per step, are what the referee grades on the walk.

T1562.001 · Disable or Modify Tools (Defense Evasion)
T1078 · Valid Accounts (Defense Evasion)

In the wild: Published incident-cost studies keep finding the same thing: the cost of a breach tracks how long it took to contain far more closely than how it started.

The seeded chain, step by step

All 12 steps raise an alert (100%).

  • T+0m
    T1190 · Exploit Public-Facing Application
    Alert: Unauthenticated request to a management path

    The internet-facing application is exploited on an unpatched version.

  • T+3m
    T1059.004 · Command and Scripting Interpreter: Unix Shell
    Alert: Shell fetched and ran a remote script

    A payload is run on the exploited host from the web process.

  • T+6m
    T1071.001 · Application Layer Protocol: Web
    Alert: Fixed-interval outbound check-in

    The host starts calling out on a fixed interval to an address nobody has seen.

  • T+10m
    T1543.002 · Create or Modify System Process: Systemd Service
    Alert: New service unit enabled outside change control

    A scheduled task is written so the foothold survives a reboot.

  • T+14m
    T1087.002 · Domain Account Discovery
    Alert: Bulk directory read

    The directory is read for accounts, groups and service names.

  • T+19m
    T1558.004 · AS-REP Roasting
    Alert: Pre-authentication not required

    A service ticket is requested for an offline crack.

  • T+25m
    T1021.001 · Remote Services: RDP
    Alert: Remote session between machines that never talk

    The cracked account is used to reach a second machine.

  • T+29m
    T1562.001 · Impair Defenses: Disable or Modify Tools
    Alert: Endpoint protection stopped

    Endpoint protection is turned down on the second machine.

  • T+33m
    T1039 · Data from Network Shared Drive
    Alert: Share read outside the machine's history

    A file share is read end to end with the service account.

  • T+38m
    T1074.001 · Local Data Staging
    Alert: Large archive built from many shares

    The interesting files are collected into one archive.

  • T+42m
    T1490 · Inhibit System Recovery
    refused by the estate
    Alert: Backup catalog deleted

    An attempt to remove the recovery points — turned away, and it alerts.

  • T+46m
    T1530 · Data from Cloud Storage
    Alert: Object store emptied by one token

    The archive leaves the estate to external storage.