MKBRUTUS

Password bruteforcer for MikroTik devices or boxes running RouterOS

Download as .zip Download as .tar.gz View on GitHub

AUTHORS:

Ramiro Caire - email: ramiro.caire@gmail.com / Twitter: @rcaire
Federico Massa - email: fmassa@vanguardsec.com / Twitter: @fgmassa

https://github.com/mkbrutusproject/mkbrutus

MOTIVATION & SCENARIO

Mikrotik brand devices (www.mikrotik.com), which runs the RouterOS operative system, are worldwide known and popular with a high networking market penetration. Many companies choose them as they are a great combination of low-cost and good performance. RouterOS can be also installed on other devices such as PC.

This system can be managed by the following ways:

Many network sysadmins choose to close Telnet, SSH and HTTP ports, leaving the Winbox port open for graphical management or to another client (developed by third parties) which uses the RouterOS API port, such as applications for Android (managing routers and Hotspots) or web front-ends. At this point, MKBRUTUS comes into play ;)

Both, Winbox and API ports uses a RouterOS proprietary protocol to "talk" with management clients.

It is possible that in the midst of a pentesting project, you can find the ports 8291/TCP (Winbox) and 8728/TCP (API) open and here we have a new attack vector.

Because the port 8291/TCP is only possible to authenticate using the Winbox tool (at least by now ;), we realized the need of develop a tool to perform dictionary-based attacks over the API port (8728/TCP), in order to allow the pentester to have another option to try to gain access.

DICTIONARY-BASED ATTACK

MKBRUTUS is a tool developed in Python 3 that performs bruteforce attacks (dictionary-based) systems against RouterOS (ver. 3.x or newer) which have the 8728/TCP port open. Currently has all the basic features of a tool to make dictionary-based attacks, but in the future we plan to incorporate other options. There are many sites from where you can download wordlists, here are some:
http://wiki.skullsecurity.org/Passwords
http://wordlist.sourceforge.net/

SCREENSHOTS

MKBRUTUS options MKBRUTUS options

MKBRUTUS performing an attack! MKBRUTUS performing an attack !

INSTALLATION

The project is available here in GitHub, and you can install just by typing:

# git clone https://github.com/mkbrutusproject/MKBRUTUS.git

It is necessary to have Python 3.x installed in order to run this tool. It was successfully tested in KALI LINUX, previous Py3 installation (apt-get install python3).

USING EXAMPLES

Testing against a box at 192.168.1.1 using dictionary rockyou.txt
$ python3 mkbrutus.py -t 192.168.1.1 -d rockyou.txt -u admin

Testing against a box at 192.168.1.1 using dictionary rockyou.txt but the API port is running in other port
$ python3 mkbrutus.py -t 192.168.1.1 -d rockyou.txt -u admin -p 8787

DISCLAIMER:

This tool is intended only for testing Mikrotik devices security in ethical pentest or audits process. The authors are not responsible for any damages you use this tool.