Releases: mrhenrike/MikrotikAPI-BF
v1.16
📦 v1.16 - Abril de 2025
🧠 Novidades e Funcionalidades
-
Compatibilidade ampliada com Python 3.12+:
- Implementada verificação automática de versão mínima e máxima suportada (
>=3.8e<3.13). - Exibe aviso para versões não testadas (ex: Python 3.13+), com opção de continuar mesmo assim.
- Implementada verificação automática de versão mínima e máxima suportada (
-
Suporte completo a verificação de serviços (validação pós-login):
- Adicionados testes dinâmicos para:
FTPSSHTELNETREST-API(HTTP ou HTTPS)
- Verificações feitas apenas se as respectivas portas estiverem abertas no alvo.
- Adicionados testes dinâmicos para:
-
Novo resumo final de serviços (
SERVICE SUMMARY):- Exibe status de teste por serviço (
OK,ERROR,NOT TESTED) - Mostra as portas reais testadas e se foram válidas ou não
- Consolida os resultados ao final do script com contagem total por categoria
- Exibe status de teste por serviço (
-
Melhoria no tratamento de wordlists e credenciais:
- Correções na renderização de campos com largura dinâmica na tabela final
- Tratamento adequado de wordlists duplicadas
-
Organização e UX CLI refinados:
argparseagora exibe valores padrão nas descrições- Melhor explicação sobre cada flag de uso
- Argumento
--validateagora aceitaftp,ssh,telnetcom ou sem definição de porta (ftp=2121)
🐛 Correções de Bugs
- Corrigido erro de renderização com f-strings para colunas
USERNAMEePASSWORD - Corrigido erro de execução no Linux onde
telnetlibfoi removido no Python 3.13+ - Corrigido erro de digitação em
restapiquando--sslestá ativado sem a porta 443 acessível - Corrigido crash na renderização de tabela final quando algum serviço estava com status
None
⚠️ Notas Importantes
- Python 3.13+ não é oficialmente suportado devido à remoção de bibliotecas padrão (ex:
telnetlib) - Recomendado uso de Python 3.12.x
- Scripts de instalação automática foram incluídos:
install-python-3.12.sh(Linux)install-python-3.12.ps1(Windows)
- Scripts de instalação automática foram incluídos:
🧪 Testado em
- ✅ Kali Linux (Python 3.12 via script)
- ✅ Windows 11 (PowerShell + Python 3.12 via instalador oficial)
- ✅ ParrotSec OS
- ✅ Ubuntu Desktop 22.04+
v1.15
🚀 v1.15 — "Kill-Switch + Service Summary Edition"
Release date: [inserir data]
Focus: Robustez de execução, checagem de portas e relatório final
🧱 Core Changes
✅ Verificação automática de portas antes do ataque (HTTP, API, REST, SSL)
💣 Kill-switch: se API ou HTTP estiverem fechadas, o script aborta imediatamente
🔒 Serviços com porta fechada são ignorados (sem perda de tempo testando o que está offline)
✨ New Features
🔎 Nova função check_service_ports() com status de cada serviço
🔁 Serviços ftp, ssh, telnet, rest-api testados somente se estiverem abertos
🧪 Porta de cada serviço agora dinâmica por parâmetro, com valores default corretamente documentados
💬 Log Refinement
-v exibe: succ, info, warn, fail, skip
-vv exibe tudo: debug, error, fail, succ, info, warn, skip
🧼 Other Improvements
📦 Reorganização dos argumentos CLI (argparse) com novos help texts
📚 Novos exemplos de uso incluídos no help menu
💡 Mensagens de log agora informam explicitamente se determinado serviço foi "SKIPPED"
v1.12
✅ v1.12 — "REST Awakens"
Release date: [inserir data]
Focus: Integração REST-API e validação de serviços adicionais
✨ New Features
✅ Suporte completo a REST-API via HTTP e HTTPS (--ssl)
🌐 Flag --ssl-port para definir porta customizada do REST-API via HTTPS
🔍 Adicionado suporte à biblioteca requests com HTTPBasicAuth para testar /rest/system/identity
🔐 Bypass automático de validação de certificado TLS inválido (com verify=False)
🧠 Melhorias nas mensagens de erro para identificar quando uma conta REST precisa também da permissão "api"
🛠️ Improvements
🔁 Verificação REST-API mesmo se API tradicional falhar
🧼 Logs mais limpos e inteligentes (verbose somente quando habilitado)
📜 Checagem refinada de usuários com permissão parcial
🧪 Estrutura de testes REST extraída para função isolada test_restapi_login()
v1.11
Full Changelog: v1.9...v1.11
v1.10
📦 MikrotikAPI-BF – Release Notes v1.10
📅 Data de lançamento
11 de abril de 2025
✨ Novidades e Funcionalidades
✅ Validação de serviços após brute-force
Agora, após o sucesso no login via API, é possível validar se as mesmas credenciais funcionam em outros serviços da RouterOS (inicialmente: ftp).
🔗 Flag --validate com suporte a múltiplos serviços
Nova flag para ativar validações complementares:
Sintaxe simples: --validate ftp
Sintaxe com porta customizada: --validate ftp=1021,ssh=2222
🧠 Deduplificação real de credenciais
Agora as credenciais válidas são armazenadas como dicionários com chaves únicas, evitando repetições mesmo em execuções paralelas.
📊 Tabela de saída expandida com coluna SERVICES
Mostra quais serviços além da API foram autenticados com a mesma credencial.
🪵 Sistema de logs com níveis configuráveis
-v ativa logs FAIL e WARN
-vv ativa logs DEBUG e ERROR
Todos os logs agora são coloridos via colorama para melhor leitura.
🚀 Novo banner centralizado via _log.py
O banner ASCII da ferramenta agora é chamado diretamente de Log.banner() e impresso no início da execução, resolvendo problemas de renderização em sistemas limitados.
🧪 Debug dos testes de login via -vv
Para cada tentativa de login (API ou serviço externo), o modo -vv agora mostra qual user:pass está sendo testado, além do motivo do erro quando falhar.
🧱 Refatorações Técnicas
Remoção de prints soltos no fluxo principal.
Padronização do uso de ThreadPoolExecutor para controle de workers.
Função de parsing de --validate com fallback para portas default.
Função Log.debug() adicionada e integrada com os novos testes pós-login.
v1.9
🚀 Versão 1.9
Resumo: Início do suporte à validação de serviços além da API Mikrotik.
✅ Novidades:
Novo parâmetro --validate ftp,... para validação de serviços pós-ataque.
Primeiro serviço suportado: FTP.
Validações de serviço ocorrem após o brute-force, testando apenas credenciais com sucesso.
Nova coluna na tabela final: SERVICES, indicando onde a credencial é válida (ex: api, ftp).
🧠 Técnicas implementadas:
Teste de conexão via ftplib.FTP() no IP de destino com usuário e senha validados.
Timeouts curtos para evitar travamentos na validação.
Exibição limpa da tabela com dinamismo de tamanho nas colunas USERNAME, PASSWORD e SERVICES.
v1.8
🛠 Versão 1.8
Data: (conforme seus testes no histórico recente)
Resumo: Estabilização da ferramenta, controle de threads e melhorias de output.
✅ Novidades:
Remoção de duplicatas entre threads paralelas (uso de index_lock e get_next_combo()).
Tabela final de credenciais expostas com colunas alinhadas dinamicamente (USERNAME, PASSWORD).
Mensagens de log organizadas por nível ([SUCC], [FAIL], [INFO], [WARN], [DEBB]).
Adição de flags de controle de verbosidade:
-v / --verbose: ativa FAIL e WARN.
-vv / --verbose-all: ativa DEBB e ERRO.
Threads limitadas: mínimo 2, máximo 15.
♻️ Melhorias:
Removido (success) e (failed) do final das linhas de teste.
Consolidação dos logs centralizada no _log.py, tirando redundância do script principal.
Manuseio robusto de wordlists e arquivos combo (user:pass).
v1.5
💥 v1.5 — Modos de Ataque e Layout CLI Refinado
🎛️ Introduzidas opções:
-U / --user → username único
-P / --passw → password único
-u / -p / -d → leitura de wordlist individual ou combinada (user:pass)
📌 Correções no argparse para evitar conflitos entre parâmetros.
🔁 Lógica de execução refinada para evitar repetição inútil de testes.
📈 Inclusão de progressos no terminal com contagem de tentativas.
🧪 A base para --validate começou a ser estudada, mas ainda não estava presente.
v1.4
🚀 v1.4 — Threading & Logs com Timestamp
⚙️ Adicionado suporte a execução paralela com ThreadPoolExecutor.
📊 Logs agora incluem timestamps no formato [HH:MM:SS].
🎨 Começo da padronização de logs com cores (colorama).
⌛ Adicionada opção de delay entre tentativas (-s, --seconds).
🔐 Melhorada a deduplicação de combos na wordlist.
📎 Correções de parsing para wordlists inválidas.
v1.3
📦 v1.3 — CLI Improvements & Structure Fix
🧱 Refatoração da estrutura principal do script.
🧾 Implementado argparse para melhorar o manuseio dos parâmetros via terminal.
📂 Suporte a wordlists básicas (usuário fixo + senhas, ou vice-versa).
❌ Ainda não havia suporte a threads ou validação de serviços.
🐞 Log rudimentar sem padronização ou controle de verbosidade.