Modify System Image (T1601) is the network device equivalent of a rootkit: the adversary changes the operating system file of a router, firewall or appliance so the device does what they want while still looking healthy to its administrators. ATT&CK v20 places T1601 in the Defense Impairment tactic (TA0112) for network devices, with two sub-techniques: T1601.001 Patch System Image and T1601.002 Downgrade System Image. Because most network operating systems are monolithic, often a single file, one change can weaken encryption, bypass authentication or add a backdoor, and configuration reviews will not show it. This page covers how the technique works, the cases ATT&CK and vendors document, how to verify images in storage and in memory, the v20 mitigations, safe testing and the identity clean-up that follows a confirmed compromise. It is written for network engineers, incident responders and detection teams. For edge appliances in general see the Edge Device Security Guide; this page stays on the technique.
Key takeaways
- Configuration review cannot see it. A patched image can report a clean configuration while running attacker code, so integrity checks must examine the image file and, where possible, the running memory.
- Two ways in: storage or memory. ATT&CK describes changing the image file to load at next boot, or changing the running image in memory with debug commands or a compromised boot loader (T1542.004 ROMMONkit).
- Downgrades are a quiet variant. T1601.002 installs an older, legitimately signed image with weaker ciphers and fewer defences, so signature checks alone may pass.
- Signed images and secure boot are the v20 answer. M1045 Code Signing and M1046 Boot Integrity sit alongside four mitigations that protect device administration: M1026, M1027, M1032 and M1043.
- Assume every stored secret is exposed. When an appliance image is confirmed modified, rotate the service account credentials, keys and certificates it held, not only the device's own passwords.
What T1601 is
ATT&CK describes Modify System Image as changing the operating system of embedded network devices to weaken defences and add capabilities. Because functionality is concentrated in one file, the adversary typically only needs to replace or modify that file. ATT&CK lists the defences that can be impeded: encryption (T1600 Weaken Encryption is the usual partner), authentication (T1556.004 Network Device Authentication) and perimeter controls through boundary bridging (T1599).
| Sub-technique | Method ATT&CK describes | What it defeats |
|---|---|---|
| T1601.001 Patch System Image, in storage | Download a modified image with normal operator procedures (TFTP, FTP, SCP or console), overwrite the original or point the boot configuration at the new file | Survives reboot until a known-good image is installed |
| T1601.001 Patch System Image, in memory via debug | Use native debug commands in the running OS to change memory directly; requires administrative access | Leaves the stored file clean; usually lost on reload |
| T1601.001 Patch System Image, in memory via boot loader | Malicious code previously implanted in the boot loader (ROMMONkit) patches the running OS | Can survive reloads and image upgrades |
| T1601.002 Downgrade System Image | Replace the image with an older version and reboot, now or at the next restart | Reintroduces weaker ciphers and fixed vulnerabilities while the image is still genuine |
How adversaries use it: real cases
- SYNful Knock (S0519): ATT&CK v20 describes it as malware inserted into a network device by patching the operating system image, citing Mandiant and Cisco. Cisco's analysis says SYNful Knock cannot survive installation of a known-good image.
- The wider Cisco IOS series: Cisco's account of attacks on IOS devices describes 2011 to 2012 patches to images on 2800 and 3800 routers that weakened Diffie-Hellman key exchange, 2013 in-memory modifications on 7600 routers that copied matching packets to an attacker address and provided NAT-style access, and a late-2014 sample that modified ROMMON so it survived reloads and IOS upgrades. Cisco found no evidence of vulnerability exploitation in these cases; the data pointed to compromised administrator credentials or physical access to devices or images.
- DRYHOOK (S9013): v20 records DRYHOOK modifying the Ivanti Connect Secure authentication Perl module DSAuth.pm. Google's January 2025 analysis says it wraps the sign-in functions to capture usernames and passwords from successful logins, writes them encrypted to a file in /tmp, and kills cgi-server processes so the modified module loads. The same analysis describes the attacker recalculating hashes and re-signing the Integrity Checker Tool manifest in an attempt to evade it. Background is in the UNC5221 (Ivanti exploitation) threat actor profile.
- Earlier Ivanti compromises: the Ivanti Connect Secure exploitation 2024 page describes a patched dsls binary that stopped redacting sensitive data, exposing stored service account credentials, API keys and certificates, and CISA's warning that the vendor integrity checker failed to detect that compromise.
The lesson across all four: integrity checking that runs on the device and trusts the device can be subverted. Verification needs an external reference and, ideally, an external vantage point.
What to detect and where
ATT&CK v20 has three detection strategies. The data components and log sources are from v20; the last column is NHI Mgmt Group's practical guidance.
| Strategy | Data component and log source (v20) | What to look for |
|---|---|---|
| DET0170 Modify System Image | Command Execution: device CLI; File Modification: device configuration | Commands that load, copy or replace images (v20 examples: copy tftp flash, boot system); changes to boot variables or startup image paths; checksum verification failures |
| DET0469 Patch System Image | Command Execution: device CLI; File Modification: device configuration; Firmware Modification: runtime | Privileged commands such as debug memory; image transfers by TFTP, SCP or FTP; mismatches between running and baseline images |
| DET0569 Downgrade System Image | Command Execution: device CLI; File Modification: device configuration; File Metadata: device syslog | Boot variables pointing to older images; reload after an image copy; OS version after reboot not on the approved version list |
Verifying the image: Cisco IOS as a worked example
Cisco's IOS Software Integrity Assurance guidance gives a concrete verification set. Other vendors have equivalents; check your platform's documentation.
| Check | Cisco IOS command or method | What it proves and its limits |
|---|---|---|
| Stored image hash | verify /md5 filesystem:filename, compared with the hash published by Cisco; or hash offline with sha512sum | The file on flash matches the vendor release; cannot check the image running in memory |
| Signature of stored and running image | show software authenticity file and show software authenticity running | Signer and certificate serial for the file and the booted image should match |
| Verify on every copy and reload | file verify auto, or copy /verify and reload /verify | Catches unsigned images at install time |
| Running memory | show region for main:text, then verify /md5 system:memory/text, compared with a known-good device on the same image | Detects in-memory patching; Cisco warns it can crash and reload some platforms, and ASLR makes comparisons invalid where present |
| Boot path | show version (image file, last reload reason, configuration register, default 0x2102); show rom-monitor; at the rommon prompt, set should show the intended BOOT variable and no OFFSET variable | Detects boot redirection and unscheduled ROMMON upgrades; rommon checks need a reload |
| Suspicious commands | show history all, AAA accounting records for gdb, test, tclsh, debug, service internal, config-register, boot, upgrade and similar | Shows attempts to use debug or boot functions; Cisco notes syslog does not forward console or vty commands on its own |
For appliances with vendor integrity tools (for example the Ivanti Integrity Checker Tool), run both the internal and the external scan, and compare the number of steps reported with a known-good run, as Google's analysis advises. The Ivanti Connect Secure Hardening and Integrity Checking Guide covers that platform. Treat unexpected reboots and gaps in logging as signals: Cisco Talos gives that advice for ArcaneDoor, where an implant suppressed crash dumps to avoid forensic analysis.
Mitigations
| v20 mitigation | Guidance (summarised from v20) | NHI Mgmt Group practical step |
|---|---|---|
| M1045 Code Signing | Use vendor digitally signed images where available | Enable automatic verification on copy and reload |
| M1046 Boot Integrity | Use vendor cryptographic boot-time verification | Prefer hardware with a trust anchor and secure boot; Cisco says a failed check leaves the device waiting for an operator rather than running the image |
| M1026 Privileged Account Management | Few administrators; no credential overlap with servers and endpoints | Separate network admin identities from other admin tiers |
| M1032 Multi-factor Authentication | MFA via TACACS+ or RADIUS | MFA plus command authorisation for image and boot commands |
| M1043 Credential Access Protection | Store local passwords encrypted | Strong password storage types and vaulted, unique local credentials |
| M1027 Password Policies | Follow NIST guidelines | Remove default and shared device passwords |
Two more controls matter for downgrades: maintain an approved version list per platform and alert on any device reporting a version not on it, and restrict image transfer protocols (TFTP and FTP) to a management network with logging. Cisco notes that signed images would not have stopped its in-memory incidents, so combine signing with memory checks and AAA restrictions on debug commands.
Where identity fits
A modified appliance image is a credential collection point. DRYHOOK captured user passwords at sign-in, and the 2024 Ivanti case exposed stored service account credentials, API keys and certificates. If an image is confirmed modified, treat everything the device stored or saw as exposed: directory bind accounts, RADIUS and TACACS+ shared secrets, SNMP strings, VPN certificates and their private keys, API tokens for management platforms and the passwords of every user who signed in during the window. Rotate them after the device is rebuilt from known-good media, not before, or the new secrets will be captured too. The Edge Device Compromise Investigation Playbook covers sequencing.
How to test
- Inventory: for each device class, record the approved image name, version and vendor hash.
- Automate storage checks: schedule hash and signature verification and send results to the SIEM; confirm a mismatched test file in a lab raises an alert.
- Exercise the CLI rules: in a lab, copy an image and change the boot variable; confirm the DET0170 and DET0569 style rules fire from both syslog and AAA accounting.
- Memory checks: on a lab unit of the same model, confirm the vendor-supported memory verification works without reloading the platform before using it in production.
- Roll back: restore the approved boot variable and image, reverify the hash and signature, and record the test.
Metrics:
- Percentage of network devices with image hash and signature verified in the last 30 days.
- Percentage of devices on hardware that supports secure boot with it enabled.
- Number of devices running a version not on the approved list.
- Percentage of image copy and boot commands with a matching change record.
- Time to rebuild a device from known-good media and rotate its stored secrets in an exercise.
Common failure patterns
- Relying on the device to check itself. The Ivanti cases show an on-box checker can be evaded; compare against vendor hashes from outside.
- Checking only the file on flash. In-memory patching leaves the stored image clean.
- Accepting any signed image. A genuine old image passes signature checks, which is why downgrade detection needs an approved version list.
- Rebooting a suspect device first. Reloading destroys in-memory evidence; Talos advises not rebooting or collecting a core dump when ArcaneDoor compromise is suspected, and following vendor forensic steps instead.
- Rotating secrets before rebuilding. New credentials pass through the still-modified image.
Framework mapping
| Framework | Reference | Why it applies |
|---|---|---|
| ATT&CK v20 | T1601, T1601.001, T1601.002; TA0112; DET0170, DET0469, DET0569; M1026, M1027, M1032, M1043, M1045, M1046 | Technique, sub-techniques, detection strategies and mitigations |
| ATT&CK v20 related | T1542.004 ROMMONkit; T1556.004 Network Device Authentication; T1600 Weaken Encryption; T1599 Network Boundary Bridging | Techniques ATT&CK names as enabled by or enabling image modification |
| NIST SP 800-53 Rev 5 | SI-7 Software, Firmware, and Information Integrity; SI-7(15) Code Authentication; CM-14 Signed Components; CM-3 Configuration Change Control; SA-22 Unsupported System Components | Verifying and authenticating device software and controlling its change |
| NIST CSF 2.0 | PR.PS-02; DE.CM-09; ID.AM-08 | Software maintained; software and runtime monitored; assets managed through their life cycle |
Practitioner checklist
- Keep an approved image list with vendor hashes for every network platform.
- Verify stored image hashes and signatures on a schedule and on every copy and reload.
- Enable secure boot and signed image enforcement where the hardware supports it.
- Alert on image copies, boot variable changes and unplanned reloads.
- Restrict debug, test and boot commands through AAA command authorisation and record them with accounting.
- Alert on any device reporting a version not on the approved list.
- Prepare a vendor-specific memory verification procedure tested on lab hardware.
- Document which secrets each appliance stores, and rotate them after a known-good rebuild.
Standards and references
- MITRE ATT&CK: T1601 Modify System Image
- MITRE ATT&CK: T1601.001 Patch System Image
- MITRE ATT&CK: T1601.002 Downgrade System Image
- Cisco: IOS Software Integrity Assurance
- Cisco: Evolution of attacks on Cisco IOS devices
- Google Cloud Threat Intelligence: Ivanti Connect Secure VPN targeted in new zero-day exploitation
- Cisco Talos: ArcaneDoor, espionage campaign targeting perimeter network devices
Related NHI Mgmt Group resources: ATT&CK Stealth and Defense Impairment Tactics Guide · Edge Device Security Guide · Firmware and Boot Security Guide · Vulnerability Management for Network Devices Guide · Cisco IOS XE Hardening Guide