Auditando routers corriendo RouterOS de MikroTik

Si en un pentest detectas 8291/TCP (Winbox) y 8728/TCP (API) en un router MikroTik con RouterOS, puedes evaluar contraseñas del servicio de API usando MKBRUTUS, una herramienta en Python 3 que realiza ataques por diccionario específicamente contra el puerto 8728/TCP para intentar obtener acceso.

Este contenido resume, sin adornos, el enfoque descrito en la fuente original: qué puertos mirar, qué herramienta usar y cómo instalarla. Si buscas pasos mínimos y verídicos, debes seguir lo aquí condensado.

Puertos 8291/TCP (Winbox) y 8728/TCP (API)

Durante un proyecto de Pentesting, es común encontrar 8291/TCP y 8728/TCP expuestos. Estos puertos revelan un vector de ataque específico en dispositivos que ejecutan RouterOS.

El 8291/TCP está asociado a Winbox. En el artículo se indica que la autenticación en 8291/TCP sólo es posible mediante la herramienta Winbox.

Como alternativa práctica, surge atacar el 8728/TCP (API) con un enfoque de diccionario para intentar credenciales válidas y avanzar en la auditoría.

La idea del vector nace porque en 8291/TCP sólo se puede autenticar vía Winbox; por ello se propone atacar el 8728/TCP (API) con un diccionario.

 

Concepto Aplicación
8291/TCP (Winbox) Autenticación sólo mediante Winbox; indicador de RouterOS.
8728/TCP (API) Superficie para ataques por diccionario con MKBRUTUS.
Diccionario de contraseñas Lista a probar para intentar acceso en 8728/TCP.
Python 3.x Requisito para ejecutar la herramienta MKBRUTUS.
Kali Linux Entorno donde fue probado exitosamente tras instalar Python 3.

 

MKBRUTUS: ataque basado en diccionario

MKBRUTUS es una herramienta desarrollada en Python 3 para efectuar ataques de fuerza bruta (basados en diccionarios) contra sistemas RouterOS con el puerto 8728/TCP abierto.

En su versión descrita, ofrece funcionalidades básicas típicas de herramientas de diccionario, con planes futuros de incorporar opciones adicionales.

MKBrutus_0
La interfaz y opciones presentadas están alineadas al objetivo: probar combinaciones del diccionario contra el servicio de API expuesto.

Algunos screenshots

Opciones de uso:

MKBrutus_2
Ataque exitoso:

MKBrutus_1

Instalación

El proyecto está disponible en GitHub y se descarga ejecutando el siguiente comando:

Es necesario contar con Python 3.x instalado. En Kali Linux fue probado exitosamente tras instalar Python 3 (por ejemplo, con apt-get install python3).

Con el entorno listo, el uso se centra en apuntar a 8728/TCP y proporcionar un diccionario para la prueba de credenciales, tal como se ilustra en las capturas.

Metodología paso a paso

  1. Identificar los puertos: Confirmar exposición de 8291/TCP (Winbox) y 8728/TCP (API).
  2. Clonar el proyecto: Obtener MKBRUTUS desde su repositorio de GitHub.
  3. Verificar dependencias: Contar con Python 3.x instalado en el sistema.
  4. Ejecutar el ataque por diccionario: Apuntar al 8728/TCP y usar un diccionario de contraseñas.
  5. Interpretar resultados: Revisar las capturas/outputs para validar un intento exitoso.

Preguntas frecuentes

¿Qué papel cumplen 8291/TCP y 8728/TCP en RouterOS?

8291/TCP corresponde a Winbox y, según la fuente, sólo permite autenticación mediante esa herramienta. 8728/TCP expone la API de RouterOS y ofrece un vector práctico para ataques por diccionario, que es precisamente el objetivo de MKBRUTUS.

¿Qué es y para qué sirve MKBRUTUS?

Es una herramienta escrita en Python 3 que realiza ataques de fuerza bruta (basados en diccionarios) contra la API de RouterOS en 8728/TCP. Su propósito es intentar descubrir credenciales cuando el servicio está expuesto.

¿Cómo se instala MKBRUTUS según la fuente?

Se obtiene desde GitHub con el comando de clonación indicado y requiere Python 3.x. El artículo confirma que en Kali Linux se probó exitosamente tras instalar Python 3.

¿Qué evidencias muestra la guía?

Incluye capturas de pantalla con las opciones de uso y un ejemplo de ataque exitoso, lo que ejemplifica el flujo de trabajo cuando 8728/TCP está abierto.

Autores y crédito

Autores: Ramiro Caire (@rcaire) y Federico Massa (@fgmassa).

Autor del artículo: Ramiro Caire para La Comunidad DragonJAR.

Conclusión

Puntos clave: 8291/TCP autentica sólo vía Winbox; 8728/TCP (API) ofrece un vector para diccionario; MKBRUTUS en Python 3 materializa ese vector y fue probado en Kali Linux. Si buscas evaluar RouterOS en un pentest, debes confirmar 8728/TCP y aplicar el flujo con MKBRUTUS desde su repositorio oficial.

Repositorio de MKBRUTUS en GitHub