T1542.004

ROMMONkit

Adversaries may abuse the ROM Monitor (ROMMON) by loading unauthorized firmware with adversary code to provide persistent access and manipulate Cisco network device behavior in a way that is extremely difficult to detect. ROMMON is a Cisco network device firmware that functions as a boot loader, boot image, or boot helper to initialize hardware and software when the platform is powered on or reset. An adversary may upgrade the ROMMON image locally or remotely via TFTP with adversary code and restart the device to overwrite the existing ROMMON image. This provides persistence that survives IOS upgrades and standard remediation, and has been observed in the wild via the SYNful Knock implant campaign targeting Cisco ISR routers. Because ROMMON executes before the operating system loads, malicious code embedded at this layer can intercept and modify IOS behavior, inject backdoors, and evade integrity checks.

Microsoft Sentinel / Defender
kusto
// T1542.004 — ROMMONkit: Detect ROMMON/boot firmware manipulation on Cisco network devices
// Requires Cisco device syslog forwarded to Microsoft Sentinel via Syslog or CommonSecurityLog
// Covers: TFTP image transfers to devices, ROMMON variable changes, boot system modifications, unexpected reloads
let RommonKeywords = dynamic([
    "ROMMON", "rommon", "rom monitor",
    "boot loader", "bootldr", "BOOT variable",
    "confreg", "CONFREG", "config-register",
    "0x2142", "0x0", "0x2100"
]);
let TFTPKeywords = dynamic([
    "tftp", "TFTP",
    "copy tftp", "archive download-sw",
    "upgrade rom-monitor", "upgrade rommon"
]);
let ReloadKeywords = dynamic([
    "SYS-5-RELOAD", "Reload requested",
    "SYS-6-BOOTTIME", "restarted"
]);
let BootConfigKeywords = dynamic([
    "boot system", "BOOT path-list",
    "Configured from", "startup-config"
]);
// Primary: Syslog table (Cisco devices forwarding via rsyslog/syslog)
let SyslogDetections = Syslog
| where TimeGenerated > ago(24h)
| where SyslogMessage has_any (RommonKeywords)
    or SyslogMessage has_any (TFTPKeywords)
    or (SyslogMessage has_any (ReloadKeywords) and SyslogMessage has_any (BootConfigKeywords))
| extend IsRommonChange = SyslogMessage has_any (RommonKeywords)
| extend IsTFTPTransfer = SyslogMessage has_any (TFTPKeywords)
| extend IsReload = SyslogMessage has_any (ReloadKeywords)
| extend IsBootVarChange = SyslogMessage has_any (BootConfigKeywords)
| extend DeviceIdentifier = coalesce(HostName, Computer)
| project TimeGenerated, DeviceIdentifier, SyslogMessage, SeverityLevel,
          IsRommonChange, IsTFTPTransfer, IsReload, IsBootVarChange, LogSource="Syslog";
// Secondary: CommonSecurityLog (CEF-formatted Cisco logs via AMA or legacy agent)
let CSLDetections = CommonSecurityLog
| where TimeGenerated > ago(24h)
| where DeviceVendor =~ "Cisco"
| where Message has_any (RommonKeywords)
    or Message has_any (TFTPKeywords)
    or (Message has_any (ReloadKeywords) and Message has_any (BootConfigKeywords))
| extend IsRommonChange = Message has_any (RommonKeywords)
| extend IsTFTPTransfer = Message has_any (TFTPKeywords)
| extend IsReload = Message has_any (ReloadKeywords)
| extend IsBootVarChange = Message has_any (BootConfigKeywords)
| extend DeviceIdentifier = coalesce(DeviceName, Computer)
| project TimeGenerated, DeviceIdentifier, SyslogMessage=Message, SeverityLevel=tostring(LogSeverity),
          IsRommonChange, IsTFTPTransfer, IsReload, IsBootVarChange, LogSource="CommonSecurityLog";
SyslogDetections
| union CSLDetections
| sort by TimeGenerated desc
critical severity medium confidence

Data Sources

Network Device: Network Device Configuration Network Traffic: Network Traffic Content Cisco IOS Syslog CEF/CommonSecurityLog from Cisco devices

Required Tables

Syslog CommonSecurityLog

False Positives

  • Legitimate ROMMON upgrades performed by network engineering teams during planned maintenance windows — correlate against change management tickets
  • Authorized IOS image upgrades via TFTP during software lifecycle management cycles that log BOOT variable changes
  • Network device password recovery procedures using confreg 0x2142 performed by authorized administrators
  • Automated configuration management platforms (Cisco DNA Center, RANCID, Oxidized) that perform TFTP-based image pushes as part of normal operations

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections