← volver
CVE-2018-14847criticalbajo ataqueCWE-22

CVE-2018-14847

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 9.1epss 96%
de la publicación al arma0 días
Publicada en NVD2 ago
1ª PoC30 mar
metasploit2 ago
CISA KEV+1217d
probabilidad de explotación
96%top 1% de las CVE
explotación observada
CISA + VulnCheck
36 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-06-01

Apply updates per vendor instructions.

Resumen

Falha de directory traversal (CWE-22) no serviço WinBox do MikroTik RouterOS que permite a um atacante remoto não autenticado ler qualquer arquivo do sistema de arquivos do roteador — incluindo a base de usuários com credenciais administrativas. Um atacante que já possua credenciais válidas (via essa mesma leitura ou outro meio) pode escrever arquivos arbitrários, o que foi demonstrado permitir escalonamento a shell root via um usuário de desenvolvimento oculto. É explorada ativamente há anos, está no catálogo KEV da CISA e tem módulo Metasploit e múltiplos PoCs públicos — o risco é real e não teórico.

Detalle técnico

O componente vulnerável é o binário mproxy, que implementa o protocolo proprietário do WinBox (porta TCP 8291, e também via Layer 2/MAC-Server para dispositivos sem IP configurado). O protocolo trabalha com um mecanismo de sessão/índice que referencia arquivos no sistema de arquivos do RouterOS para transferir componentes da interface. Esse mecanismo não canonicaliza nem valida adequadamente o caminho solicitado pelo cliente, permitindo que sequências de travessia de diretório levem o processo a abrir e devolver arquivos fora da área esperada — um directory traversal clássico (CWE-22).

Como o WinBox aceita conexões antes de qualquer autenticação para negociar a sessão, a leitura arbitrária de arquivos não exige credencial alguma. Isso permite recuperar a base de usuários do dispositivo, expondo login e senha do administrador (em versões afetadas, o esquema de armazenamento permitia recuperação da senha em texto claro pelo atacante, como demonstram os PoCs públicos que implementam a extração diretamente).

A escrita arbitrária de arquivos, por sua vez, exige que o atacante já possua credenciais válidas — não é uma primitiva pré-autenticação. O pesquisador da Tenable (PoC "By the Way") mostrou que, usando credenciais de admin obtidas (inclusive pela própria falha de leitura), é possível escrever um pacote falso em /pckg/option e um arquivo de configuração para habilitar um usuário de desenvolvimento interno ("devel") na build do RouterOS, cujo shell é acessível via Telnet/SSH usando a senha do admin. Isso converte a falha de leitura de credenciais em um caminho completo para shell root no dispositivo.

A CVE descrita pelo NVD cobre apenas até a versão 6.42, mas os PoCs da comunidade mapeiam faixas mais amplas e específicas por branch (Longterm, Stable, Beta), que divergem ligeiramente da descrição oficial — ver seção de versões.

Cómo se explota

O vetor primário é rede: qualquer atacante com acesso TCP à porta 8291 (WinBox) do dispositivo consegue, sem autenticação, disparar a leitura de arquivos arbitrários e extrair a base de usuários, obtendo login e senha de administração. Não há necessidade de configuração não padrão — o serviço WinBox habilitado é o único pré-requisito, e em muitos ambientes ele fica exposto à internet por conveniência de gerência remota. Existe também um vetor de Camada 2 (MAC-Server) que funciona mesmo em dispositivos sem IP configurado, bastando estar na mesma rede local.

A escrita arbitrária de arquivos — usada para plantar o backdoor de desenvolvedor e obter shell root — depende de credenciais administrativas válidas, que na prática o próprio atacante acaba de obter explorando a fase de leitura não autenticada. Ou seja, na cadeia completa de ataque a exploração é efetivamente não autenticada de ponta a ponta: lê a senha, depois usa a senha para escrever e escalar.

A exploração é trivial de automatizar (existem PoCs em Python e C++ funcionais publicamente, e módulo Metasploit) e é amplamente usada por botnets e campanhas de comprometimento de roteadores MikroTik desde 2018. A presença no catálogo KEV da CISA confirma exploração ativa continuada no mundo real, não apenas prova de conceito acadêmica.

Versiones

Afectadas
Segundo o NVD/descrição oficial: RouterOS até a versão 6.42 (inclusive). Segundo os PoCs da comunidade (BasuCert/WinboxPoC, BigNerd95/WinboxExploit), a janela vulnerável é mais granular por branch: Longterm 6.30.1–6.40.7, Stable 6.29–6.42, Beta 6.29rc1–6.43rc3, com a falha presente desde 2015-05-28 até a correção em 2018-04-20.
Corregidas en
O MikroTik corrigiu a falha em abril de 2018 (patch anterior à publicação formal da CVE em agosto de 2018). Os PoCs indicam que as versões imediatamente posteriores aos limites vulneráveis por branch (após 6.40.7 no Longterm, após 6.42 no Stable, após 6.43rc3 no Beta) já contêm a correção; para o número exato de build corrigido por branch, consultar o advisory oficial do fornecedor.

Cómo protegerse

A mitigação definitiva é atualizar o RouterOS para uma versão corrigida — o MikroTik lançou correção em abril de 2018. Consulte o advisory oficial do fornecedor (blog.mikrotik.com/security/winbox-vulnerability.html e mikrotik.com/supportsec/winbox-vulnerability) para a versão exata recomendada para o seu branch (Longterm, Stable ou Beta), já que as versões afetadas variam por branch e a descrição do NVD ("through 6.42") simplifica isso.

Se a atualização imediata não for viável, os paliativos reais são: desabilitar o serviço WinBox se não for usado (/ip service disable winbox); restringir o serviço a endereços IP de gerência confiáveis (/ip service set winbox address=); bloquear a porta 8291 no firewall de borda para tráfego originado da WAN; e restringir o MAC-Server WinBox a interfaces específicas (/tool mac-server mac-winbox), já que o vetor de Camada 2 contorna bloqueios de IP.

Não funciona como mitigação apenas trocar a senha do administrador sem corrigir ou isolar o serviço — como o ataque começa justamente pela leitura não autenticada da credencial, uma senha nova continua exposta pelo mesmo caminho. Expor WinBox diretamente à internet, mesmo com senha forte, permanece de alto risco em versões vulneráveis.

Cómo detectar

No lado do dispositivo, buscar por acessos anômalos ao serviço WinBox (porta TCP 8291) originados de IPs externos ou não pertencentes à faixa de gerência esperada — especialmente conexões seguidas por autenticações bem-sucedidas com credenciais que não deveriam estar em uso remoto. A criação inesperada de pacotes em /pckg (como um pacote chamado "option") ou arquivos em /flash/nova/etc/devel-login, e logins subsequentes via Telnet/SSH usando o usuário "devel", são indicadores fortes de exploração da cadeia completa de leitura+escrita.

Não há um padrão de log HTTP ou assinatura simples de payload, porque o protocolo WinBox é binário e proprietário — ferramentas de IDS/IPS com decodificação específica do protocolo M2/WinBox são necessárias para detectar as requisições de travessia de diretório com confiabilidade; sem isso, a ausência de sinal não significa ausência de exploração.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
MikroTik RouterOS through 6.42 allows unauthenticated remote attackers to read arbitrary files and remote authenticated attackers to write arbitrary files due to a directory traversal vulnerability in the WinBox interface.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Productos afectados
n/a · n/a
PoCs públicas encontradas36
exploitdbwww.exploit-db.com/exploits/45578no verificadogithubgithub.com/BasuCert/WinboxPoC519githubgithub.com/hacker30468/Mikrotik-router-hack55githubgithub.com/jas502n/CVE-2018-1484730githubgithub.com/sinichi449/Python-MikrotikLoginExploit21githubgithub.com/syrex1013/MikroRoot15githubgithub.com/msterusky/WinboxExploit7githubgithub.com/K3ysTr0K3R/CVE-2018-14847-EXPLOIT6githubgithub.com/mahmoodsabir/mikrotik-beast6githubgithub.com/babyshen/routeros-CVE-2018-14847-bytheway4githubgithub.com/yukar1z0e/CVE-2018-148471githubgithub.com/Tr33-He11/winboxPOC1githubgithub.com/tausifzaman/CVE-2018-148471githubgithub.com/mourafuseti/VULNERAVEL-CVE-2018-14847---CREDENCIAIS-EXTRAIDAS1githubgithub.com/TheMalwareGuardian/CVE-2018-148470vulncheckvulncheck.com/xdb/8317dffde425no verificadovulncheckvulncheck.com/xdb/73631394b47ano verificadovulncheckvulncheck.com/xdb/128e7317908ano verificadovulncheckvulncheck.com/xdb/5ae17ea456ebno verificadovulncheckvulncheck.com/xdb/50f4e94eddfdno verificadovulncheckvulncheck.com/xdb/81478e4d3f7cno verificadovulncheckvulncheck.com/xdb/792af1f0da8fno verificadovulncheckvulncheck.com/xdb/b611d9ebb286no verificadovulncheckvulncheck.com/xdb/6083a1b3aeebno verificadovulncheckvulncheck.com/xdb/3a5dba2e76adno verificadovulncheckvulncheck.com/xdb/3d8ffb2a755ano verificadovulncheckvulncheck.com/xdb/02375d13c888no verificadovulncheckvulncheck.com/xdb/0d4b0748eff2no verificadovulncheckvulncheck.com/xdb/c2186194a7aeno verificadocve_referencewww.exploit-db.com/exploits/45578/no verificadovulncheckvulncheck.com/xdb/ca877293c1a3no verificadovulncheckvulncheck.com/xdb/572a58ec0205no verificadovulncheckvulncheck.com/xdb/64a0a764b901no verificadovulncheckvulncheck.com/xdb/c9e4be4e4345no verificadovulncheckvulncheck.com/xdb/895d08413809no verificadovulncheckvulncheck.com/xdb/6e85f1153945no verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.