We opened a RouterOS 7.24.5 .npk file — 20 megabytes of compressed data containing a complete operating system: 80 processes, 14 libraries, 28 root CA certificates, 9 modular packages, 260 Linux 5.6.3 kernel modules, a full JavaScript web interface with its own Curve25519 implementation, and a database of 79 apps for traffic classification. It is not a "firmware update": it is RouterOS in its entirety, public, inspectable, and modifiable by anyone with access to the file.
There is a notion circulating among network administrators: “RouterOS is a closed, proprietary system, impossible to understand.” That is not true. RouterOS is a Linux system running on a SquashFS filesystem, with binaries compiled in C++, standard shared object libraries, and a perfectly documented 5.6.3 kernel. MikroTik did not reinvent the wheel: they built RouterOS on top of open-source building blocks, adding their proprietary layer — the IPC system, the configuration interface, and the management protocols.
The first step to dismantling this notion is to open a firmware and look inside. And that is exactly what we do in this episode.
Reserved for members
This content is reserved for those in the dojo.
Entry is free: you subscribe to the newsletter with your email and then choose to join the dojo, without a password. How it works