Martin's Blog

Revisiting the SolarWinds Compromise

This book revisits the SolarWinds compromise and provides a technical, chronological account of the campaign, built from public reports and a reverse-engineering archive containing the analyzed artifacts: the four SolarWinds Orion installers (one benign trial build and three weaponized), the companion second-stage and later-stage samples, and the passive DNS captures of the C2 fabric. Reverse-engineering claims are tied to those analyzed artifacts; historical, attribution, product configuration, and policy claims are tied to the public sources listed in each chapter.

How to read this book

The ten chapters follow the campaign in time: initial access, the dry run, the injector, the backdoor, distribution, the second stage, discovery, and the aftermath. An epilogue then steps outside that chronology to examine the product design decision that amplified the potential impact. The depth is aimed at a technical practitioner reader (RE / SOC / IR): the malware chapters reproduce the real decompiled C# and IDA/Hex-Rays pseudocode and walk it line by line.

A note on evidence and provenance. This book keeps two kinds of claim distinct throughout:

External network indicators are defanged in prose (avsvmcloud[.]com, reyweb[.]com). File hashes are given verbatim.

Table of contents

# Chapter What it covers
1 The Incident and Its Impact What happened in one paragraph; why scale + trust + patience made it a watershed; the cast of malware families; the evidence base.
2 The Threat Actor SVR / APT29 and the name soup (UNC2452 / StellarParticle / NOBELIUM / Dark Halo); confidence and cumulative attribution; what the code says about the operator; the SUPERNOVA boundary.
3 Compromising SolarWinds: The Skeleton and the Backdoor Initial access gap; the empty-stub dry run; SUNSPOT the build injector; the 12-line trigger; the first weaponized release.
4 SUNBURST Anatomy: Gates, DGA, and C2 The deobfuscation primitives; activation gates; ProcessTracker and the 188-unique value blocklist; the DGA/DNS layer; the HTTP C2 protocol; the JobEngine command set.
5 Mass Distribution and Victimology The full installers and CAB manifests; the passive DNS C2 fabric; the range-as-directive finding (94.8% of unique IPs in the sample); the decoded beacon observations.
6 Hands-on-Keyboard: The Second Stage The kill chain; TEARDROP and RAINDROP loading Cobalt Strike BEACON; what “memory-only” means; and the cited cloud/identity tradecraft (Golden SAML, mail theft).
7 An Interlude: The Second, Unrelated Intruder SUPERNOVA, publicly reported Orion exploitation including CVE-2020-10148, the DynamicRun webshell, and why “same product” is not “same actor.”
8 Discovery and the Killswitch The FireEye MFA enrollment discovery; the disclosure cascade; the killswitch that turned SUNBURST’s own DNS logic against it; and what it couldn’t fix.
9 Later Tooling and Attribution GoldFinder, SIBOT, GoldMax/SUNSHUTTLE with annotated code; per-build rotation; why string IOCs age and code/behaviour endure.
10 Response, Consequences, and Policy Legacy CISA ED 21-01; sanctions and expulsions; the landmark SEC v. SolarWinds & Brown case; EO 14028 and its later implementation changes.
Epi. Epilogue: The Privilege Multiplier — Orion as LocalSystem The documented service account default, the implant’s privileged operations, the exposure-≠-use discipline, and a least-privilege counterfactual.
App. Appendix: Timeline, IOCs, and Artifact Map Master timeline, consolidated indicators, the 22 nList signalling ranges, and an evidence → section map.

Conventions

← All books