ROMMONkit (T1542.004) is a Stealth and Persistence technique for network devices. The adversary loads unauthorized firmware with their own code into the ROM Monitor (ROMMON), giving persistent access and control over device behavior in a way that is hard to detect.
How attackers use it
ROMMON is Cisco network device firmware that acts as a boot loader, boot image or boot helper to initialize hardware and software when the platform powers on or resets. MITRE says that, similar to TFTP Boot, an adversary may upgrade the ROMMON image locally or remotely, for example through TFTP, with adversary code, and restart the device so that it overwrites the existing ROMMON image. The new image then runs every time the device starts.
How to detect it
MITRE's analytic points to anomalous ROMMON image changes or upgrades, unexpected reboots after firmware updates, and unauthorized use of firmware upgrade commands or TFTP transfers. Correlating configuration changes, privilege escalation and boot cycle anomalies gives visibility into tampering attempts.
Feed device logs and AAA records to a central system so a firmware change always appears next to who made it and from where.
How to reduce the risk
MITRE lists three mitigations:
- Boot Integrity: enable secure boot features that validate the digital signature of the boot environment and system image with a special purpose hardware device. If the check fails, the device does not boot, which stops unauthorized software loading.
- Audit: check the integrity of the system image periodically to confirm it has not been modified.
- Network Intrusion Prevention: use network signatures to spot traffic for specific protocols, such as TFTP, and so mitigate activity at the network level.
Check your own environment
On Cisco IOS devices, the read only show version command reports software information, and the verify command can compute a file hash to compare with the vendor's published value (use the form your platform documents):
show version
verify /md5 flash:image-name.bin
Also check:
- Is secure boot enabled on every platform that supports it?
- Is TFTP blocked at the management network edge?
- Is every firmware change tied to a change ticket?
Quick check
What makes a ROMMON implant persistent?
ROMMON is the firmware that runs when the device starts, so a replaced image runs on every power up or reset.