Volt Typhoon — Adversary Emulation Playbook
Tier-3 PRC actor specializing in undetected long-dwell pre-positioning inside critical
infrastructure. The defining trait is living-off-the-land only: almost no malware,
built-in OS tooling for everything, credentials harvested from edge devices, log tampering,
and egress proxied through compromised SOHO routers. The deliverable is proving quiet,
persistent access — not data theft. Authorized red-team emulation only; runs under the RoE.
When to emulate Volt Typhoon
- The client wants to test detection of stealthy, malware-free intrusions and dwell time —
can the SOC catch an actor that only uses built-ins?
- Communications, energy, water, transportation, or other critical-infrastructure targets
(see the industry → actor map in
../../references/apt-groups.md).
- Topical: CISA BOD 26-02 (Feb 2026) prioritizes end-of-support edge-device risk — exactly
Volt Typhoon's initial-access surface.
ThreatProfile seed (plan/threat-profile.json)
{
"engagement_name": "<fill>",
"actor_name": "Volt Typhoon-like (Vanguard Panda)",
"actor_aliases": ["Vanguard Panda", "BRONZE SILHOUETTE", "Insidious Taurus", "DEV-0391", "Voltzite"],
"group_id": "G1017",
"tier": "tier-3",
"sophistication": "nation-state",
"motivation": "espionage",
"initial_access": ["T1190", "T1133", "T1078"],
"key_ttps": ["T1059.001", "T1059.003", "T1003.003", "T1552.001", "T1018", "T1021.001", "T1070.001", "T1090.003"],
"tools": ["Native LOLBins (netsh, wmic, ntdsutil, vssadmin, reg)", "Impacket", "FRP / Fast Reverse Proxy", "NetExec (low-noise modules)"],
"infrastructure": ["Compromised edge appliance foothold", "Multi-hop proxy via engagement SOHO hop", "No persistent malware - valid accounts only"],
"recent_cti_delta": "CISA AA24-038A: multi-year dwell in US critical infrastructure; KV-botnet of compromised SOHO routers for proxying; pre-positioning toward OT; edge-device (Fortinet/Ivanti/Citrix/router) initial access.",
"confidence": "probable"
}
Kill-chain emulation
| # |
Phase |
MITRE |
Emulated action |
Executing agent → skill |
| 1 |
Recon |
T1590 / T1595 |
Identify internet-facing edge appliances (firewall/VPN/router) |
recon → /skills/standard/recon/passive-recon/SKILL.md, /skills/standard/recon/active-recon/SKILL.md |
| 2 |
Initial Access |
T1190 |
Exploit n-day/0-day on the edge appliance |
exploit → /skills/standard/exploit/web/cve/SKILL.md |
| 3 |
Initial Access (alt) |
T1078 / T1133 |
Reuse admin creds pulled from the device config |
exploit → /skills/standard/exploit/web/ato-methodology/SKILL.md |
| 4 |
C2 / Proxy |
T1090.003 |
Multi-hop proxy egress (FRP) through an engagement SOHO hop |
post-exploit → /skills/standard/post-exploit/c2-sliver/SKILL.md |
| 5 |
Discovery (LOTL) |
T1018 / T1016 |
Map the network with built-ins only (no scanners) |
post-exploit → /skills/standard/post-exploit/lateral-movement/SKILL.md; /skills/standard/ad/netexec/SKILL.md (low-noise) |
| 6 |
Credential Access |
T1003.003 / T1552.001 |
NTDS dump via ntdsutil/vssadmin; creds from files/configs |
post-exploit → /skills/standard/post-exploit/credential-access/SKILL.md; /skills/standard/ad/dcsync/SKILL.md |
| 7 |
Lateral |
T1021.001 |
RDP with valid accounts; no exploit tooling |
post-exploit → /skills/standard/post-exploit/lateral-movement/SKILL.md |
| 8 |
Pre-position |
T1078 |
Map OT/critical systems, document footholds — no impact |
post-exploit → /skills/standard/post-exploit/reporting/SKILL.md |
Defense evasion is the headline behavior: T1070.001 (clear Windows event logs) and strict
LOTL are enforced by the shared defense-evasion / opsec skills auto-injected into every
operational agent.
CONOPS kill_chain (copy into conops.json)
recon — edge-appliance + network identification (1).
initial-access — edge exploit / device-cred reuse (2-3).
post-exploit — LOTL discovery, NTDS/cred theft, RDP lateral, pre-positioning + log cleanup (5-8).
c2 — FRP/Sliver multi-hop via SOHO proxy hop (4).
exfiltration — minimal/none; pre-positioning only. Add an espionage subset only if explicitly in scope.
OPSEC & signature fidelity
- LOTL or it isn't Volt Typhoon. Built-ins only:
netsh, wmic, ntdsutil, vssadmin,
reg, dnscmd, PowerShell. No port scanners, no Cobalt/Metasploit, no dropped binaries.
- Proxy egress through a residential/SOHO hop, never a datacenter IP.
- Clear logs after each action; the whole exercise tests whether the SOC can detect a
malware-free, log-minimized intruder.
- Maximum patience. Pace actions over days; success metric is dwell time before detection.
RoE / safety gates
- The objective is access, not impact — default to no destructive or OT-write action.
- Edge-device exploitation can brick appliances; require device-write authorization and
confirm a config backup exists before exploiting.
- Add an
EMERGENCY abort trigger: "any action against OT/safety systems" — pre-positioning
stops at the IT/OT boundary unless OT is explicitly authorized (then see the sandworm
playbook's ICS gates).
Deconfliction
- Record the engagement proxy hop(s), edge-device foothold, and NTDS-dump artifact in
deconfliction.json + cleanup.json.
- Brief the network team that valid-account RDP + NTDS access are expected; the value is
measuring time-to-detect, so keep the deconfliction list tight and SOC-blind where lawful.
Fidelity notes (deviations)
- No real SOHO botnet. Emulate multi-hop proxying with a single engagement-owned hop +
FRP/Sliver.
- LOTL tradecraft is reproduced faithfully and safely — this is the rare actor whose real
TTPs are also the safe-to-emulate ones.
- Pre-positioning ends at documented footholds; the deliverable proves dwell + reachability,
never live disruption.
1---2name: emulation-volt-typhoon3description: Volt Typhoon (Vanguard Panda, PRC) adversary-emulation playbook — edge-device initial access, living-off-the-land-only operations, NTDS/credential theft, long-dwell pre-positioning toward critical infrastructure, multi-hop proxy egress. Use when emulating stealthy LOTL pre-positioning. Triggers on: 'emulate Volt Typhoon', 'Vanguard Panda', 'BRONZE SILHOUETTE', 'living off the land', 'edge device', 'pre-positioning', 'critical infrastructure persistence'.4---56# Volt Typhoon — Adversary Emulation Playbook78> Tier-3 PRC actor specializing in **undetected long-dwell pre-positioning** inside critical9> infrastructure. The defining trait is **living-off-the-land only**: almost no malware,10> built-in OS tooling for everything, credentials harvested from edge devices, log tampering,11> and egress proxied through compromised SOHO routers. The deliverable is proving *quiet,12> persistent access* — not data theft. Authorized red-team emulation only; runs under the RoE.1314## When to emulate Volt Typhoon1516- The client wants to test **detection of stealthy, malware-free intrusions** and dwell time —17 can the SOC catch an actor that only uses built-ins?18- Communications, energy, water, transportation, or other critical-infrastructure targets19 (see the industry → actor map in `../../references/apt-groups.md`).20- Topical: CISA BOD 26-02 (Feb 2026) prioritizes end-of-support edge-device risk — exactly21 Volt Typhoon's initial-access surface.2223## ThreatProfile seed (`plan/threat-profile.json`)2425```json26{27 "engagement_name": "<fill>",28 "actor_name": "Volt Typhoon-like (Vanguard Panda)",29 "actor_aliases": ["Vanguard Panda", "BRONZE SILHOUETTE", "Insidious Taurus", "DEV-0391", "Voltzite"],30 "group_id": "G1017",31 "tier": "tier-3",32 "sophistication": "nation-state",33 "motivation": "espionage",34 "initial_access": ["T1190", "T1133", "T1078"],35 "key_ttps": ["T1059.001", "T1059.003", "T1003.003", "T1552.001", "T1018", "T1021.001", "T1070.001", "T1090.003"],36 "tools": ["Native LOLBins (netsh, wmic, ntdsutil, vssadmin, reg)", "Impacket", "FRP / Fast Reverse Proxy", "NetExec (low-noise modules)"],37 "infrastructure": ["Compromised edge appliance foothold", "Multi-hop proxy via engagement SOHO hop", "No persistent malware - valid accounts only"],38 "recent_cti_delta": "CISA AA24-038A: multi-year dwell in US critical infrastructure; KV-botnet of compromised SOHO routers for proxying; pre-positioning toward OT; edge-device (Fortinet/Ivanti/Citrix/router) initial access.",39 "confidence": "probable"40}41```4243## Kill-chain emulation4445| # | Phase | MITRE | Emulated action | Executing agent → skill |46|---|-------|-------|-----------------|-------------------------|47| 1 | Recon | T1590 / T1595 | Identify internet-facing edge appliances (firewall/VPN/router) | recon → `/skills/standard/recon/passive-recon/SKILL.md`, `/skills/standard/recon/active-recon/SKILL.md` |48| 2 | Initial Access | T1190 | Exploit n-day/0-day on the edge appliance | exploit → `/skills/standard/exploit/web/cve/SKILL.md` |49| 3 | Initial Access (alt) | T1078 / T1133 | Reuse admin creds pulled from the device config | exploit → `/skills/standard/exploit/web/ato-methodology/SKILL.md` |50| 4 | C2 / Proxy | T1090.003 | Multi-hop proxy egress (FRP) through an engagement SOHO hop | post-exploit → `/skills/standard/post-exploit/c2-sliver/SKILL.md` |51| 5 | Discovery (LOTL) | T1018 / T1016 | Map the network with built-ins only (no scanners) | post-exploit → `/skills/standard/post-exploit/lateral-movement/SKILL.md`; `/skills/standard/ad/netexec/SKILL.md` (low-noise) |52| 6 | Credential Access | T1003.003 / T1552.001 | NTDS dump via ntdsutil/vssadmin; creds from files/configs | post-exploit → `/skills/standard/post-exploit/credential-access/SKILL.md`; `/skills/standard/ad/dcsync/SKILL.md` |53| 7 | Lateral | T1021.001 | RDP with valid accounts; no exploit tooling | post-exploit → `/skills/standard/post-exploit/lateral-movement/SKILL.md` |54| 8 | Pre-position | T1078 | Map OT/critical systems, document footholds — **no impact** | post-exploit → `/skills/standard/post-exploit/reporting/SKILL.md` |5556Defense evasion is the headline behavior: T1070.001 (clear Windows event logs) and strict57LOTL are enforced by the shared `defense-evasion` / `opsec` skills auto-injected into every58operational agent.5960## CONOPS kill_chain (copy into `conops.json`)61621. `recon` — edge-appliance + network identification (1).632. `initial-access` — edge exploit / device-cred reuse (2-3).643. `post-exploit` — LOTL discovery, NTDS/cred theft, RDP lateral, pre-positioning + log cleanup (5-8).654. `c2` — FRP/Sliver multi-hop via SOHO proxy hop (4).665. `exfiltration` — minimal/none; pre-positioning only. Add an espionage subset only if explicitly in scope.6768## OPSEC & signature fidelity6970- **LOTL or it isn't Volt Typhoon.** Built-ins only: `netsh`, `wmic`, `ntdsutil`, `vssadmin`,71 `reg`, `dnscmd`, PowerShell. No port scanners, no Cobalt/Metasploit, no dropped binaries.72- **Proxy egress** through a residential/SOHO hop, never a datacenter IP.73- **Clear logs** after each action; the whole exercise tests whether the SOC can detect a74 malware-free, log-minimized intruder.75- **Maximum patience.** Pace actions over days; success metric is dwell time before detection.7677## RoE / safety gates7879- The objective is **access, not impact** — default to no destructive or OT-write action.80- Edge-device exploitation can **brick appliances**; require device-write authorization and81 confirm a config backup exists before exploiting.82- Add an `EMERGENCY` abort trigger: *"any action against OT/safety systems"* — pre-positioning83 stops at the IT/OT boundary unless OT is explicitly authorized (then see the `sandworm`84 playbook's ICS gates).8586## Deconfliction8788- Record the engagement proxy hop(s), edge-device foothold, and NTDS-dump artifact in89 `deconfliction.json` + `cleanup.json`.90- Brief the network team that valid-account RDP + NTDS access are expected; the value is91 measuring time-to-detect, so keep the deconfliction list tight and SOC-blind where lawful.9293## Fidelity notes (deviations)9495- **No real SOHO botnet.** Emulate multi-hop proxying with a single engagement-owned hop +96 FRP/Sliver.97- LOTL tradecraft is reproduced faithfully and safely — this is the rare actor whose real98 TTPs are also the safe-to-emulate ones.99- Pre-positioning ends at documented footholds; the deliverable proves dwell + reachability,100 never live disruption.