T1601.001

Patch System Image

Adversaries may modify the operating system of a network device to introduce new capabilities or weaken existing defenses. On monolithic-architecture devices such as Cisco IOS routers, Juniper JunOS appliances, and Palo Alto PAN-OS firewalls, the entire OS resides in a single image file. Adversaries can overwrite or supplement this image in flash storage using standard device management protocols (TFTP, FTP, SCP, HTTP), or manipulate the running OS directly in memory using native debug commands or malicious bootloader code implanted via ROMMONkit. Patching the system image allows adversaries to disable encryption (T1600), weaken authentication (T1556.004), bridge network boundaries (T1599), add keylogging (T1056.001), establish covert proxies (T1090.003), or falsify command output to hide the compromise. SYNful Knock is the most prominent real-world example, inserting a backdoored IOS image onto Cisco 1841, 2811, and 3825 routers. Patching in storage survives reboots; patching only in memory does not unless combined with a persistent bootloader implant.

Microsoft Sentinel / Defender
kusto
let ImageTransferCommands = dynamic([
  "copy tftp", "copy ftp", "copy scp", "copy http", "copy https", "copy rcp",
  "archive download-sw", "archive copy-sw", "install add file", "install activate",
  "request system software add", "request system software validate"
]);
let BootManipulationPatterns = dynamic([
  "boot system flash", "boot system tftp", "boot system ftp", "boot system http",
  "no boot system", "ROMMON_CONFIG", "SETVAR", "confreg 0x", "rommon"
]);
let IntegrityAlerts = dynamic([
  "INTEGRITY_FAILED", "SIGNATURE_FAILED", "hash mismatch", "image verification failed",
  "FLASH-4-WRITE_FAILED", "FLASH-5-SIGNIFICANT_FLASH_ERASE", "tamper detected",
  "SOFTWARE INTEGRITY", "IOS_RESILIENCE"
]);
let ImageFileExtensions = dynamic([".bin", ".img", ".ova", ".tar", ".pkg", ".tgz", ".qcow2"]);
Syslog
| where TimeGenerated > ago(24h)
| where SyslogMessage has_any (ImageTransferCommands)
      or SyslogMessage has_any (BootManipulationPatterns)
      or SyslogMessage has_any (IntegrityAlerts)
      or (SyslogMessage has_any (ImageFileExtensions) and (SyslogMessage has "flash:" or SyslogMessage has "disk0:" or SyslogMessage has "bootflash:"))
| extend IsImageTransfer = SyslogMessage has_any (ImageTransferCommands)
| extend IsBootManipulation = SyslogMessage has_any (BootManipulationPatterns)
| extend IsIntegrityAlert = SyslogMessage has_any (IntegrityAlerts)
| extend IsFlashWrite = SyslogMessage has_any (ImageFileExtensions) and (SyslogMessage has "flash:" or SyslogMessage has "disk0:" or SyslogMessage has "bootflash:")
| extend ExtractedUser = extract(@"[Uu]ser[:\s]+([\w\\@\.\-]+)", 1, SyslogMessage)
| extend ExtractedCommand = extract(@"logged command[:\s]+(.+?)$", 1, SyslogMessage)
| extend SourceTransferIP = extract(@"(?:tftp|ftp|scp|http)://([\d\.]+|[\w\-\.]+)/", 1, SyslogMessage)
| extend SyslogFacility = extract(@"%([A-Z_\-]+)-\d-", 1, SyslogMessage)
| project TimeGenerated, Computer, HostName, Facility, SeverityLevel,
          SyslogMessage, ExtractedUser, ExtractedCommand, SourceTransferIP,
          SyslogFacility, IsImageTransfer, IsBootManipulation, IsIntegrityAlert, IsFlashWrite
| sort by TimeGenerated desc
critical severity medium confidence

Data Sources

Network Device: Network Device Configuration Network Device: Network Device Command Application Log: Application Log Content Syslog from network devices (Cisco IOS, Juniper JunOS, Palo Alto PAN-OS)

Required Tables

Syslog CommonSecurityLog

False Positives

  • Legitimate scheduled OS upgrades during approved maintenance windows — correlate with change management system
  • Automated software lifecycle management tools (Cisco DNA Center, SolarWinds NCM, Ansible Network) that perform planned image pushes
  • Disaster recovery restores where a known-good image backup is being re-applied after hardware replacement
  • Security teams running integrity verification commands (verify /md5 flash:) as part of routine audits — these generate matching syslog but are read-only
  • Network device lab or staging environments with frequent image cycling for testing

Unlock Pro Content

Get the full detection package for T1601.001 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections